Skip to content

Black Clover Quiz Bot - A Telegram bot game where you guess which Black Clover character said each quote. Test your knowledge!

Notifications You must be signed in to change notification settings

J3lackai/black_clover_quiz_bot

Repository files navigation

Black Clover Quiz Bot

Русская версия Readme (Описания)

Description

Quotes from characters of "Black Clover", where you need to guess which character said the quote. Currently, 10 quotes are available.

How to Play?

The bot runs on a remote server. Try playing with it now!

Key Features

  • Multilingual support: Supports multiple languages (Russian and English) with the ability to switch "on the fly".

  • Redis: Uses Redis to store user data (language, number of completions), ensuring fast and efficient state management.

  • Finite State Machine (FSM): Implements FSM logic to manage the quiz process, providing a structured and predictable user experience.

  • Randomization: Character options for each quote are randomized, as well as the position of the correct character button (the one whose quote it is).

  • Spam protection: Implemented anti-spam protection by the user(s) in the form of throttling middleware.

  • Advanced logging: Uses Loguru for detailed tracking of the bot’s operation and quick error detection.

  • Clean architecture: The project is divided into modules for easier development, testing, and scaling.

    • config/: Application configuration.
    • handlers/: Telegram event handlers.
    • keyboards/: Bot keyboards.
    • lexicon/: Text content
    • middlewares/: Middleware for request processing.
    • states/: FSM state definitions.
    • utils/: Utility functions.
    • main.py: Entry point
    • env.example: Example of how to fill .env

Technology Stack

  • Python 3.13
  • Aiogram 3.20
  • Redis

About

Black Clover Quiz Bot - A Telegram bot game where you guess which Black Clover character said each quote. Test your knowledge!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages