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()) Код 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()) ? Памагите
Ты забыл написать в корутинах, state: FSMContext async def show_catalog(message: Message, state: FSMContext): async def myso(message:Message,state:FSMContext):
Во первых, ты загрузил код говна, но я думаю ты только учишься, короче пофиксил я твой код. https://gist.github.com/mollyydev/5891cd8f1ee4c381ba3fc4b66ad59ad1 И на будущее - НИКОГДА не выкладывай токен бота в открытый доступ, аккаунт улетит быстро. Сейчас зайди в BotFather и измени токен, пока не поздно.