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

Не понимаю почему с плагином Telebot, бот при нажатие кнопки Stats не пишет статы которые написаны в коде?

@bot.message_handler(content_types=['text'])
def buttonforpers(message):
     if message.text == 'Invoker':
         markup = types.ReplyKeyboardMarkup(row_width=2, resize_keyboard=True)
         btn10 = types.KeyboardButton('Stats')
         btn11 = types.KeyboardButton('Skins')
         markup.row(btn11,btn10)
         btn12 = types.KeyboardButton('Bild')
         markup.row(btn12)
         bot.send_message(message.chat.id, """\tInvoker
Магия в своей самой ранней, даже можно сказать, самой мощной форме, всегда являлась в основном искусством памяти.
""", reply_markup=markup)
         if message.text == 'Stats':
             bot.send_message(message.text.id,'1 б 34')
  • Вопрос задан
  • 42 просмотра
Подписаться 1 Средний 3 комментария
Пригласить эксперта
Ответы на вопрос 1
RimMirK
@RimMirK
Вроде человек. Вроде учусь. Вроде пайтону
@bot.message_handler(content_types=['text'])
def buttonforpers(message):

что тут у нас? Обработчик Всех входящих Текстовых сообщений.
И функция которая принимает от обработчика то самое текстовое сообщение. Окей. Опусаемся ниже.
if message.text == 'Stats':

Конечно же фолз.

Тебе нужны отдельные обработчики для комманд/кнопок.
# принимает комманды /command1 и /command2
@bot.message_handler(commands=["command1", "command2"])

# принимает текст qwe
@bot.message_handler(func=lambda m: m.text=='qwe')

# принимает то что начинается на +
@bot.message_handler(func=lambda m: m.text.startswith('+'))


НО не забывай про порядок. От более конкретного, до менее.
https://qna.habr.com/user/RimMirK/answers?page=2#a...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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