mirror of https://github.com/coddrago/Heroku
parent
032e2b5ad2
commit
cfa92de7c2
|
@ -15,7 +15,7 @@
|
||||||
- Telethon has been completely updated, moving to heroku-tl
|
- Telethon has been completely updated, moving to heroku-tl
|
||||||
- update heroku-tl to 1.0.6
|
- update heroku-tl to 1.0.6
|
||||||
- added prefix to ping
|
- added prefix to ping
|
||||||
- removed official support serv00, tothost, goorm, railway
|
- removed official support serv00, tothost, goorm, railway, termux
|
||||||
- rename folder "hikka" to "heroku"
|
- rename folder "hikka" to "heroku"
|
||||||
- fix close btn
|
- fix close btn
|
||||||
- fix native imports
|
- fix native imports
|
||||||
|
|
|
@ -129,11 +129,4 @@ Check out <a href="https://heroku.codrago.top/">heroku.codrago.top</a> for users
|
||||||
<li><a href="https://t.me/GunyaKshin">Codwiz</a> for Ukrainian translation pack</li>
|
<li><a href="https://t.me/GunyaKshin">Codwiz</a> for Ukrainian translation pack</li>
|
||||||
<li><a href="https://t.me/thisLyomi">Lyomi</a> for German translation pack</li>
|
<li><a href="https://t.me/thisLyomi">Lyomi</a> for German translation pack</li>
|
||||||
<li><a href="https://t.me/lonami">Lonami</a> for Telethon, which is the base of Heroku-TL</li>
|
<li><a href="https://t.me/lonami">Lonami</a> for Telethon, which is the base of Heroku-TL</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<hr>
|
|
||||||
<h2>Sponsors: </h2>
|
|
||||||
<p align="center">
|
|
||||||
<img src="assets/aeza.svg" width="300" height="60">
|
|
||||||
</p>
|
|
||||||
<p align="center">Developed with support of <a href="https://aeza.net/?ref=herokugh">aeza.net</a></p>
|
|
|
@ -203,7 +203,7 @@ heroku_backup:
|
||||||
backupall_sent: "<emoji document_id=5431736674147114227>🗂</emoji> <b>Sicherung der Datenbank und der an gespeicherte Nachrichten gesendeten Module</b>"
|
backupall_sent: "<emoji document_id=5431736674147114227>🗂</emoji> <b>Sicherung der Datenbank und der an gespeicherte Nachrichten gesendeten Module</b>"
|
||||||
db_warning: "❗️ Hikka-Backup erkannt. Wenn Sie fortfahren, <b>versucht</b> der Userbot, es in ein für Heroku geeignetes Format zu konvertieren. Möglicherweise treten Fehler bei der Konvertierung auf. Fortfahren?"
|
db_warning: "❗️ Hikka-Backup erkannt. Wenn Sie fortfahren, <b>versucht</b> der Userbot, es in ein für Heroku geeignetes Format zu konvertieren. Möglicherweise treten Fehler bei der Konvertierung auf. Fortfahren?"
|
||||||
advice_converting: "Sie können <a>'hikka.'</a> im Backup-Inhalt manuell durch <a>'heroku.'</a> ersetzen. Dies ist zum Laden erforderlich."
|
advice_converting: "Sie können <a>'hikka.'</a> im Backup-Inhalt manuell durch <a>'heroku.'</a> ersetzen. Dies ist zum Laden erforderlich."
|
||||||
db_converting: "🔄 Konvertierung läuft …"
|
converting_db: "🔄 Konvertierung läuft …"
|
||||||
_cls_doc: "Verarbeitet Datenbank- und Modulsicherungen"
|
_cls_doc: "Verarbeitet Datenbank- und Modulsicherungen"
|
||||||
_cmd_doc_backupdb: "Datenbanksicherung erstellen [wird per PN gesendet]"
|
_cmd_doc_backupdb: "Datenbanksicherung erstellen [wird per PN gesendet]"
|
||||||
_cmd_doc_backupmods: "Erstelle ein Backup der Mods [wird per PN gesendet]"
|
_cmd_doc_backupmods: "Erstelle ein Backup der Mods [wird per PN gesendet]"
|
||||||
|
@ -213,6 +213,15 @@ heroku_backup:
|
||||||
_cmd_doc_backupall: "Erstellt eine allgemeine Sicherungskopie (Module + Datenbank)"
|
_cmd_doc_backupall: "Erstellt eine allgemeine Sicherungskopie (Module + Datenbank)"
|
||||||
_cmd_doc_restoreall: "Stellt ein gemeinsames Backup wieder her (Basis + Module)"
|
_cmd_doc_restoreall: "Stellt ein gemeinsames Backup wieder her (Basis + Module)"
|
||||||
|
|
||||||
|
executor:
|
||||||
|
no_code: "<emoji document_id=5854929766146118183>❌</emoji> <b>Es sollte </b><code>{}exec [Python-Code]</code><b> sein</b>"
|
||||||
|
executing: "<b><emoji document_id=5332600281970517875>🔄</emoji> Code wird ausgeführt...</b>"
|
||||||
|
no_phone: "Versteckt deine Telefonnummer in der Ausgabe"
|
||||||
|
result: "<b>\n<emoji document_id=5431376038628171216>💻</emoji> Code:\n<pre><code class=\"language-python\">{code}</code></pre>\n{result}\n<emoji document_id=5451732530048802485>⏳</emoji> Ausgeführt in {time} Sekunden</b>"
|
||||||
|
result_no_error: "<emoji document_id=6334758581832779720>✅</emoji> Ergebnis\n<pre><code class=\"language-python\">{result}</code></pre>"
|
||||||
|
result_error: "<emoji document_id=5440381017384822513>🚫</emoji> Fehler\n<pre><code class=\"language-python\">{result}</code></pre>"
|
||||||
|
res_return: "<emoji document_id=6334778871258286021>💾</emoji> Code hat zurückgegeben:\n<pre><code class=\"language-python\">{res}</code></pre>"
|
||||||
|
|
||||||
presets:
|
presets:
|
||||||
_fun_title: "🪩 Unterhaltsame Module"
|
_fun_title: "🪩 Unterhaltsame Module"
|
||||||
_fun_desc: "Lustige Module – Animationen, Spam, Spiele und mehr."
|
_fun_desc: "Lustige Module – Animationen, Spam, Spiele und mehr."
|
||||||
|
|
|
@ -217,7 +217,7 @@ heroku_backup:
|
||||||
backupall_sent: "<emoji document_id=5431736674147114227>🗂</emoji> <b>Backup of database and modules sent to saved messages</b>"
|
backupall_sent: "<emoji document_id=5431736674147114227>🗂</emoji> <b>Backup of database and modules sent to saved messages</b>"
|
||||||
db_warning: "❗️ Hikka backup detected. If you continue, the userbot will <b>try</b> to convert it to a format suitable for Heroku.\nThere may be some errors in the conversion. Continue?"
|
db_warning: "❗️ Hikka backup detected. If you continue, the userbot will <b>try</b> to convert it to a format suitable for Heroku.\nThere may be some errors in the conversion. Continue?"
|
||||||
advice_converting: "You can manually replace <a>'hikka.'</a> with <a>'heroku.'</a> in the backup content. This is necessary for loading it."
|
advice_converting: "You can manually replace <a>'hikka.'</a> with <a>'heroku.'</a> in the backup content. This is necessary for loading it."
|
||||||
db_converting: "🔄 Converting..."
|
converting_db: "🔄 Converting..."
|
||||||
_cls_doc: "Processes database and module backups"
|
_cls_doc: "Processes database and module backups"
|
||||||
_cmd_doc_backupdb: "Create a database backup [will be sent to PM]"
|
_cmd_doc_backupdb: "Create a database backup [will be sent to PM]"
|
||||||
_cmd_doc_backupmods: "Create a backup of mods [will be sent to PM]"
|
_cmd_doc_backupmods: "Create a backup of mods [will be sent to PM]"
|
||||||
|
@ -227,6 +227,15 @@ heroku_backup:
|
||||||
_cmd_doc_backupall: "Creates a general backup copy (modules + database)"
|
_cmd_doc_backupall: "Creates a general backup copy (modules + database)"
|
||||||
_cmd_doc_restoreall: "Restores a common backup (base + modules)"
|
_cmd_doc_restoreall: "Restores a common backup (base + modules)"
|
||||||
|
|
||||||
|
executor:
|
||||||
|
no_code: "<emoji document_id=5854929766146118183>❌</emoji> <b>Should be </b><code>{}exec [python code]</code>"
|
||||||
|
executing: "<b><emoji document_id=5332600281970517875>🔄</emoji> Executing code...</b>"
|
||||||
|
no_phone: "Hides your phone number in the output"
|
||||||
|
result: "<b>\n<emoji document_id=5431376038628171216>💻</emoji> Code:\n<pre><code class=\"language-python\">{code}</code></pre>\n{result}\n<emoji document_id=5451732530048802485>⏳</emoji> Executed in {time} seconds</b>"
|
||||||
|
result_no_error: "<emoji document_id=6334758581832779720>✅</emoji> Result\n<pre><code class=\"language-python\">{result}</code></pre>"
|
||||||
|
result_error: "<emoji document_id=5440381017384822513>🚫</emoji> Error\n<pre><code class=\"language-python\">{result}</code></pre>"
|
||||||
|
res_return: "<emoji document_id=6334778871258286021>💾</emoji> Code returned:\n<pre><code class=\"language-python\">{res}</code></pre>"
|
||||||
|
|
||||||
presets:
|
presets:
|
||||||
name: "Presets"
|
name: "Presets"
|
||||||
_fun_title: "🪩 Entertainment modules"
|
_fun_title: "🪩 Entertainment modules"
|
||||||
|
|
|
@ -203,7 +203,7 @@ heroku_backup:
|
||||||
backupall_sent: "<emoji document_id=5431736674147114227>🗂</emoji> <b>Резервная копия базы и модулей отправлена в сохраненные сообщения</b>"
|
backupall_sent: "<emoji document_id=5431736674147114227>🗂</emoji> <b>Резервная копия базы и модулей отправлена в сохраненные сообщения</b>"
|
||||||
db_warning: "❗️ Обнаружен бекап из Hikka. Если продолжить — юзербот <b>попробует</b> преобразовать его в подходящий формат для Heroku.\nВозможны некоторые ошибки в преобразовании. Продолжить?"
|
db_warning: "❗️ Обнаружен бекап из Hikka. Если продолжить — юзербот <b>попробует</b> преобразовать его в подходящий формат для Heroku.\nВозможны некоторые ошибки в преобразовании. Продолжить?"
|
||||||
advice_converting: "Вы можете вручную заменить <a>'hikka.'</a> на <a>'heroku.'</a> в содержимом бекапа. Это необходимо для его загрузки."
|
advice_converting: "Вы можете вручную заменить <a>'hikka.'</a> на <a>'heroku.'</a> в содержимом бекапа. Это необходимо для его загрузки."
|
||||||
db_converting: "🔄 Конвертирую..."
|
converting_db: "🔄 Конвертирую..."
|
||||||
_cls_doc: "Обрабатывает резервные копии базы данных и модулей"
|
_cls_doc: "Обрабатывает резервные копии базы данных и модулей"
|
||||||
_cmd_doc_backupdb: "Создать бэкап базы данных [будет отправлено в лс]"
|
_cmd_doc_backupdb: "Создать бэкап базы данных [будет отправлено в лс]"
|
||||||
_cmd_doc_backupmods: "Создать бэкап модов [будет отправлено в лс]"
|
_cmd_doc_backupmods: "Создать бэкап модов [будет отправлено в лс]"
|
||||||
|
@ -213,6 +213,15 @@ heroku_backup:
|
||||||
_cmd_doc_backupall: "Создаёт общую резервную копию (модули + база)"
|
_cmd_doc_backupall: "Создаёт общую резервную копию (модули + база)"
|
||||||
_cmd_doc_restoreall: "Восстанавливает общую резервную копию (база + модули)"
|
_cmd_doc_restoreall: "Восстанавливает общую резервную копию (база + модули)"
|
||||||
|
|
||||||
|
executor:
|
||||||
|
no_code: "<emoji document_id=5854929766146118183>❌</emoji> <b>Должно быть </b><code>{}exec [python код]</code>"
|
||||||
|
executing: "<b><emoji document_id=5332600281970517875>🔄</emoji> Выполняю код...</b>"
|
||||||
|
no_phone: "Скрывает твой номер телефона при выводе"
|
||||||
|
result: "<b>\n<emoji document_id=5431376038628171216>💻</emoji> Код:\n<pre><code class=\"language-python\">{code}</code></pre>\n{result}\n<emoji document_id=5451732530048802485>⏳</emoji> Выполнен за {time} секунд</b>"
|
||||||
|
result_no_error: "<emoji document_id=6334758581832779720>✅</emoji> Результат\n<pre><code class=\"language-python\">{result}</code></pre>"
|
||||||
|
result_error: "<emoji document_id=5440381017384822513>🚫</emoji> Ошибка\n<pre><code class=\"language-python\">{result}</code></pre>"
|
||||||
|
res_return: "<emoji document_id=6334778871258286021>💾</emoji> Код вернул:\n<pre><code class=\"language-python\">{res}</code></pre>"
|
||||||
|
|
||||||
presets:
|
presets:
|
||||||
_fun_title: "🪩 Развлекательные модули"
|
_fun_title: "🪩 Развлекательные модули"
|
||||||
_fun_desc: "Забавные модули — анимации, спам, игры, и др."
|
_fun_desc: "Забавные модули — анимации, спам, игры, и др."
|
||||||
|
|
|
@ -203,7 +203,7 @@ heroku_backup:
|
||||||
backupall_sent: "<emoji document_id=5431736674147114227>🗂</emoji> <b>Резервна копія бази даних і модулів, надісланих у збережені повідомлення</b>"
|
backupall_sent: "<emoji document_id=5431736674147114227>🗂</emoji> <b>Резервна копія бази даних і модулів, надісланих у збережені повідомлення</b>"
|
||||||
db_warning: "❗️ Виявлено резервну копію Hikka. Якщо ви продовжите, користувач-бот <b>спробує</b> конвертувати її у формат, придатний для Heroku.\nПід час конвертації можуть бути деякі помилки. Продовжити?"
|
db_warning: "❗️ Виявлено резервну копію Hikka. Якщо ви продовжите, користувач-бот <b>спробує</b> конвертувати її у формат, придатний для Heroku.\nПід час конвертації можуть бути деякі помилки. Продовжити?"
|
||||||
advice_converting: "Ви можете вручну замінити <a>'hikka.'</a> на <a>'heroku.'</a> у вмісті резервної копії. Це необхідно для її завантаження."
|
advice_converting: "Ви можете вручну замінити <a>'hikka.'</a> на <a>'heroku.'</a> у вмісті резервної копії. Це необхідно для її завантаження."
|
||||||
db_converting: "🔄 Конвертування..."
|
converting_db: "🔄 Конвертування..."
|
||||||
_cls_doc: "Обробляє резервні копії бази даних і модулів"
|
_cls_doc: "Обробляє резервні копії бази даних і модулів"
|
||||||
_cmd_doc_backupdb: "Створити резервну копію бази даних [буде надіслано на PM]"
|
_cmd_doc_backupdb: "Створити резервну копію бази даних [буде надіслано на PM]"
|
||||||
_cmd_doc_backupmods: "Створити резервну копію модів [буде надіслано в личку]"
|
_cmd_doc_backupmods: "Створити резервну копію модів [буде надіслано в личку]"
|
||||||
|
@ -213,6 +213,14 @@ heroku_backup:
|
||||||
_cmd_doc_backupall: "Створює загальну резервну копію (модулі + база)"
|
_cmd_doc_backupall: "Створює загальну резервну копію (модулі + база)"
|
||||||
_cmd_doc_restoreall: "Відновлює загальну резервну копію (база + модулі)"
|
_cmd_doc_restoreall: "Відновлює загальну резервну копію (база + модулі)"
|
||||||
|
|
||||||
|
executor:
|
||||||
|
no_code: "<emoji document_id=5854929766146118183>❌</emoji> <b>Повинно бути </b><code>{}exec [python код]</code>"
|
||||||
|
executing: "<b><emoji document_id=5332600281970517875>🔄</emoji> Виконую код...</b>"
|
||||||
|
no_phone: "Приховує ваш номер телефону у виводі"
|
||||||
|
result: "<b>\n<emoji document_id=5431376038628171216>💻</emoji> Код:\n<pre><code class=\"language-python\">{code}</code></pre>\n{result}\n<emoji document_id=5451732530048802485>⏳</emoji> Виконано за {time} секунд</b>"
|
||||||
|
result_no_error: "<emoji document_id=6334758581832779720>✅</emoji> Результат\n<pre><code class=\"language-python\">{result}</code></pre>"
|
||||||
|
result_error: "<emoji document_id=5440381017384822513>🚫</emoji> Помилка\n<pre><code class=\"language-python\">{result}</code></pre>"
|
||||||
|
res_return: "<emoji document_id=6334778871258286021>💾</emoji> Код повернув:\n<pre><code class=\"language-python\">{res}</code></pre>"
|
||||||
|
|
||||||
presets:
|
presets:
|
||||||
_fun_title: "🪩 Розважальні модулі"
|
_fun_title: "🪩 Розважальні модулі"
|
||||||
|
|
|
@ -91,7 +91,6 @@ BASE_DIR = (
|
||||||
BASE_PATH = Path(BASE_DIR)
|
BASE_PATH = Path(BASE_DIR)
|
||||||
CONFIG_PATH = BASE_PATH / "config.json"
|
CONFIG_PATH = BASE_PATH / "config.json"
|
||||||
|
|
||||||
IS_TERMUX = "com.termux" in os.environ.get("PREFIX", "")
|
|
||||||
IS_DOCKER = "DOCKER" in os.environ
|
IS_DOCKER = "DOCKER" in os.environ
|
||||||
IS_LAVHOST = "LAVHOST" in os.environ
|
IS_LAVHOST = "LAVHOST" in os.environ
|
||||||
IS_HIKKAHOST = "HIKKAHOST" in os.environ
|
IS_HIKKAHOST = "HIKKAHOST" in os.environ
|
||||||
|
@ -212,7 +211,7 @@ def run_config():
|
||||||
"""Load configurator.py"""
|
"""Load configurator.py"""
|
||||||
from . import configurator
|
from . import configurator
|
||||||
|
|
||||||
return configurator.api_config(IS_TERMUX or None)
|
return configurator.api_config(None)
|
||||||
|
|
||||||
|
|
||||||
def get_config_key(key: str) -> typing.Union[str, bool]:
|
def get_config_key(key: str) -> typing.Union[str, bool]:
|
||||||
|
@ -497,7 +496,6 @@ class Heroku:
|
||||||
if (
|
if (
|
||||||
not web_available
|
not web_available
|
||||||
or getattr(self.arguments, "disable_web", False)
|
or getattr(self.arguments, "disable_web", False)
|
||||||
or IS_TERMUX
|
|
||||||
):
|
):
|
||||||
self.web = None
|
self.web = None
|
||||||
return
|
return
|
||||||
|
@ -597,7 +595,7 @@ class Heroku:
|
||||||
async def _phone_login(self, client: CustomTelegramClient) -> bool:
|
async def _phone_login(self, client: CustomTelegramClient) -> bool:
|
||||||
phone = input(
|
phone = input(
|
||||||
"\033[0;96mEnter phone: \033[0m"
|
"\033[0;96mEnter phone: \033[0m"
|
||||||
if IS_TERMUX or self.arguments.tty
|
if self.arguments.tty
|
||||||
else "Enter phone: "
|
else "Enter phone: "
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -630,7 +628,7 @@ class Heroku:
|
||||||
|
|
||||||
print(
|
print(
|
||||||
(
|
(
|
||||||
"\033[0;96m{}\033[0m" if IS_TERMUX or self.arguments.tty else "{}"
|
"\033[0;96m{}\033[0m" if self.arguments.tty else "{}"
|
||||||
).format(
|
).format(
|
||||||
"You can use QR-code to login from another device (your friend's"
|
"You can use QR-code to login from another device (your friend's"
|
||||||
" phone, for example)."
|
" phone, for example)."
|
||||||
|
@ -640,7 +638,7 @@ class Heroku:
|
||||||
if (
|
if (
|
||||||
input(
|
input(
|
||||||
"\033[0;96mUse QR code? [y/N]: \033[0m"
|
"\033[0;96mUse QR code? [y/N]: \033[0m"
|
||||||
if IS_TERMUX or self.arguments.tty
|
if self.arguments.tty
|
||||||
else "Use QR code? [y/N]: "
|
else "Use QR code? [y/N]: "
|
||||||
).lower()
|
).lower()
|
||||||
!= "y"
|
!= "y"
|
||||||
|
@ -686,7 +684,7 @@ class Heroku:
|
||||||
while True:
|
while True:
|
||||||
_2fa = getpass(
|
_2fa = getpass(
|
||||||
f"\033[0;96mEnter 2FA password ({password.hint}): \033[0m"
|
f"\033[0;96mEnter 2FA password ({password.hint}): \033[0m"
|
||||||
if IS_TERMUX or self.arguments.tty
|
if self.arguments.tty
|
||||||
else f"Enter 2FA password ({password.hint}): "
|
else f"Enter 2FA password ({password.hint}): "
|
||||||
)
|
)
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -34,11 +34,7 @@ class Executor(loader.Module):
|
||||||
"""Выполнение python кода"""
|
"""Выполнение python кода"""
|
||||||
|
|
||||||
strings = {
|
strings = {
|
||||||
"name": "Executor",
|
"name": "Executor"
|
||||||
|
|
||||||
"no_code": "<emoji document_id=5854929766146118183>❌</emoji> <b>Должно быть </b><code>{}exec [python код]</code>",
|
|
||||||
|
|
||||||
"executing": "<b><emoji document_id=5332600281970517875>🔄</emoji> Выполняю код...</b>"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
@ -46,7 +42,7 @@ class Executor(loader.Module):
|
||||||
loader.ConfigValue(
|
loader.ConfigValue(
|
||||||
"hide_phone",
|
"hide_phone",
|
||||||
True,
|
True,
|
||||||
lambda: "Скрывает твой номер телефона при выводе",
|
lambda: self.strings["no_phone"],
|
||||||
validator=loader.validators.Boolean()
|
validator=loader.validators.Boolean()
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
@ -120,16 +116,12 @@ class Executor(loader.Module):
|
||||||
res = res.replace("+"+me.phone, t_h).replace(me.phone, t_h)
|
res = res.replace("+"+me.phone, t_h).replace(me.phone, t_h)
|
||||||
|
|
||||||
if result:
|
if result:
|
||||||
result = f"""{'<emoji document_id=6334758581832779720>✅</emoji> Результат' if not cerr else '<emoji document_id=5440381017384822513>🚫</emoji> Ошибка'}:
|
if not cerr:
|
||||||
<pre><code class="language-python">{result}</code></pre>
|
result = self.strings["result_no_error"].format(result={result})
|
||||||
"""
|
else:
|
||||||
if res or res == 0 or res == False and res is not None:
|
result = self.strings["result_error"].format(result={result})
|
||||||
result += f"""<emoji document_id=6334778871258286021>💾</emoji> Код вернул:
|
|
||||||
<pre><code class="language-python">{res}</code></pre>
|
|
||||||
"""
|
|
||||||
|
|
||||||
return await utils.answer(message, f"""<b>
|
if res or res == 0 or res == False and res is not None:
|
||||||
<emoji document_id=5431376038628171216>💻</emoji> Код:
|
result += self.string["res_return"].format(res={res})
|
||||||
<pre><code class="language-python">{code}</code></pre>
|
|
||||||
{result}
|
return await utils.answer(message, self.strings["result"].format(code={code}, result={result}, time=round({stop_time} - {start_time}, 5)))
|
||||||
<emoji document_id=5451732530048802485>⏳</emoji> Выполнен за {round(stop_time - start_time, 5)} секунд</b>""")
|
|
|
@ -46,6 +46,7 @@ PRESETS = {
|
||||||
"https://github.com/amm1edev/ame_repo/raw/refs/heads/main/Compliments.py",
|
"https://github.com/amm1edev/ame_repo/raw/refs/heads/main/Compliments.py",
|
||||||
"https://github.com/amm1edev/ame_repo/raw/refs/heads/main/mazemod.py",
|
"https://github.com/amm1edev/ame_repo/raw/refs/heads/main/mazemod.py",
|
||||||
"https://mods.codrago.life/dice.py",
|
"https://mods.codrago.life/dice.py",
|
||||||
|
"https://mods.codrago.life/randnum.py",
|
||||||
"https://mods.codrago.life/loli.py",
|
"https://mods.codrago.life/loli.py",
|
||||||
"https://mods.codrago.life/DoxTool.py",
|
"https://mods.codrago.life/DoxTool.py",
|
||||||
"https://mods.codrago.life/randomizer.py",
|
"https://mods.codrago.life/randomizer.py",
|
||||||
|
@ -64,6 +65,7 @@ PRESETS = {
|
||||||
"https://github.com/amm1edev/ame_repo/raw/refs/heads/main/filter.py",
|
"https://github.com/amm1edev/ame_repo/raw/refs/heads/main/filter.py",
|
||||||
"https://mods.codrago.life/id.py",
|
"https://mods.codrago.life/id.py",
|
||||||
"https://mods.codrago.life/clickon.py",
|
"https://mods.codrago.life/clickon.py",
|
||||||
|
"https://mods.codrago.life/autoclicker.py",
|
||||||
],
|
],
|
||||||
"service": [
|
"service": [
|
||||||
"https://github.com/amm1edev/ame_repo/raw/refs/heads/main/account_switcher.py",
|
"https://github.com/amm1edev/ame_repo/raw/refs/heads/main/account_switcher.py",
|
||||||
|
@ -81,7 +83,6 @@ PRESETS = {
|
||||||
"https://mods.codrago.life/modlist.py",
|
"https://mods.codrago.life/modlist.py",
|
||||||
],
|
],
|
||||||
"downloaders": [
|
"downloaders": [
|
||||||
"https://heta.dan.tatar/musicdl.py",
|
|
||||||
"https://github.com/amm1edev/ame_repo/raw/refs/heads/main/uploader.py",
|
"https://github.com/amm1edev/ame_repo/raw/refs/heads/main/uploader.py",
|
||||||
"https://github.com/amm1edev/ame_repo/raw/refs/heads/main/porn.py",
|
"https://github.com/amm1edev/ame_repo/raw/refs/heads/main/porn.py",
|
||||||
"https://github.com/amm1edev/ame_repo/raw/refs/heads/main/web2file.py",
|
"https://github.com/amm1edev/ame_repo/raw/refs/heads/main/web2file.py",
|
||||||
|
@ -166,7 +167,7 @@ class Presets(loader.Module):
|
||||||
)
|
)
|
||||||
|
|
||||||
async def _preset(self, call: InlineCall, preset: str):
|
async def _preset(self, call: InlineCall, preset: str):
|
||||||
await call.edit(
|
await self.inline.bot(call.edit)(
|
||||||
self.strings("preset").format(
|
self.strings("preset").format(
|
||||||
self.strings(f"_{preset}_title"),
|
self.strings(f"_{preset}_title"),
|
||||||
self.strings(f"_{preset}_desc"),
|
self.strings(f"_{preset}_desc"),
|
||||||
|
|
|
@ -936,9 +936,6 @@ def get_named_platform() -> str:
|
||||||
if main.IS_DOCKER:
|
if main.IS_DOCKER:
|
||||||
return "🐳 Docker"
|
return "🐳 Docker"
|
||||||
|
|
||||||
if main.IS_TERMUX:
|
|
||||||
return "🕶 Termux"
|
|
||||||
|
|
||||||
return f"✌️ lavHost {os.environ['LAVHOST']}" if main.IS_LAVHOST else "💎 VDS"
|
return f"✌️ lavHost {os.environ['LAVHOST']}" if main.IS_LAVHOST else "💎 VDS"
|
||||||
|
|
||||||
|
|
||||||
|
@ -970,16 +967,11 @@ def get_platform_emoji() -> str:
|
||||||
if main.IS_LAVHOST:
|
if main.IS_LAVHOST:
|
||||||
return BASE.format(5352753797531721191)
|
return BASE.format(5352753797531721191)
|
||||||
|
|
||||||
if main.IS_TERMUX:
|
|
||||||
return BASE.format(5350588498359377932)
|
|
||||||
|
|
||||||
if main.IS_DOCKER:
|
if main.IS_DOCKER:
|
||||||
return BASE.format(5352678227582152630)
|
return BASE.format(5352678227582152630)
|
||||||
|
|
||||||
return BASE.format(5393588431026674882)
|
return BASE.format(5393588431026674882)
|
||||||
|
|
||||||
allowed_ids = [1714120111, 1655585249]
|
|
||||||
|
|
||||||
def uptime() -> int:
|
def uptime() -> int:
|
||||||
"""
|
"""
|
||||||
Returns userbot uptime in seconds
|
Returns userbot uptime in seconds
|
||||||
|
@ -1000,35 +992,6 @@ def formatted_uptime() -> str:
|
||||||
return f"{days} day(s), {time_formatted}"
|
return f"{days} day(s), {time_formatted}"
|
||||||
return time_formatted
|
return time_formatted
|
||||||
|
|
||||||
async def add_uptime(client: CustomTelegramClient, minutes: int) -> str:
|
|
||||||
"""
|
|
||||||
Adds a custom uptime in minutes to the current uptime.
|
|
||||||
:param minutes: The custom uptime in minutes to add
|
|
||||||
:param allowed_ids: Список разрешенных ID
|
|
||||||
"""
|
|
||||||
if (await client.get_me()).id not in allowed_ids:
|
|
||||||
return "You are not allowed to add uptime."
|
|
||||||
|
|
||||||
global init_ts
|
|
||||||
seconds = minutes * 60
|
|
||||||
init_ts -= seconds
|
|
||||||
return "Added uptime!"
|
|
||||||
|
|
||||||
async def set_uptime(client: CustomTelegramClient, minutes: int) -> str:
|
|
||||||
"""
|
|
||||||
Sets a custom uptime in minutes. This will adjust the init_ts accordingly.
|
|
||||||
:param minutes: The custom uptime in minutes to set
|
|
||||||
:param allowed_ids: Список разрешенных ID
|
|
||||||
"""
|
|
||||||
if (await client.get_me()).id not in allowed_ids:
|
|
||||||
return "You are not allowed to added uptime."
|
|
||||||
|
|
||||||
global init_ts
|
|
||||||
seconds = minutes * 60
|
|
||||||
init_ts = time.perf_counter() - seconds
|
|
||||||
|
|
||||||
return " Uptime is on offer!"
|
|
||||||
|
|
||||||
def ascii_face() -> str:
|
def ascii_face() -> str:
|
||||||
"""
|
"""
|
||||||
Returnes cute ASCII-art face
|
Returnes cute ASCII-art face
|
||||||
|
|
Loading…
Reference in New Issue