@Bananya

Python telegram Bot — keyboard?

При написание бота. Появляется проблема с клавиатурой Reply. При запуске в cmd, ошибок не появляется, но при отправке боту команды /start. Отправляется приветственное сообщение, но клавиатура не появляется.

import telebot
import vsd #token
from telebot import types

bot = telebot.TeleBot(vsd.TOKEN)

@bot.message_handler(commands=['start'])
def privet (message):
bot.send_message (message.chat.id, 'HI, WHAT YOU NEED?')#.format (message.from_user, bot.get_me()),
#reply_markup = markup)

#клавиатура

def reply (message):
markup = types.ReplyKeyboardMarkup (resize_keyboard = True)
button_1 = types.KeyboardButton ('ZAPOMNI')
button_2 = types.KeyboardButton ('NAPOMNI')
button_3 = types.KeyboardButton ('IZMENI')

markup.add (button_1, button_2, button_3)

def button (message):
bot.send_message (message.chat.id, 'I can remember, change and delete your assignments. What will you choose', reply_markup = markup)


bot.polling (none_stop = True)
  • Вопрос задан
  • 469 просмотров
Пригласить эксперта
Ответы на вопрос 2
@fedosssss
код тяжело читать. но могу сказать, что у тебя таблированная строка отправки сообщения, и у тебя при вызове клавиатуры стоит комментарий (#). до сих пор не понимаю, почему не выводит ошибку, ведь скобка закрытия передачи аргументов в методе отсутствует.
Ответ написан
Комментировать
Fallervood
@Fallervood
Функция, которая содержит клавиатуру, должна возвращать markup, а так же не надо передавать аргумент сообщения
def reply ():
markup = types.ReplyKeyboardMarkup (resize_keyboard = True)
button_1 = types.KeyboardButton ('ZAPOMNI')
button_2 = types.KeyboardButton ('NAPOMNI')
button_3 = types.KeyboardButton ('IZMENI')

markup.add (button_1, button_2, button_3)
return markup
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы