Здравствуйте, только начинаю свой путь в программировании, пытаюсь написать telegram bot с клавиатурой. Бот запускается, но при отправке команды, на которую он должен выдать клавиатуру выходят ошибки:
pydantic_core._pydantic_core.ValidationError: 4 validation errors for SendMessage
reply_markup.InlineKeyboardMarkup
Input should be a valid dictionary or instance of InlineKeyboardMarkup [type=model_type, input_value=, input_type=function
Код клавиатуры
general = [
[KeyboardButton(text="Заказать консультацию"), KeyboardButton(text="Контакт для связи")],
[KeyboardButton(text="Обо мне"), KeyboardButton(text="зачем это?")]]
При этом в главном файле вызывается reply_markup=kb.general , при том, что клавиатуры импортируются as kb.
второй вариант
def main_kb():
general = [
[KeyboardButton(text="Заказать консультацию"), KeyboardButton(text="Контакт для связи")],
[KeyboardButton(text="Обо мне"), KeyboardButton(text="зачем это?")]
]
keyboard = ReplyKeyboardMarkup(keyboard=general, resize_keyboard=True, one_time_keyboard=True)
return keyboard
В главном файле вызов reply_keyboard=kb.main_kb , при том, что клавиатуры опять импортируются as kb.
Помогите, пожалуйста. Я погряз в документации на Pydantic но разобраться не могу
Вот на всякий случай ещё код хендлера
router.message(Command("start"))
async def cmd_start(message: types.Message):
await message.answer("какой-то текст", reply_markup=general)
или
router.message(Command("start"))
async def cmd_start(message: types.Message):
await message.answer("какой-то текст", reply_markup=kb.main_kb)