@Astraithios

Как сделать чтобы бот «ответил» на нажатие пользователя на определенный элемент в клавиатуре (telebot)?

Нужно, чтобы бот отвечал при нажатии на кнопку 'Give me a random number, please' определенное сообщение.
Трудность состоит в том, что я не знаю как сделать так, чтобы бот что-то ответил на нажатие кнопки.
Код:

import telebot
import random

keyboard1 = telebot.types.ReplyKeyboardMarkup(True, True)
keyboard1.row('Give me a random number, please')
number = random.random()

bot = telebot.TeleBot("APIKEY")

@bot.message_handler(commands=['start'])
def send_welcome(message):
    bot.send_message(message.chat.id, "Hi, this is a bot which can send u a random number \nEnjoy!", reply_markup=keyboard1)
    if message.text.lower() == ("Give me a random number, please"):
        bot.send_message(message.chat.id, number)

bot.polling()
  • Вопрос задан
  • 273 просмотра
Решения вопроса 1
@Astraithios Автор вопроса
Вопрос решен, ответ:

Условие приводит входящий текст к нижнему регистру, но проверяется с разным:

message.text.lower() == ("Give me a random number, please"):
Надо

message.text.lower() == ("give me a random number, please"):
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
solotony
@solotony
покоряю пик Балмера
надо вывести кнопку, на кнопку повесить команду, добавить обработчик этой команды.
Ответ написан
Ваш ответ на вопрос

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

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