From c054bd423530f7fe3ca209ef310b32865f45032e Mon Sep 17 00:00:00 2001 From: Rilliat Date: Tue, 21 Jan 2025 21:24:06 +0300 Subject: [PATCH 1/5] fix reply in info --- hikka/modules/heroku_info.py | 1 + 1 file changed, 1 insertion(+) diff --git a/hikka/modules/heroku_info.py b/hikka/modules/heroku_info.py index 6fb332c..5e0abed 100644 --- a/hikka/modules/heroku_info.py +++ b/hikka/modules/heroku_info.py @@ -166,6 +166,7 @@ class HerokuInfoMod(loader.Module): message, self.config["banner_url"], self._render_info(False, start), + reply_to=getattr(message, 'reply_to', None), ) @loader.command() From f0620a8d9faf98d8f0fed78ef62a3f0f6b3fc209 Mon Sep 17 00:00:00 2001 From: Rilliat Date: Thu, 23 Jan 2025 22:34:21 +0300 Subject: [PATCH 2/5] tried to add rollback command --- hikka/langpacks/en.yml | 2 ++ hikka/modules/updater.py | 31 +++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/hikka/langpacks/en.yml b/hikka/langpacks/en.yml index cab2546..60d4b6f 100644 --- a/hikka/langpacks/en.yml +++ b/hikka/langpacks/en.yml @@ -370,6 +370,8 @@ updater: lavhost_update: "✌️ Your {} is updating..." full_success: "👍 Userbot is fully loaded! {}\nFull restart took {}s" secure_boot_complete: "🔐 Secure boot completed! {}\nRestart took {}s" + invalid_args: "🚫 You must provide number of commits to rollback!" + rollback_confirm: "❓ Are you sure you want to rollback {num} commits back?" _cmd_doc_restart: "Restarts the userbot" _cmd_doc_source: "Links the source code of this project" _cmd_doc_update: "Downloads userbot updates" diff --git a/hikka/modules/updater.py b/hikka/modules/updater.py index c137c77..6b51ad6 100644 --- a/hikka/modules/updater.py +++ b/hikka/modules/updater.py @@ -430,3 +430,34 @@ class UpdaterMod(loader.Module): inline_message_id=ms, text=self.inline.sanitise_text(msg), ) + + @loader.command() + async def rollback(self, message: Message): + if not (args := utils.get_args_raw(message)).isdigit(): + await utils.answer(message, self.strings('invalid_args')) + return + form = await self.inline.form( + message=message, + text=self.strings('rollback_confirm'.format(num=args)), + reply_markup=[ + [ + { + "text": "✅", + "callback": self.rollback_confirm, + "args": [args], + } + ], + [ + { + "text": "❌", + "action": "close", + } + ] + ] + ) + + async def rollback_confirm(self, call: InlineCall, number: int): + await utils.answer(call, self.strings('rollback_process').format(num=number)) + await asyncio.create_subprocess_shell(f'git reset --hard HEAD~{number}', stdout=asyncio.subprocess.PIPE) + await self.restart_common(call) + From f3fb4ee58fbea08d819c5736408339acad20e116 Mon Sep 17 00:00:00 2001 From: Rilliat Date: Thu, 23 Jan 2025 22:36:59 +0300 Subject: [PATCH 3/5] tried to add rollback command --- hikka/modules/updater.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hikka/modules/updater.py b/hikka/modules/updater.py index 6b51ad6..2b12368 100644 --- a/hikka/modules/updater.py +++ b/hikka/modules/updater.py @@ -438,7 +438,7 @@ class UpdaterMod(loader.Module): return form = await self.inline.form( message=message, - text=self.strings('rollback_confirm'.format(num=args)), + text=self.strings('rollback_confirm').format(num=args), reply_markup=[ [ { From 3ae0c56bbc9c9408f9bc03d54926d4e21c68752d Mon Sep 17 00:00:00 2001 From: Rilliat Date: Thu, 23 Jan 2025 22:42:41 +0300 Subject: [PATCH 4/5] tried to add rollback command --- hikka/langpacks/de.yml | 2 ++ hikka/langpacks/en.yml | 2 +- hikka/langpacks/ru.yml | 2 ++ hikka/langpacks/ua.yml | 2 ++ 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/hikka/langpacks/de.yml b/hikka/langpacks/de.yml index b6cba1b..d2ef76b 100644 --- a/hikka/langpacks/de.yml +++ b/hikka/langpacks/de.yml @@ -348,6 +348,8 @@ updater: cancel: "🚫 Abbrechen" _cls_doc: "Aktualisiert den Userbot" lavhost_update: "✌️ Dein {} wird aktualisiert..." + invalid_args: "🚫 Sie müssen die Anzahl der Commits angeben, die zurückgesetzt werden sollen!" + rollback_confirm: "❓ Sind Sie sicher, dass Sie {num} Commit(s) zurücksetzen möchten?" _cmd_doc_restart: "Startet den Userbot neu" _cmd_doc_source: "Zeigt den Link zum Quellcode des Projekts" _cmd_doc_update: "Lädt Updates für den Userbot herunter" diff --git a/hikka/langpacks/en.yml b/hikka/langpacks/en.yml index 60d4b6f..3d60aa8 100644 --- a/hikka/langpacks/en.yml +++ b/hikka/langpacks/en.yml @@ -371,7 +371,7 @@ updater: full_success: "👍 Userbot is fully loaded! {}\nFull restart took {}s" secure_boot_complete: "🔐 Secure boot completed! {}\nRestart took {}s" invalid_args: "🚫 You must provide number of commits to rollback!" - rollback_confirm: "❓ Are you sure you want to rollback {num} commits back?" + rollback_confirm: "❓ Are you sure you want to rollback {num} commit(-s)?" _cmd_doc_restart: "Restarts the userbot" _cmd_doc_source: "Links the source code of this project" _cmd_doc_update: "Downloads userbot updates" diff --git a/hikka/langpacks/ru.yml b/hikka/langpacks/ru.yml index becc0ab..a55d609 100644 --- a/hikka/langpacks/ru.yml +++ b/hikka/langpacks/ru.yml @@ -339,6 +339,8 @@ updater: cancel: "🚫 Отмена" _cls_doc: "Обновляет юзербот" lavhost_update: "✌️ Твой {} обновляется..." + invalid_args: "🚫 Вы должны указать количество коммитов для отката!" + rollback_confirm: "❓ Вы уверены, что хотите откатить {num} коммит(-а,-ов)?" _cmd_doc_restart: "Перезагружает юзербот" _cmd_doc_source: "Показать ссылку на исходный код проекта" _cmd_doc_update: "Скачивает обновления юзербота" diff --git a/hikka/langpacks/ua.yml b/hikka/langpacks/ua.yml index 607c8b2..b10099f 100644 --- a/hikka/langpacks/ua.yml +++ b/hikka/langpacks/ua.yml @@ -348,6 +348,8 @@ updater: cancel: "🚫 Скасувати" _cls_doc: "Оновлює юзербот" lavhost_update: "✌️ Твій {} оновлюється..." + invalid_args: "🚫 Вы должны указать количество коммитов для отката!" + rollback_confirm: "❓ Вы уверены, что хотите откатить {num} коммит(-а,-ов)?" _cmd_doc_restart: "Перезавантажує юзербот" _cmd_doc_source: "Показати посилання на вихідний код проекту" _cmd_doc_update: "Завантажує оновлення юзербота" From 35062c9b7fb3d250c179f467a4812a7bd3f361cb Mon Sep 17 00:00:00 2001 From: Rilliat Date: Fri, 24 Jan 2025 14:28:17 +0300 Subject: [PATCH 5/5] remove ability to roll more than 10 commits back --- hikka/langpacks/de.yml | 1 + hikka/langpacks/en.yml | 1 + hikka/langpacks/ru.yml | 1 + hikka/langpacks/ua.yml | 1 + hikka/modules/updater.py | 3 +++ 5 files changed, 7 insertions(+) diff --git a/hikka/langpacks/de.yml b/hikka/langpacks/de.yml index d2ef76b..b514b31 100644 --- a/hikka/langpacks/de.yml +++ b/hikka/langpacks/de.yml @@ -349,6 +349,7 @@ updater: _cls_doc: "Aktualisiert den Userbot" lavhost_update: "✌️ Dein {} wird aktualisiert..." invalid_args: "🚫 Sie müssen die Anzahl der Commits angeben, die zurückgesetzt werden sollen!" + rollback_too_far: "🚫 Du rollst zu weit zurück!" rollback_confirm: "❓ Sind Sie sicher, dass Sie {num} Commit(s) zurücksetzen möchten?" _cmd_doc_restart: "Startet den Userbot neu" _cmd_doc_source: "Zeigt den Link zum Quellcode des Projekts" diff --git a/hikka/langpacks/en.yml b/hikka/langpacks/en.yml index 3d60aa8..b0fd102 100644 --- a/hikka/langpacks/en.yml +++ b/hikka/langpacks/en.yml @@ -371,6 +371,7 @@ updater: full_success: "👍 Userbot is fully loaded! {}\nFull restart took {}s" secure_boot_complete: "🔐 Secure boot completed! {}\nRestart took {}s" invalid_args: "🚫 You must provide number of commits to rollback!" + rollback_too_far: "🚫 You're rolling back too far!" rollback_confirm: "❓ Are you sure you want to rollback {num} commit(-s)?" _cmd_doc_restart: "Restarts the userbot" _cmd_doc_source: "Links the source code of this project" diff --git a/hikka/langpacks/ru.yml b/hikka/langpacks/ru.yml index a55d609..c76dd40 100644 --- a/hikka/langpacks/ru.yml +++ b/hikka/langpacks/ru.yml @@ -340,6 +340,7 @@ updater: _cls_doc: "Обновляет юзербот" lavhost_update: "✌️ Твой {} обновляется..." invalid_args: "🚫 Вы должны указать количество коммитов для отката!" + rollback_too_far: "🚫 Вы откатываетесь слишком далеко!" rollback_confirm: "❓ Вы уверены, что хотите откатить {num} коммит(-а,-ов)?" _cmd_doc_restart: "Перезагружает юзербот" _cmd_doc_source: "Показать ссылку на исходный код проекта" diff --git a/hikka/langpacks/ua.yml b/hikka/langpacks/ua.yml index b10099f..ac36d68 100644 --- a/hikka/langpacks/ua.yml +++ b/hikka/langpacks/ua.yml @@ -349,6 +349,7 @@ updater: _cls_doc: "Оновлює юзербот" lavhost_update: "✌️ Твій {} оновлюється..." invalid_args: "🚫 Вы должны указать количество коммитов для отката!" + rollback_too_far: "🚫 Ви відкочуєтесь занадто далеко!" rollback_confirm: "❓ Вы уверены, что хотите откатить {num} коммит(-а,-ов)?" _cmd_doc_restart: "Перезавантажує юзербот" _cmd_doc_source: "Показати посилання на вихідний код проекту" diff --git a/hikka/modules/updater.py b/hikka/modules/updater.py index 2b12368..8295b5a 100644 --- a/hikka/modules/updater.py +++ b/hikka/modules/updater.py @@ -436,6 +436,9 @@ class UpdaterMod(loader.Module): if not (args := utils.get_args_raw(message)).isdigit(): await utils.answer(message, self.strings('invalid_args')) return + if int(args) > 10: + await utils.answer(message, self.strings('rollback_too_far')) + return form = await self.inline.form( message=message, text=self.strings('rollback_confirm').format(num=args),