Top.Mail.Ru
Ответы

Разрабатываю тг бота на питоне используя библиотеку телебот, проблема, помогите

Данный код должен принимать колл после нажатия на кнопку. И отправлять пользователю либо орел либо решка рандомным образом, но при нажатии на кнопку ничего не происходит. Ранее в коде ошибок нет, и с предыдущей функцией все в порядке

По дате
По рейтингу
Аватар пользователя
Ученик

Попытался исправить твой код, вроде работает:
@bot.callback_query_handler(func=lambda call: True)
def resultatikson(call):
signal = random.randint(1, 2)
if call.data == 'signal' and signal == 1:
bot.send_message(call.message.chat.id, 'Выпадет орел')
elif call.data == 'signal' and signal == 2:
bot.send_message(call.message.chat.id, 'Выпадет решка')
else:
bot.send_message(call.message.chat.id, 'Не пришёл вызов')

bot.polling()

Аватар пользователя
Мастер

Привет)

Попробуй так:

123456789101112131415
 @bot.callback_query_handler(func=lambda call: True) 
def resultatkison(call): 
    print("Callback received")
    signal = randint(1, 2) 
    print(f"Рандомный сигнал: {signal}")
 
    if call.data == 'signal': 
        print("Корректный сигнал")
        if signal == 1: 
            bot.send_message(call.message.chat.id, 'Выпадет орел ') 
        elif signal == 2: 
            bot.send_message(call.message.chat.id, 'Выпадет решка ') 
    else: 
        bot.send_message(call.message.chat.id, 'Не пришел call') 
 
Аватар пользователя

Проверь, чтобы в call.data действительно был "signal"