2022-10-16 21:35:09 +03:00
|
|
|
# HoloCheckerBot
|
|
|
|
|
2022-10-23 13:13:12 +03:00
|
|
|
Small Telegram bot made on Pyrogram
|
|
|
|
|
2022-10-23 17:22:25 +03:00
|
|
|
## 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
|
2022-12-13 11:44:44 +02:00
|
|
|
* Manage YouTube sponsorships [WIP]
|
|
|
|
* Send and receive messages to users using bot [WIP]
|
2022-10-23 17:22:25 +03:00
|
|
|
|
2022-10-23 13:13:12 +03:00
|
|
|
## 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:
|
|
|
|
|
2022-10-23 13:15:11 +03:00
|
|
|
```json
|
2022-10-23 13:13:12 +03:00
|
|
|
{
|
2022-12-06 14:22:55 +02:00
|
|
|
"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": [],
|
2022-10-23 13:13:12 +03:00
|
|
|
"bot": {
|
2022-12-06 14:22:55 +02:00
|
|
|
"api_id": 0,
|
|
|
|
"api_hash": "",
|
|
|
|
"bot_token": ""
|
2022-10-23 13:13:12 +03:00
|
|
|
},
|
2022-12-13 11:44:44 +02:00
|
|
|
"database": {
|
|
|
|
"user": null,
|
|
|
|
"password": null,
|
|
|
|
"host": "127.0.0.1",
|
|
|
|
"port": 27017,
|
|
|
|
"name": "holochecker"
|
|
|
|
},
|
2022-12-14 15:52:12 +02:00
|
|
|
"geocoding": {
|
|
|
|
"username": "demo"
|
|
|
|
},
|
2022-10-23 13:13:12 +03:00
|
|
|
"logging": {
|
2022-12-06 14:22:55 +02:00
|
|
|
"size": 512,
|
|
|
|
"location": "logs"
|
2022-10-23 13:13:12 +03:00
|
|
|
},
|
2022-12-13 11:44:44 +02:00
|
|
|
"scheduler": {
|
|
|
|
"birthdays": {
|
|
|
|
"time": 9,
|
|
|
|
"enabled": true
|
|
|
|
},
|
|
|
|
"sponsorships": {
|
|
|
|
"time": 9,
|
|
|
|
"enabled": true
|
|
|
|
}
|
|
|
|
},
|
2022-10-23 13:13:12 +03:00
|
|
|
"locations": {
|
2022-12-06 14:22:55 +02:00
|
|
|
"cache": "cache",
|
|
|
|
"locale": "locale"
|
2022-10-23 13:13:12 +03:00
|
|
|
},
|
2022-12-06 14:22:55 +02:00
|
|
|
"commands": {
|
|
|
|
"rules": "Check out the rules",
|
2022-12-13 11:44:44 +02:00
|
|
|
"reapply": "Resubmit the application",
|
|
|
|
"sponsorship": "Apply for sponsor role"
|
2022-10-23 13:13:12 +03:00
|
|
|
},
|
2022-12-06 14:22:55 +02:00
|
|
|
"commands_admin": {
|
2022-10-24 17:32:09 +03:00
|
|
|
"reboot": "Restart the bot",
|
2022-12-13 11:44:44 +02:00
|
|
|
"message": "Send a message",
|
|
|
|
"label": "Set user's nickname",
|
2022-12-06 14:22:55 +02:00
|
|
|
"warnings": "Check user's warnings",
|
|
|
|
"application": "Check user's application",
|
|
|
|
"applications": "Retrieve all applications as a JSON"
|
|
|
|
},
|
|
|
|
"commands_group_admin": {
|
|
|
|
"reboot": "Restart the bot",
|
2022-12-13 11:44:44 +02:00
|
|
|
"message": "Send a message",
|
|
|
|
"label": "Set user's nickname",
|
2022-12-06 14:22:55 +02:00
|
|
|
"warnings": "Check user's warnings",
|
|
|
|
"application": "Check user's application",
|
|
|
|
"applications": "Retrieve all applications as a JSON"
|
|
|
|
},
|
|
|
|
"commands_group_destination": {
|
|
|
|
"warn": "Warn a user"
|
2022-10-23 13:13:12 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
After all of that you're good to go! Happy using :)
|
2022-10-24 14:29:23 +03:00
|
|
|
|
|
|
|
## To-Do
|
|
|
|
|
2022-12-06 14:22:55 +02:00
|
|
|
* [ ] Check sponsorship on Holo girls
|
2022-12-21 13:26:50 +02:00
|
|
|
* [ ] Stats and infographic
|
|
|
|
* [ ] /nearby command
|
|
|
|
* [ ] Check group members without completed application
|
|
|
|
* [x] Complete messenger between user and admins
|
|
|
|
* [x] Get application by id and user_id
|