@eron_63
Студент

Ошибка в простом боте, получится ли решить?

Вообщем это бот опросник, тут идёт дерево вопросов, допусти идёт два ответа, как самочувствие? -> Норм, не очень и потом дальше уточнение что именно, но вот на 3 этапе возникла ошибка где уточнение с Мозг Шея, может быть я не в той функции делаю?
import telebot
import json
from telebot import types

token = '' #токен бота
bot = telebot.TeleBot(token)


@bot.message_handler(commands=['start'])
def welcome(message):
        bot.send_message(message.chat.id, 'Здравствуйте вас приветствует бот!')


@bot.message_handler(commands=['text'])
def send_text(message):
    markup = telebot.types.InlineKeyboardMarkup()
    markup.add(telebot.types.InlineKeyboardButton('Хорошо', callback_data=3))
    markup.add(telebot.types.InlineKeyboardButton('Бывало и лучше', callback_data=4))
    bot.send_message(message.chat.id, 'Как вы себя чувствуете?', reply_markup=markup)

@bot.callback_query_handler(func=lambda call: True)
def query_handler(call):

    if call.data == '3':
        answer = 'Счастливого дня!'
    elif call.data == '4':
        answer = 'Что у вас болит?'
        markup = telebot.types.InlineKeyboardMarkup()
        markup.add(telebot.types.InlineKeyboardButton('Голова', callback_data=6))
        markup.add(telebot.types.InlineKeyboardButton('Туловище', callback_data=7))
        markup.add(telebot.types.InlineKeyboardButton('Руки', callback_data=6))
        markup.add(telebot.types.InlineKeyboardButton('Ноги', callback_data=7))
        bot.send_message(call.message.chat.id, 'Что у вас болит', reply_markup=markup)
        bot.send_message(call.message.chat.id, answer)

@bot.callback_query_handler(func=lambda call1: True)
def query_handler1(call1):

    if call1.data == '6':
        answer = 'Уточните'
        markup = telebot.types.InlineKeyboardMarkup()
        markup.add(telebot.types.InlineKeyboardButton('Глаза', callback_data=8))
        markup.add(telebot.types.InlineKeyboardButton('Мозг', callback_data=9))
        markup.add(telebot.types.InlineKeyboardButton('Шея', callback_data=10))
        bot.send_message(call1.message.chat.id, 'Уточните', reply_markup=markup)
        bot.send_message(call1.message.chat.id, answer)

bot.polling()
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
@bot.callback_query_handler(func=lambda call1: True)
@bot.callback_query_handler(func=lambda call: True)

Два декоратора одинаковых. Обрабатывайте всё в одном
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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