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
2023-01-03 13:02:39 +01:00
classes Improved tmp files system 2023-01-03 13:01:46 +01:00
locale /cancel added to commands to register 2023-01-03 10:13:38 +01:00
modules Added docstring 2023-01-03 13:02:39 +01:00
validation Added DB validation for warnings 2022-12-21 12:26:05 +01:00
.gitignore Ignoring data 2022-12-16 13:24:24 +01:00
api_avatars.py Also handling HEAD requests now 2022-12-17 22:31:30 +01:00
app.py Improved admin group filter 2022-12-30 20:36:06 +01:00
config_example.json Members/admins caching is now configurable 2023-01-02 10:48:55 +01:00
holochecker.py Initialized /cancel command 2022-12-23 01:40:23 +01:00
LICENSE Initial commit 2022-10-16 21:35:09 +03:00
README.md Updated to-do 2023-01-02 11:17:17 +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

  • Check sponsorship on Holo girls
  • Stats and infographic
  • /nearby command
  • Check group members without completed application
  • Complete messenger between user and admins
  • Get application by id and user_id