{"id":25486629,"url":"https://github.com/stefanopaolonii/quizbot","last_synced_at":"2025-04-09T20:52:13.555Z","repository":{"id":275956520,"uuid":"927734383","full_name":"stefanopaolonii/QuizBot","owner":"stefanopaolonii","description":"Telegram Quiz Bot – A Telegram bot written in Python that manages interactive quizzes with customizable questions. Supports multiple languages and topics. Easy to set up and modify.","archived":false,"fork":false,"pushed_at":"2025-03-31T13:33:45.000Z","size":74,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-31T14:44:27.984Z","etag":null,"topics":["automation","bot-development","chatbot","json","open-source","python","python-telegram-bot","quiz-bot","telegram-bot","telegram-quiz-bot","telegram-quiz-game"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stefanopaolonii.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-05T13:07:44.000Z","updated_at":"2025-03-31T13:33:42.000Z","dependencies_parsed_at":"2025-02-05T14:23:12.062Z","dependency_job_id":"34208317-2adb-47bb-868d-1cb5528e90aa","html_url":"https://github.com/stefanopaolonii/QuizBot","commit_stats":null,"previous_names":["stefanopaolonii/telegram-quiz-bot","stefanopaolonii/quizbot"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanopaolonii%2FQuizBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanopaolonii%2FQuizBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanopaolonii%2FQuizBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanopaolonii%2FQuizBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stefanopaolonii","download_url":"https://codeload.github.com/stefanopaolonii/QuizBot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248111959,"owners_count":21049577,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","bot-development","chatbot","json","open-source","python","python-telegram-bot","quiz-bot","telegram-bot","telegram-quiz-bot","telegram-quiz-game"],"created_at":"2025-02-18T19:21:37.985Z","updated_at":"2025-04-09T20:52:13.545Z","avatar_url":"https://github.com/stefanopaolonii.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![GitHub Repo stars](https://img.shields.io/github/stars/stefanopaolonii/quizbot?style=flat-square\u0026logo=github\u0026labelColor=0d1117\u0026color=FFD700)\n![Discord](https://img.shields.io/discord/1336983930015846400?style=flat-square\u0026logo=discord\u0026logoColor=ffffff\u0026labelColor=0d1117\u0026link=https%3A%2F%2Fdiscord.gg%2FWJDjPHANV7)\n\n\n\n# Quiz-Bot: A Telegram Bot for Interactive Quizzes 🤖🎮\n\n`quiz-bot` is a **Telegram bot** designed to create, manage, and take interactive quizzes. It allows users to start a quiz, add and modify questions, and review existing questions. The bot supports **multiple languages** and allows questions to be categorized by topics. 🌍📚\n\nWhile all users can participate in quizzes, only authorized users (staff) can add, edit, and manage quiz questions, providing a flexible and secure environment for quiz management. 🔐\n\n## Features of Quiz-Bot ✨\n\n- **Start Quiz**: Users can initiate a quiz and answer a series of questions. 🎯\n- **Add Question**: Authorized users (staff members) can add new questions to the quiz database. 📝\n- **Review Question**: Users can review and explore existing quiz questions. 🔍\n- **Modify Question**: Only staff members can modify or update existing questions. 🛠️\n- **Staff Management**: An advanced system for managing staff with different roles, such as Owner, Admin, and Moderator. 👨‍💻👩‍💻\n- **Report System**: Users can submit, review, and manage quiz-related reports. 📊\n- **Privacy Enhancements**: User IDs are masked for added privacy and anonymity. 🕵️‍♂️\n- **Automated Testing**: Ensures that updates do not break functionality by testing the bot automatically. 🧪\n- **Module Update Automation**: Automatically manages and updates the bot’s dependencies. 🔄\n\n\u003c!--\nKeywords for Enhanced Visibility:\nTelegram bot, Quiz bot, Interactive quizzes, Telegram quiz bot, Python Telegram bot, Python quiz bot, Multiple language support, Quiz management system, Staff management, Quiz question database, Quiz questions, Automated testing, Privacy features in bot, Data-driven quizzes, Open source quiz bot, Dockerized Telegram bot, Telegram API, Online quiz system, Quiz questions categorization, Quiz reporting\n--\u003e\n\n## Requirements 📋\n\n- **Python Version**: 3.7 or higher 🐍\n- **Required Libraries**: \n  - `python-telegram-bot` (for Telegram API integration) 📲\n  - `asyncio` (for asynchronous functionality) ⏳\n- **Optional**: Docker for containerized deployment 🚢\n\n## Installation Guide 🛠️\n\n### Install Quiz-Bot Using Python\n\n1. **Fork and Clone the Repository**:\n    ```bash\n    git clone https://github.com/your-username/quiz-bot.git\n    cd quiz-bot\n    ```\n\n2. **Create a Virtual Environment**:\n    ```bash\n    python -m venv venv\n    source venv/bin/activate  # On Windows: venv\\Scripts\\activate\n    ```\n\n3. **Install Required Dependencies**:\n    ```bash\n    pip install -r requirements.txt\n    ```\n\n### Install Quiz-Bot Using Docker\n\n1. **Fork and Clone the Repository**:\n    ```bash\n    git clone https://github.com/your-username/quiz-bot.git\n    cd quiz-bot\n    ```\n\n2. **Build the Docker Image**:\n    ```bash\n    docker build -t quiz-bot .\n    ```\n\n3. **Run the Docker Container**:\n    ```bash\n    docker run -d --name quiz-bot -v $(pwd)/config.py:/app/config.py -v $(pwd)/questions.json:/app/questions.json quiz-bot\n    ```\n\n## Configuration of Quiz-Bot ⚙️\n\n1. **Create a `config.py` File**:  \n   Create a `config.py` file in the main project directory with the following content:\n    ```python\n    TOKEN = \"YOUR_BOT_TOKEN\"\n    QUESTIONS_JSON_PATH = \"data/questions.json\"\n    STAFF_JSON_PATH = \"data/staff.json\"\n    REPORT_JSON_PATH = \"data/reports.json\"\n    ```\n\n2. **Setup Questions File (`questions.json`)**:  \n   Ensure you have a `data/questions.json` file containing an array of questions in the following format:\n    ```json\n    [\n        {\n            \"id\": -1,\n            \"language\": \"en\",\n            \"text\": \"What is the capital of France?\",\n            \"options\": [\n                \"Berlin\",\n                \"Madrid\",\n                \"Paris\",\n                \"Rome\"\n            ],\n            \"correct_index\": 2,\n            \"verified\": true,\n            \"explanation\": \"Paris is the capital city of France.\",\n            \"topic\": \"Geography\"\n        }\n    ]\n    ```\n\n3. **Setup Staff File (`staff.json`)**:  \n   Define the staff members and their roles in the `staff.json` file:\n    ```json\n    [\n        {\n            \"id\": \"YOUR_USER_ID\",\n            \"role\": \"Owner\"  # Possible roles: Owner, Admin, Mod\n        }\n    ]\n    ```\n\n## Running the Quiz-Bot 🚀\n\nOnce you've completed the installation and configuration steps, you can start the bot with the following command:\n\n```bash\npython main.py\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefanopaolonii%2Fquizbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstefanopaolonii%2Fquizbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefanopaolonii%2Fquizbot/lists"}