Задать вопрос
@sunekosuri

Как убрать повторную отправку клавиатуры в aiogram?

Только начал изучать aiogram и столкнулся с тем, что при многократном введении команды /start многократно отправляется клавиатура(смотреть скриншоты).

60f59a184e18f274372574.png
60f59a52efe88103388297.png

Код клавиатуры такой:
@dp.message_handler(commands=['start',])
async def send_start(message: types.Message):
	keyboard_markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=3)
	bt1 = types.KeyboardButton(text = "Кнопка1")
	bt2 = types.KeyboardButton(text = "Кнопка2")
	keyboard_markup.add(bt1,bt2)
	await message.answer("Привет. Держи меню:",reply_markup=keyboard_markup)
  • Вопрос задан
  • 186 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
@EgorSvinarev
Инициализируй клавиатуру вне обработчика команды.
keyboard_markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=3)
bt1 = types.KeyboardButton(text = "Кнопка1")
bt2 = types.KeyboardButton(text = "Кнопка2")
keyboard_markup.add(bt1,bt2)

@dp.message_handler(commands=['start',])
async def send_start(message: types.Message):
  await message.answer("Привет. Держи меню:",reply_markup=keyboard_markup)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ну во-первых, убери запятую в
commands=['start',]
Во-вторых, наперед скажу, что row_width по умолчанию равен 3(поменяй на 2, а то не красиво).
Вроде как всё ровно. Если б я был щас за компом проверил бы ещё раз, но меня напрягает только запятая(выше) и все.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы