diff --git a/hikka/langpacks/de.yml b/hikka/langpacks/de.yml
index 27384f2..e61c275 100644
--- a/hikka/langpacks/de.yml
+++ b/hikka/langpacks/de.yml
@@ -154,9 +154,13 @@ heroku_settings:
_cmd_doc_watchers: "Zeigt aktive Wächter an"
_cmd_doc_weburl: "Öffnet einen Tunnel zur Hikka-Weboberfläche"
core_protection_already_removed: "🔒 Kernschutz wurde bereits entfernt"
+ core_protection_already_enabled: "🔒 kernschutz wurde bereits installiert"
core_protection_confirm: "⚠️ BITTE SORGFÄLTIG LESEN!\n\nDurch das Entfernen des Kernschutzes bestätigst du, dass du weißt, was dies bedeutet und wofür es ist. Normalerweise benötigst du dies nicht. Wenn du kein Entwickler bist, benötigst du dies nicht. Wenn du unsicher bist, benötigst du dies nicht.\n\nBist du sicher, dass du den Kernschutz entfernen möchtest?"
+ core_protection_confirm_e: "⚠️ BITTE SORGFÄLTIG LESEN!\n\nDurch das installierst des Kernschutzes bestätigst du, dass du weißt, was dies bedeutet und wofür es ist. Normalerweise benötigst du dies nicht. Wenn du kein Entwickler bist, benötigst du dies nicht. Wenn du unsicher bist, benötigst du dies nicht.\n\nBist du sicher, dass du den Kernschutz installieren möchtest?"
core_protection_btn: "🔓 Kernschutz entfernen"
+ core_protection_e_btn: "🔓 Kernschutz installieren"
core_protection_removed: "🔓 Kernschutz erfolgreich entfernt"
+ core_protection_enabled: "🔓 Kernschutz erfolgreich installiert"
terminal:
fw_protect: "Verzögerung zwischen Bearbeitungen"
diff --git a/hikka/langpacks/en.yml b/hikka/langpacks/en.yml
index 58afbba..15d089c 100644
--- a/hikka/langpacks/en.yml
+++ b/hikka/langpacks/en.yml
@@ -166,9 +166,13 @@ heroku_settings:
_cmd_doc_weburl: "Opens web tunnel to your Heroku web interface"
_cls_doc: "Advanced settings for Heroku Userbot"
core_protection_already_removed: "🔒 Core protection is already removed"
+ core_protection_already_enabled: "🔒 Core protection is already set up"
core_protection_confirm: "⚠️ READ CAREFULLY!\n\nBy removing core protection you confirm, that you know what is it and what is it for. In common life scenario you don't need it. If you're not a developer, you don't need it. If you're not sure, you don't need it.\n\nAre you sure you want to remove core protection?"
+ core_protection_confirm_e: "⚠️ READ CAREFULLY!\n\nBy restoring core protection you confirm, that you know what is it and what is it for. In common life scenario you didn't need to remove it. If you're not a developer, you didn't need it. If you're not sure, you don't need it.\n\nAre you sure you want to restore core protection?"
core_protection_btn: "🔓 Remove core protection"
+ core_protection_e_btn: "🔓 Restore core protection"
core_protection_removed: "🔓 Core protection removed successfully"
+ core_protection_enabled: "🔓 Core protection enabled successfully"
terminal:
name: "Terminal"
diff --git a/hikka/langpacks/ru.yml b/hikka/langpacks/ru.yml
index 40fbae1..70ae39c 100644
--- a/hikka/langpacks/ru.yml
+++ b/hikka/langpacks/ru.yml
@@ -154,9 +154,13 @@ heroku_settings:
_cmd_doc_watchers: "Показать активные смотрители"
_cmd_doc_weburl: "Открыть тоннель к веб-интерфейсу Heroku"
core_protection_already_removed: "🔒 Защита ядра уже удалена"
+ core_protection_already_enabled: "🔒 Защита ядра уже установлена"
core_protection_confirm: "⚠️ ВНИМАТЕЛЬНО ПРОЧТИТЕ!\n\nУдаляя защиту ядра, вы подтверждаете, что знаете что это и для чего оно. В обычном сценарии жизни вам не нужно. Если вы не разработчик, вам не нужно. Если вы не уверены, вам не нужно.\n\nВы уверены, что хотите удалить защиту ядра?"
+ core_protection_confirm_e: "⚠️ ВНИМАТЕЛЬНО ПРОЧТИТЕ!\n\nВозвращая защиту ядра, вы подтверждаете, что знаете что это и для чего оно. В обычном сценарии жизни вам не нужно было её удалять. Если вы не разработчик, вам не нужно было этого делать. Если вы не уверены, вам не нужно.\n\nВы уверены, что хотите вернуть защиту ядра?"
core_protection_btn: "🔓 Удалить защиту ядра"
+ core_protection_e_btn: "🔓 Установить защиту ядра"
core_protection_removed: "🔓 Защита ядра успешно удалена"
+ core_protection_enabled: "🔓 Защита ядра успешно установлена"
terminal:
fw_protect: "Задержка между редактированиями"
diff --git a/hikka/langpacks/ua.yml b/hikka/langpacks/ua.yml
index 69d8f1f..43bcd64 100644
--- a/hikka/langpacks/ua.yml
+++ b/hikka/langpacks/ua.yml
@@ -154,9 +154,13 @@ heroku_settings:
_cmd_doc_watchers: "Показати активних наглядачів"
_cmd_doc_weburl: "Відкрити тунель до веб-інтерфейсу Heroku"
core_protection_already_removed: "🔒 Захист ядра вже видалено"
+ core_protection_already_enabled: "🔒 Захист ядра вже встановлений"
core_protection_confirm: "⚠️ УВАЖНО ПРОЧИТАТЙТЕ!\n\nВидаляючи захист ядра, ви підтверджуєте, що знаєте що це і для чого воно. В звичайному сценарії життя вам не треба. Якщо ви не розробник, вам не треба. Якщо ви не впевнені, вам не треба.\n\nВи впевнені, що хочете видалити захист ядра?"
+ core_protection_confirm_e: "⚠️ УВАЖНО ПРОЧИТАТЙТЕ!\n\nВстановлюючи захист ядра, ви підтверджуєте, що знаєте що це і для чого воно. В звичайному сценарії життя вам не треба. Якщо ви не розробник, вам не треба. Якщо ви не впевнені, вам не треба.\n\nВи впевнені, що хочете встановити захист ядра?"
core_protection_btn: "🔓 Видалити захист ядра"
+ core_protection_e_btn: "🔓 Встановити захист ядра"
core_protection_removed: "🔓 Захист ядра успішно видалений"
+ core_protection_enabled: "🔓 Захист ядра успішно встановлено"
terminal:
fw_protect: "Затримка між редагуваннями"
diff --git a/hikka/modules/heroku_settings.py b/hikka/modules/heroku_settings.py
index f160e45..4a62a21 100644
--- a/hikka/modules/heroku_settings.py
+++ b/hikka/modules/heroku_settings.py
@@ -528,6 +528,31 @@ class HerokuSettingsMod(loader.Module):
],
)
+ async def _enable_core_protection(self, call: InlineCall):
+ self._db.set(main.__name__, "remove_core_protection", False)
+ await call.edit(self.strings("core_protection_enabled"))
+
+ @loader.command()
+ async def enable_core_protection(self, message: Message):
+ if self._db.get(main.__name__, "remove_core_protection", True):
+ await utils.answer(message, self.strings("core_protection_already_enabled"))
+ return
+
+ await self.inline.form(
+ message=message,
+ text=self.strings("core_protection_confirm_e"),
+ reply_markup=[
+ {
+ "text": self.strings("core_protection_e_btn"),
+ "callback": self._enable_core_protection,
+ },
+ {
+ "text": self.strings("btn_no"),
+ "action": "close",
+ },
+ ],
+ )
+
async def inline__restart(
self,
call: InlineCall,