Bot that accepts applications and does utility stuff
https://t.me/holoua_bot
classes | ||
locale | ||
modules | ||
validation | ||
.gitignore | ||
api_avatars.py | ||
app.py | ||
config_example.json | ||
holochecker.py | ||
LICENSE | ||
README.md | ||
requirements.txt |
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
git clone https://git.end-play.xyz/profitroll/HoloCheckerBot.git
cd HoloCheckerBot
- Install Python 3.7+ (at least 3.9 is recommended) for your OS
python3 -m pip install -r requirements.txt
- 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:
{
"locale": "uk",
"debug": false,
"owner": 0,
"age_allowed": 0,
"api": "http://example.com",
"inline_preview_count": 7,
"remove_application_time": -1,
"search_radius": 50,
"admins": [],
"groups": {
"admin": 0,
"users": 0
},
"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"
},
"features": {
"general": {
"enabled": true
},
"applications": {
"enabled": true
},
"sponsorships": {
"enabled": true
},
"warnings": {
"enabled": true
},
"invites_check": {
"enabled": true
},
"dinovoice": {
"enabled": false
},
"spoilers": {
"enabled": true
}
},
"scheduler": {
"birthdays": {
"time": 9,
"enabled": true
},
"sponsorships": {
"time": 9,
"enabled": true
},
"cache_avatars": {
"interval": 6,
"enabled": true
},
"cache_members": {
"interval": 30,
"enabled": true
},
"cache_admins": {
"interval": 120,
"enabled": true
}
},
"locations": {
"cache": "cache",
"locale": "locale"
},
"commands": {
"rules": {
"permissions": [
"users",
"admins"
],
"modules": [
"general"
]
},
"spoiler": {
"permissions": [
"users",
"admins"
],
"modules": [
"spoilers"
]
},
"cancel": {
"permissions": [
"users",
"admins"
],
"modules": [
"spoilers",
"applications",
"sponsorships"
]
},
"nearby": {
"permissions": [
"users",
"admins",
"group_users",
"group_admins"
],
"modules": [
"applications"
]
},
"warn": {
"permissions": [
"group_users"
],
"modules": [
"warnings"
]
},
"reapply": {
"permissions": [
"users",
"admins"
],
"modules": [
"applications"
]
},
"sponsorship": {
"permissions": [
"users",
"admins"
],
"modules": [
"sponsorships"
]
},
"reboot": {
"permissions": [
"admins",
"group_admins"
],
"modules": [
"general"
]
},
"label": {
"permissions": [
"admins",
"group_admins"
],
"modules": [
"applications"
]
},
"message": {
"permissions": [
"admins",
"group_admins"
],
"modules": [
"general"
]
},
"identify": {
"permissions": [
"admins",
"group_admins"
],
"modules": [
"applications",
"sponsorships"
]
},
"application": {
"permissions": [
"admins",
"group_admins"
],
"modules": [
"applications"
]
},
"applications": {
"permissions": [
"admins",
"group_admins"
],
"modules": [
"applications"
]
}
}
}
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
- Check sponsorship on Holo girls
- /nearby command
- Complete messenger between user and admins
- Get application by id and user_id