AttributeError: 'CallbackQuery' object has no attribute 'text'- на 27 строке, а так же он жалуется на bot.polling()- SyntaxError: invalid syntax
import telebot
from telebot import types
bot = telebot.TeleBot('5846233100:AAEJJpDJG6XTrlDxUBfh-cBHqf7S6hhAPvU')
@bot.message_handler(commands=['start'])
def get_user_info(message):
markup_inline = types.InlineKeyboardMarkup()
item_yes = types.InlineKeyboardButton(text = 'Начинаем!', callback_data = 'yes')
markup_inline.add(item_yes)
msg = bot.send_message(message.chat.id, 'Привет, я рад приветствовать тебя в этом боте, здесь ты можешь потренироваться в сдаче диф зачета. Желаешь начать?', reply_markup = markup_inline)
bot.register_next_step_handler(msg, answer)
def answer(call):
if call.data == 'yes':
markup_reply = types.ReplyKeyboardMarkup(resize_keyboard = True)
item_otvet = types.KeyboardButton('V=ST ; V=V0t-at^2/2')
item_otvet0 = types.KeyboardButton('V=S/T ; V=V0t+at')
markup_reply.add(item_otvet, item_otvet0)
msg = bot.send_message(call.message.chat.id, 'Формула скорости при равномерном и равноускоренном движении', reply_markup = markup_reply)
bot.register_next_step_handler(msg, one_question)
@bot.callback_query_handler(func = lambda call: True)
def one_question(message):
if message.text == 'V=ST ; V=V0t-at^2/2':
msg = bot.send_message(call.message.chat.id, 'Формула скорости при равномерном и равноускоренном движении')
bot.register_next_step_handler(msg, two_question)
elif message.text == 'V=S/T ; V=V0t+at':
question = types.ReplyKeyboardMarkup(resize_keyboard = True)
item_go = types.KeyboardButton('S=VT ; S=V0t-at^2/2 ; S=V^2-V0^2/2a')
item_q = types.KeyboardButton('S=VT ; S=V0t+at^2/2 ; S=V^2-V0^2/2a')
question.add(item_go, item_q)
msg = bot.send_message(message.chat.id, f'Это правильный вариант ответа! Продолжаем! Формула перемещения при равномерном и равноускоренном движении', reply_markup = question)
bot.register_next_step_handler(msg, three_question)
@bot.callback_query_handler(func = lambda call: True)
def two_question(message):
if message.text == 'S=VT ; S=V0t+at^2/2 ; S=V^2-V0^2/2a':
bot.send_message(message.chat.id, f'Это правильный вариант ответа! Продолжаем!')
elif message.text == 'S=VT ; S=V0t+at^2/2 ; S=V^2-V0^2/2a':
bot.send_message(message.chat.id, f'Не правильно. Правильный вариант ответа: V=S/T ; V=V0t+at , пропиши /start ,чтобы повторить попытку.')
@bot.callback_query_handler(func = lambda call: True)
bot.polling()
писал бота теста по физике
Источник: Stack Overflow на русском