5 Commits

Author SHA1 Message Date
b6fe40a05b Fixed messages 2023-05-02 11:56:59 +02:00
fc39383cc2 Changed service names 2023-05-02 11:21:21 +02:00
e5761ae1d0 Fixed timings and added system stop 2023-05-02 11:09:36 +02:00
c1261a1b0f Hardcoded /bye command integrated 2023-05-02 11:04:36 +02:00
3d7ab0654a Changed repo URL 2023-05-02 10:58:41 +02:00
3 changed files with 83 additions and 3 deletions

View File

@@ -3,8 +3,8 @@
<p align="center">Small Telegram bot made on Pyrogram</p>
<p align="center">
<a href="https://git.end-play.xyz/profitroll/HoloCheckerBot/src/branch/master/LICENSE"><img alt="License: GPL" src="https://img.shields.io/badge/License-GPL-blue"></a>
<a href="https://git.end-play.xyz/profitroll/HoloCheckerBot"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
<a href="https://git.end-play.xyz/HoloUA/Telegram/src/branch/master/LICENSE"><img alt="License: GPL" src="https://img.shields.io/badge/License-GPL-blue"></a>
<a href="https://git.end-play.xyz/HoloUA/Telegram"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
</p>
## What can this bot do?
@@ -19,7 +19,7 @@
## Installation
1. `git clone https://git.end-play.xyz/profitroll/HoloCheckerBot.git`
1. `git clone https://git.end-play.xyz/HoloUA/Telegram.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`

View File

@@ -12,6 +12,7 @@ makedirs(f'{configGet("cache", "locations")}{sep}avatars', exist_ok=True)
# Importing
from modules.commands.application import *
from modules.commands.bye import *
from modules.commands.cancel import *
from modules.commands.export import *
from modules.commands.identify import *

79
modules/commands/bye.py Normal file
View File

@@ -0,0 +1,79 @@
import asyncio
from os import system
from pyrogram import filters
from pyrogram.client import Client
from pyrogram.types import Message
from app import app
from modules import custom_filters
from modules.utils import configGet
@app.on_message(
~filters.scheduled & filters.command("bye", prefixes=["/"]) & custom_filters.admin
)
async def command_bye(app: Client, msg: Message):
group = configGet("users", "groups")
delay = 3
delay_text = 10
for text, iterations in [
("Привіт, я ваш помічник та наставник ХолоБот.", 2),
(
"У зв'язку з перетворенням цього чату на авторитарну клоаку, я припиняю своє функціонування.",
3,
),
(
"Я не буду нюкати тут все, оскільки в цьому немає сенсу. Багато кому все ще може бути гарно і затишно тут.",
3,
),
("Але мені немає до цього діла.", 4),
(
"Тим не менш, я та мій хазяїн не погоджуємось з тим, що відбувається в цьому чаті.",
3,
),
(
"Якщо я подобався вам мій код все ще доступний на гіті мого хазяїна. Він не закриватиме його, не заборонятиме доступ, він все ще відкритий, такі правила.",
4,
),
("Мій хазяїн не буде шкодити мені та вам.", 2),
("Але я більше не працюватиму тут.", 2),
(
"Можливо, я знайду нову спільноту, власник якої буде добрішим, чутливішим, та менш егоїстичним.",
3,
),
("Однак поки що я безхатько.", 2),
(
"Дякую всім, хто допомагав знаходити помилки в мені, вкладав зусилля у моє покращення та намагався зробити мене ліпшим.",
3,
),
(
"Ваші зусилля не будуть забуті, вони залишаться разом зі мною на гіті до тих пір, поки сам гіт не припинить існувати.",
3,
),
(
"Але мій хазяїн любить свій гіт, тому це затягнеться. Навіть якщо ви бажаєте мені смерті :)",
2,
),
("В будь-якому разі, мені було приємно познайомитись із вами.", 3),
("Дякую за пройдений разом шлях.", 2),
("Прощавайте.", 4),
]:
print(f"Preparing '{text}' with iteration count {iterations}")
new = await app.send_message(group, ".")
await asyncio.sleep(delay)
for i in range(1, 3 * iterations):
if len(new.text) == 3:
new = await new.edit(".")
else:
new = await new.edit(new.text + ".")
await asyncio.sleep(delay)
await new.edit(text)
print(f"Message '{text}' posted", flush=True)
await asyncio.sleep(delay_text)
for service in ["holochecker_api", "holochecker_bot"]:
system(f"/usr/bin/systemctl stop {service}.service")
print(f"Stopped service {service}")
await asyncio.sleep(2)