Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Telebot python проблема, помогите пожалуйста

#Проверяет введенные данные на число

@bot.message_handler(content_types=['text'])
def verif (message):
orl = types.InlineKeyboardMarkup()
orl.add (types.InlineKeyboardButton('Подбросить монету', callback_data='sign'))
ver = message.text
if ver.isdigit():
ver = int(ver)
bot.send_message(message.chat.id, 'Спасибо за регистрацию ✅ ')
bot.send_message(message.chat.id, 'Ну что, начнем?', reply_markup=orl)
else: bot.send_message(message.chat.id, 'Вы ввели некоректный ID ⛔')


# Эта функция должна делать так, чтоб бот на нажатие кнопки в прошлой функции, выдавал рандомно, орел или решка


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

bot.polling()



Проблема в том, что он не реагирует на кнопку orl, что делать?

По дате
По рейтингу
Аватар пользователя
Мастер

Ваш код выглядит правильным на первый взгляд, но если кнопка orl не реагирует, возможно, проблема связана с обработчиком callback_query_handler. Вот несколько шагов, которые вы можете предпринять для устранения проблемы:

Убедитесь, что вы импортировали модуль random в начале вашего скрипта, так как он используется для генерации случайных чисел:

Проверьте, что у вас установлены все необходимые библиотеки и они импортированы корректно, включая telebot и types из telebot.

Убедитесь, что ваш бот активен и подключен к серверам Telegram. Иногда проблемы могут быть связаны с сетевыми ошибками или проблемами на стороне сервера.

Проверьте, что у вас нет других обработчиков, которые могут конфликтовать с callback_query_handler. Если у вас есть другие функции, которые обрабатывают callback_query, убедитесь, что они не перехватывают события, предназначенные для кнопки orl.

Попробуйте добавить логирование или print-выражения в ваш обработчик callback_query_handler, чтобы увидеть, вызывается ли он вообще при нажатии кнопки.

Если вы используете polling, убедитесь, что у вас нет других инстансов бота, запущенных одновременно, так как это может вызвать конфликты.

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