Я понимаю, что в строке 20 возникает противоречие в отношении переменной message. Вам нужно вызвать конкретную функцию, но вы не уверены, как это сделать.

  • 23 августа 2023 г. 11:37
Ответы на вопрос 3
Правильное исправление будет использовать параметр `callback` вместо `message` в функции "callback_btn(callback)" и передавать параметр `message` из функции "callback_btn(callback)" вместо `callback.message` в функции "questions(message)". 

Переформулированный код будет выглядеть следующим образом:

```python
import telebot
from telebot import types

bot = telebot.TeleBot('Token')

@bot.message_handler(commands=['start'])
def start(message):
    markup = types.InlineKeyboardMarkup()
    btn1 = types.InlineKeyboardButton('Yes', callback_data='Ready')
    btn2 = types.InlineKeyboardButton('No', callback_data='Stop')
    markup.row(btn1, btn2)
    bot.send_message(message.chat.id, '''Hello! Do you want to find out your personality type?
Then answer a few questions. Are you ready?''', reply_markup=markup)

@bot.callback_query_handler(func=lambda callback: True)
def callback_btn(callback):
    if callback.data == 'Ready':
        questions(callback.message) # Исправленная строка
    elif callback.data == 'Stop':
        bot.send_message(callback.message.chat.id, 'Maybe another time)')

@bot.message_handler()
def questions(message):
    bot.send_message(message.chat.id, 'Do you feel comfortable in social situations?')

bot.polling(none_stop=True)
```
def questions(_id):
     bot.send_message(_id, 'Вы чувствуете себя комфортно, находясь в обществе?')Вызвать:@bot.callback_query_handler(func=lambda callback: True)
def callback_btn(callback):
    if callback.data == 'Готово':
        questions(callback.message.chat.id)
    elif callback.data == 'Стоп':
        bot.send_message(callback.message.chat.id, 'Может быть, в следующий раз)')
def questions(_id):
     bot.send_message(_id, 'Вы чувствуете себя комфортно в обществе?')Вызвать:@bot.callback_query_handler(func=lambda callback: True)
def callback_btn(callback):
    if callback.data == 'Готово':
        questions(callback.message.chat.id)
    elif callback.data == 'Остановить':
        bot.send_message(callback.message.chat.id, 'Может быть, в другой раз)')
Похожие вопросы