This repository has been archived on 2024-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
Telegram/README.md

273 lines
6.0 KiB
Markdown

# 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,
"age_allowed": 0,
"age_maximum": 70,
"api": "http://example.com",
"issues": "https://github.com/example/test/issues/new",
"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,
"allow_external": 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
},
"channels_monitor": {
"interval": 5,
"enabled": true,
"channels": []
}
},
"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_admins"
],
"modules": [
"applications"
]
},
"warn": {
"permissions": [
"group_users_admins"
],
"modules": [
"warnings"
]
},
"reapply": {
"permissions": [
"users",
"admins"
],
"modules": [
"applications"
]
},
"sponsorship": {
"permissions": [
"users",
"admins"
],
"modules": [
"sponsorships"
]
},
"reboot": {
"permissions": [
"owner"
],
"modules": [
"general"
]
},
"label": {
"permissions": [
"admins",
"group_admins"
],
"modules": [
"applications"
]
},
"message": {
"permissions": [
"admins",
"group_admins"
],
"modules": [
"general"
]
},
"identify": {
"permissions": [
"admins",
"group_admins"
],
"modules": [
"applications",
"sponsorships"
]
},
"issue": {
"permissions": [
"users",
"admins"
],
"modules": [
"general"
]
},
"application": {
"permissions": [
"admins",
"group_admins"
],
"modules": [
"applications"
]
},
"applications": {
"permissions": [
"admins",
"group_admins"
],
"modules": [
"applications"
]
},
"resetcommands": {
"permissions": [
"owner"
],
"modules": [
"general"
]
}
}
}
```
After all of that you're good to go! Happy using :)
## To-Do
* [ ] Stats and infographics
* [ ] Check group members without completed application
* [x] 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