Top.Mail.Ru

Создание Telegram-бота для викторин с админ-панелью на Python

Создание Telegram-бота для викторин с админ-панелью на Python

 

В условиях современного онлайн-обучения и развлечений Telegram-боты стали отличным способом взаимодействия с аудиторией. Сегодня мы расскажем, как создать собственного Telegram-бота для викторин с возможностью управления вопросами и пользователями через графическую админ-панель на Python.


Что умеет наш бот?

Наш бот представляет собой простую, но функциональную викторину:

  • Команда /quiz задаёт случайный вопрос пользователю.

  • Ответы проверяются автоматически, и бот сообщает о правильности.

  • Команда /stats показывает индивидуальную статистику.

  • Все пользователи и их активность сохраняются в базе данных.

  • Через админ-панель можно добавлять новые вопросы и просматривать статистику.


Стек технологий

  • Python 3 — основной язык.

  • telebot (pyTelegramBotAPI) — для создания Telegram-бота.

  • SQLite — встроенная база данных для хранения пользователей и вопросов.

  • Tkinter — для графического интерфейса админ-панели.

  • threading — для параллельной работы бота и GUI.


Структура проекта

1. База данных

Содержит две таблицы:

  • users — ID, имя пользователя, количество правильных и общих ответов, время последней активности.

  • questions — текст вопроса и правильный ответ.

2. Бот

  • Обрабатывает команды /start, /quiz, /stats.

  • Случайным образом выбирает вопрос из базы.

  • Хранит прогресс пользователя.

3. Админ-панель

  • Разработана на Tkinter.

  • Позволяет добавлять новые вопросы.

  • Показывает таблицу всех пользователей с возможностью обновления данных.


Преимущества

  • Полностью автономен — не требует внешних серверов.

  • Кроссплатформенность — работает на Windows, Linux и macOS.

  • Простой и расширяемый — легко добавить уровни сложности, темы, рейтинги и прочее.

  • Локальное хранение — всё в SQLite, удобно для небольших проектов.


Пример использования

  • Запуск бота:
    python bot.py
    После запуска откроется окно админ-панели и одновременно начнёт работу Telegram-бот.

  • В Telegram:
    Напишите /start боту, чтобы зарегистрироваться.
    Используйте /quiz для начала викторины.
    Посмотрите свою статистику с помощью /stats.

Не забудьте заменить TOKEN и ADMIN_ID в коде на свои реальные данные, чтобы бот работал с вашим аккаунтом.

Вы можете дополнить бота:

  • Добавлением изображений к вопросам.

  • Рейтинговой системой и таблицей лидеров.

  • Поддержкой нескольких категорий викторин.

  • Подключением к облачной базе данных.


Создание такого бота — отличный способ углубить знания Python, Telegram API и работы с базами данных. Этот проект подойдёт как новичкам, так и разработчикам, желающим автоматизировать опросы или обучающие процессы.

Ссылка на проект yemorkovin/quiz

Автор:

53

Читайте также

0 комментариев

Бот: Здравствуйте! Я чат-бот веб-разработчика. Чем могу помочь в создании или доработке вашего сайта?