Bot that accepts applications and does utility stuff https://t.me/holoua_bot
Go to file
Profitroll d7936fa600 Added more custom filters 2023-01-03 20:33:53 +01:00
classes Optimized imports 2023-01-03 15:15:15 +01:00
locale /identify command added 2023-01-03 14:30:16 +01:00
modules Added more custom filters 2023-01-03 20:33:53 +01:00
validation Updated validation rules 2023-01-03 15:43:48 +01:00
.gitignore Ignoring data 2022-12-16 13:24:24 +01:00
LICENSE Initial commit 2022-10-16 21:35:09 +03:00
README.md Updated default config in README 2023-01-03 15:48:33 +01:00
api_avatars.py Also handling HEAD requests now 2022-12-17 22:31:30 +01:00
app.py Fixed attribute error 2023-01-03 13:17:59 +01:00
config_example.json Members/admins caching is now configurable 2023-01-02 10:48:55 +01:00
holochecker.py /identify command added 2023-01-03 14:30:16 +01:00
requirements.txt Updated requirements 2022-12-14 13:57:17 +01:00

README.md

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,
    "search_radius": 50,
    "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
        },
        "cache_avatars": {
            "interval": 6,
            "enabled": true
        },
        "cache_members": {
            "interval": 30,
            "enabled": true
        },
        "cache_admins": {
            "interval": 120,
            "enabled": true
        }
    },
    "locations": {
        "cache": "cache",
        "locale": "locale"
    }
}

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