import telebot
from telebot import types
import random
import logging
# Настройка логирования
logging.basicConfig(level=logging.INFO)
bot = telebot.TeleBot('8151250128:AAFxfPv5KXgEMTJLwztXmYDcy99pPbsaSl8')
# КНОПКИ КЛАВИАТУРЫ
mm = types.ReplyKeyboardMarkup(row_width=4, resize_keyboard=True)
but3 = types.KeyboardButton("?")
mm.add(but3)
# Список вопросов и вариантов ответов
questions = [
{
"question": "Какой ваш любимый автомобиль?",
"answers": ["Машина A", "Машина B", "Машина C", "Не знаю"],
"correct_answer": "Машина A"
},
{
"question": "Какой цвет автомобиля вам нравится?",
"answers": ["Красный", "Синий", "Черный", "Белый"],
"correct_answer": "Красный"
},
{
"question": "Какой у вас опыт вождения?",
"answers": ["Менее года", "1-3 года", "3-5 лет", "Более 5 лет"],
"correct_answer": "Более 5 лет"
},
{
"question": "Какой автомобиль вы мечтаете купить?",
"answers": ["Спорткар", "Седан", "Внедорожник", "Электромобиль"],
"correct_answer": "Спорткар"
},
{
"question": "Какую марку автомобиля вы предпочитаете?",
"answers": ["Toyota", "BMW", "Mercedes", "Другую"],
"correct_answer": "Toyota"
},
]
@bot.message_handler(commands=['start'])
def start(message):
bot.send_message(message.chat.id, "Привет, я могу найти интересующие вас запчасти.\n\nНапиши мне артикул товара, а я скажу, есть ли он на складах, цену и срок доставки в точку продажи.\n\nЕсли остались вопросы, введи /help", reply_markup=mm)
@bot.message_handler(content_types=['text'])
def handler(message):
if message.text == "?":
question_data = random.choice(questions)
question = question_data["question"]
answers = question_data["answers"]
correct_answer = question_data["correct_answer"]
keyboard = types.InlineKeyboardMarkup()
for answer in answers:
keyboard.add(types.InlineKeyboardButton(text=answer, callback_data=answer + "|" + correct_answer))
bot.send_message(message.chat.id, question, reply_markup=keyboard)
@bot.callback_query_handler(func=lambda call: True)
def handle_query(call):
bot.answer_callback_query(call.id)
selected_answer, correct_answer = call.data.split("|")
if selected_answer == correct_answer:
bot.send_message(call.message.chat.id, "Правильный выбор!")
else:
bot.send_message(call.message.chat.id, "Неправильный выбор. Попробуйте еще раз!")
# Запуск бота
if __name__ == "__main__":
bot.polling(none_stop=True)
ты в конце запуск бота не написал вот в чем проблема
НАДЕЮСЬ ПОМОГ !!!
import telebot
from telebot import types
import random
import logging
# Настройка логирования
logging.basicConfig(level=logging.INFO)
bot = telebot.TeleBot('8151250128:AAFxfPv5KXgEMTJLwztXmYDcy99pPbsaSl8')
# КНОПКИ КЛАВИАТУРЫ
mm = types.ReplyKeyboardMarkup(row_width=4, resize_keyboard=True)
but3 = types.KeyboardButton("?")
mm.add(but3)
# Список вопросов и вариантов ответов
questions = [
{
"question": "Какой ваш любимый автомобиль?",
"answers": ["Машина A", "Машина B", "Машина C", "Не знаю"],
"correct_answer": "Машина A"
},
{
"question": "Какой цвет автомобиля вам нравится?",
"answers": ["Красный", "Синий", "Черный", "Белый"],
"correct_answer": "Красный"
},
{
"question": "Какой у вас опыт вождения?",
"answers": ["Менее года", "1-3 года", "3-5 лет", "Более 5 лет"],
"correct_answer": "Более 5 лет"
},
{
"question": "Какой автомобиль вы мечтаете купить?",
"answers": ["Спорткар", "Седан", "Внедорожник", "Электромобиль"],
"correct_answer": "Спорткар"
},
{
"question": "Какую марку автомобиля вы предпочитаете?",
"answers": ["Toyota", "BMW", "Mercedes", "Другую"],
"correct_answer": "Toyota"
},
]
@bot.message_handler(commands=['start'])
def start(message):
bot.send_message(message.chat.id, "Привет, я могу найти интересующие вас запчасти.\n\nНапиши мне артикул товара, а я скажу, есть ли он на складах, цену и срок доставки в точку продажи.\n\nЕсли остались вопросы, введи /help", reply_markup=mm)
@bot.message_handler(content_types=['text'])
def handler(message):
if message.text == "?":
question_data = random.choice(questions)
question = question_data["question"]
answers = question_data["answers"]
correct_answer = question_data["correct_answer"]
keyboard = types.InlineKeyboardMarkup()
for answer in answers:
keyboard.add(types.InlineKeyboardButton(text=answer, callback_data=answer + "|" + correct_answer))
bot.send_message(message.chat.id, question, reply_markup=keyboard)
@bot.callback_query_handler(func=lambda call: True)
def handle_query(call):
bot.answer_callback_query(call.id)
selected_answer, correct_answer = call.data.split("|")
if selected_answer == correct_answer:
bot.send_message(call.message.chat.id, "Правильный выбор!")
else:
bot.send_message(call.message.chat.id, "Неправильный выбор. Попробуйте еще раз!")