Задать вопрос
@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()
  • Вопрос задан
  • 279 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@Astraithios Автор вопроса
Вопрос решен, ответ:

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

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

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

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

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