Bot that accepts applications and does utility stuff https://t.me/holoua_bot
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.
Go to file
2022-12-05 18:53:09 +01:00
cache Added cache 2022-10-26 14:56:42 +02:00
data Changed applications.json options 2022-10-26 12:54:55 +02:00
locale Application options for returning users [Done] 2022-12-05 15:25:07 +01:00
logs Logs folder is now present by default 2022-10-22 09:41:34 +02:00
modules Added missing imports 2022-12-05 18:53:09 +01:00
.gitignore Added api for avatars support 2022-10-26 15:20:23 +02:00
api_avatars.py Created /check for UptimeRobot pinger 2022-11-04 13:05:14 +01:00
app.py Inline implemented 2022-10-26 14:54:55 +02:00
config_example.json Updated config 2022-12-04 21:08:31 +01:00
LICENSE Initial commit 2022-10-16 21:35:09 +03:00
main.py Modularity overhaul 2022-12-05 18:49:51 +01:00
README.md Improved avatars 2022-10-27 11:40:15 +02:00
requirements.txt Added api for avatars support 2022-10-26 15:20:23 +02:00

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

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:

{
    "locale": "uk", # locale file. it's a json located under locale folder
    "debug": false, # whether config_debug.json should be used instead of config.json
    "owner": 0, # telegram ID of a bot owner
    "age_allowed": 0, # minimum age of user that submits application
    "birthdays_notify": true, # notify admin group about birthdays
    "birthdays_time": "09:00", # server time when to notify about birthdays
    "api": "http://example.com", # API server's external address
    "admin_group": 0, # telegram ID of a admin's group
    "destination_group": 0, # telegram ID of a user's group
    "admins": [], # list of telegram ID's of users that are admins
    "bot": {
        "api_id": 0, # telegram API ID
        "api_hash": "", # telegram API hash
        "bot_token": "" # telegram bot's token
    },
    "logging": {
        "size": 512, # size of log file in kbytes after which it should be rotated
        "location": "logs" # location of logs folder. can be relative or absolute
    },
    "locations": {
        "data": "data", # location of data folder. can be relative or absolute
        "locale": "locale" # location of locale folder. can be relative or absolute
    },
    "commands": {  # user command and its description
        "reapply": "Fill the application again"
    },
    "commands_admin": { # admin commands and their description
        "reboot": "Restart the bot",
        "applications": "Get all applications as JSON"
    }
}

After all of that you're good to go! Happy using :)

To-Do

  • Check if link belongs to admin
  • Inline query user's application
  • Get applications .json
  • Get application by id and user_id
  • Age as a DD.MM.YYYY
  • Notify about upcoming birthdays
  • Change the application data
  • Check if user is already in group