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-14 14:57:39 +01:00
classes Improved docstrings 2022-12-14 14:57:39 +01:00
locale Warn with comment 2022-12-14 14:31:03 +01:00
modules Improved docstrings 2022-12-14 14:57:39 +01:00
validation Slightly improved structure 2022-12-11 19:52:38 +01:00
.gitignore Started a complete refactor 2022-12-10 11:37:15 +01:00
api_avatars.py cache folder is now generated on startup 2022-12-11 01:39:19 +01:00
app.py Messenger is ready 2022-12-13 14:24:31 +01:00
config_example.json Location geocoding 2022-12-14 13:56:58 +01:00
holochecker.py cache folder is now generated on startup 2022-12-11 01:39:19 +01:00
LICENSE Initial commit 2022-10-16 21:35:09 +03:00
README.md Added "geocoding" key 2022-12-14 14:52:12 +01:00
requirements.txt Updated requirements 2022-12-14 13:57:17 +01: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
  • 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:

{
    "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

  • Complete messenger between user and admins
  • Check sponsorship on Holo girls
  • Get application by id and user_id