# HoloCheckerBot Small Telegram bot made on Pyrogram ## What can this bot do? * Get user applications * Send applications to the admins * Give one-time links to join group * Track down users that were not allowed to join * Show applications to other users * Manage YouTube sponsorships [WIP] * Send and receive messages to users using bot [WIP] ## Installation 1. `git clone https://git.end-play.xyz/profitroll/HoloCheckerBot.git` 2. `cd HoloCheckerBot` 3. Install Python 3.7+ (at least 3.9 is recommended) for your OS 4. `python3 -m pip install -r requirements.txt` 5. Run it with `python3 main.py` after configuring ## Configuration So bot has its "config_example.json" and it needs to be changed. Copy this file to "config.json" and open it with any text editor. You can see config file with all the comments below: ```json { "locale": "uk", "debug": false, "owner": 0, "bot_id": 0, "age_allowed": 0, "api": "http://example.com", "inline_preview_count": 7, "admin_group": 0, "destination_group": 0, "remove_application_time": -1, "admins": [], "bot": { "api_id": 0, "api_hash": "", "bot_token": "" }, "database": { "user": null, "password": null, "host": "127.0.0.1", "port": 27017, "name": "holochecker" }, "geocoding": { "username": "demo" }, "logging": { "size": 512, "location": "logs" }, "scheduler": { "birthdays": { "time": 9, "enabled": true }, "sponsorships": { "time": 9, "enabled": true } }, "locations": { "cache": "cache", "locale": "locale" }, "commands": { "rules": "Check out the rules", "reapply": "Resubmit the application", "sponsorship": "Apply for sponsor role" }, "commands_admin": { "reboot": "Restart the bot", "message": "Send a message", "label": "Set user's nickname", "warnings": "Check user's warnings", "application": "Check user's application", "applications": "Retrieve all applications as a JSON" }, "commands_group_admin": { "reboot": "Restart the bot", "message": "Send a message", "label": "Set user's nickname", "warnings": "Check user's warnings", "application": "Check user's application", "applications": "Retrieve all applications as a JSON" }, "commands_group_destination": { "warn": "Warn a user" } } ``` After all of that you're good to go! Happy using :) ## To-Do * [ ] Stats and infographics * [ ] Check group members without completed application * [ ] Replicate some functions of @spoilerobot * [x] Check sponsorship on Holo girls * [x] /nearby command * [x] Complete messenger between user and admins * [x] Get application by id and user_id