Загрузка...

I write 1 bot, which is wrong with fsm aiogram

Thread in Python created by el1aron Jun 13, 2025. 194 views

  1. el1aron
    el1aron Topic starter Jun 13, 2025 93 Oct 8, 2023
    Code
    import asyncio

    import logging

    from aiogram import Bot, Dispatcher, F, types

    from aiogram.types import Message, ContentType

    from aiogram.filters.command import Command

    from aiogram import F

    from aiogram.fsm.context import FSMContext

    from aiogram.fsm.storage.memory import MemoryStorage

    from aiogram.fsm.state import StatesGroup , State

    from aiogram.types import ReplyKeyboardMarkup, KeyboardButton

    from aiogram.client.default import DefaultBotProperties

    from aiogram.enums import ParseMode

    main_menu_kb = ReplyKeyboardMarkup(

    keyboard=[

    [KeyboardButton(text="Каталог "), KeyboardButton(text="Корзина ")],

    [KeyboardButton(text="Помощь "), KeyboardButton(text="О нас ")]

    ],

    resize_keyboard=True,

    input_field_placeholder="Выберите пункт меню..."



    )

    eda = ReplyKeyboardMarkup(

    keyboard=[

    [KeyboardButton(text="мясо"), KeyboardButton(text="рыба")],



    ],

    resize_keyboard=True

    )

    storage = MemoryStorage()

    class statesone(StatesGroup):

    state1_1 = State()

    logging.basicConfig(level=logging.INFO)

    bot = Bot(token="5760064830:AAHkQtetu9zSrzvDLK5D-gqqpnZcljArru8" , default=DefaultBotProperties(parse_mode=ParseMode.HTML))

    dp = Dispatcher()

    #start

    @dp.message(Command("start"))

    async def cmd_start(message: types.Message):

    await message.answer("ну типо старт" , reply_markup=main_menu_kb)

    #событие 1

    @dp.message(F.text == "Каталог")

    async def show_catalog(message: Message):

    await message.answer("Вот наш каталог..." , reply_markup= eda)

    await state.set_state(statesone.state1_1)

    #событие 2

    @dp.message(F.text == "мясо" , statesone.state1_1)

    async def myso(message:Message):

    await message.answer("лучший выбор")

    await state.finish()

    async def main():

    await dp.start_polling(bot)

    if name == "__main__":

    asyncio.run(main())
    ?
    Памагите
     
  2. MOLUTBA
    MOLUTBA Jun 13, 2025 Здесь могла быть ваша реклама 57 Jan 25, 2021
    Ты забыл написать в корутинах, state: FSMContext
    async def show_catalog(message: Message, state: FSMContext):
    async def myso(message:Message,state:FSMContext):
     
  3. krxsn
    krxsn Jun 13, 2025 1 Nov 12, 2023
    Во первых, ты загрузил код говна, но я думаю ты только учишься, короче пофиксил я твой код.


    https://gist.github.com/mollyydev/5891cd8f1ee4c381ba3fc4b66ad59ad1

    И на будущее - НИКОГДА не выкладывай токен бота в открытый доступ, аккаунт улетит быстро.

    Сейчас зайди в BotFather и измени токен, пока не поздно.
     
Top
Loading...