# █ █ ▀ █▄▀ ▄▀█ █▀█ ▀ # █▀█ █ █ █ █▀█ █▀▄ █ # © Copyright 2022 # https://t.me/hikariatama # # 🔒 Licensed under the GNU AGPLv3 # 🌐 https://www.gnu.org/licenses/agpl-3.0.html # scope: hikka_min 1.2.10 # meta pic: https://img.icons8.com/stickers/500/000000/cards.png # meta banner: https://mods.hikariatama.ru/badges/flash_cards.jpg # meta developer: @hikarimods import asyncio import io import json import re from random import randint from telethon.tl.types import Message from .. import loader, utils TEMPLATE = """
#{} {} successfully created!",
"deck_removed": "🚫 Deck removed",
"save_deck_no_reply": (
"🚫 This command should be used in reply to message with deck items."
),
"deck_saved": "✅ Deck saved!",
"generating_page": "⚙️ Generating page, please wait ...",
"offline_testing": "📖 Offline testing, based on deck {}",
}
strings_ru = {
"deck_not_found": "🚫 Дека не найденаТы не указал имя деки",
"deck_created": "#Deck #{} {} успешно создана!",
"deck_removed": "🚫 Дека удалена",
"save_deck_no_reply": (
"🚫 Эта команда должна выполняться в ответ на измененную деку."
),
"deck_saved": "✅ Дека сохранена!",
"generating_page": "⚙️ Генерирую страницу, секунду...",
"offline_testing": "📖 Оффлайн тестирование на основе деки {}",
"_cmd_doc_newdeck": "#{} {} erfolgreich erstellt!",
"deck_removed": "🚫 Deck entfernt",
"save_deck_no_reply": (
"🚫 Dieser Befehl sollte in Antwort auf eine Nachricht mit"
" Deck-Elementen"
" verwendet werden."
),
"deck_saved": "✅ Deck gespeichert!",
"generating_page": "⚙️ Seite wird generiert, bitte warten ...",
"offline_testing": "📖 Offline-Testing basierend auf dem Deck {}",
"_cmd_doc_newdeck": "#{} {} başarıyla oluşturuldu!",
"deck_removed": "🚫 Deck kaldırıldı",
"save_deck_no_reply": "🚫 Bu komut, deck öğeleriyle yanıtlanmalıdır.",
"deck_saved": "✅ Deck kaydedildi!",
"generating_page": "⚙️ Sayfa oluşturuluyor, lütfen bekleyin ...",
"offline_testing": "📖 {} deckine dayalı çevrimdışı test",
"_cmd_doc_newdeck": "#{} {} सफलतापूर्वक बनाया गया!",
"deck_removed": "🚫 डेक हटा दिया गया",
"save_deck_no_reply": (
"🚫 यह कमांड डेक आइटम के साथ उत्तर देने के लिए उपयोग किया जाना चाहिए।"
),
"deck_saved": "✅ डेक सहेज लिया गया!",
"generating_page": "⚙️ पेज उत्पन्न किया जा रहा है, कृपया प्रतीक्षा करें ...",
"offline_testing": "📖 {} डेक पर आधारित ऑफ़लाइन परीक्षण",
"_cmd_doc_newdeck": "<नाम> - एक नया डेक बनाएं",
"_cmd_doc_decks": "डेक दिखाएं",
"_cmd_doc_deletedeck": "<आईडी> - डेक हटाएं",
"_cmd_doc_listdeck": "<आईडी> - डेक दिखाएं",
"_cmd_doc_editdeck": "<आईडी> - डेक संपादित करें",
"_cmd_doc_savedeck": "<उत्तर> - डेक सहेजें",
"_cmd_doc_htmldeck": "<आईडी> - डेक पर आधारित ऑफ़लाइन परीक्षण बनाएं",
"_cls_doc": "फ्लैश कार्ड अध्ययन के लिए",
}
strings_uz = {
"deck_not_found": "🚫 Deck topilmadiDeck nomini kiritmadingiz",
"deck_created": "#Deck #{} {} muvaffaqiyatli yaratildi!",
"deck_removed": "🚫 Deck o'chirildi",
"save_deck_no_reply": (
"🚫 Bu buyruq deck elementlari bilan javob berilishi kerak."
),
"deck_saved": "✅ Deck saqlandi!",
"generating_page": "⚙️ Sahifa yaratilmoqda, iltimos kuting ...",
"offline_testing": "📖 {} deckiga asoslangan oflayn test",
"_cmd_doc_newdeck": "", "")
.replace("", "")
.replace("#", "")
)
try:
int(deck)
except Exception:
pass
if deck in self.decks:
if (
limit is None
or not limit
and "#Decks" not in reply.text
or counter == limit
):
return deck
else:
counter += 1
return False
async def get_from_message(self, message: Message):
args = utils.get_args_raw(message)
try:
args = args.split()[0]
except Exception:
pass
if args.startswith("#"):
args = args[1:]
try:
int_args = int(args)
except Exception:
args = False
int_args = False
if int(int_args) < 1000:
args = self.get_deck_from_reply(await message.get_reply_message(), int_args)
if not args or args not in self.decks:
await utils.answer(message, self.strings("deck_not_found"))
await asyncio.sleep(2)
await message.delete()
return False
return args
async def newdeckcmd(self, message: Message):
"""{item_id} |"
f" {item['name']}{items}\n\n"
)
await utils.answer(message, res)
async def deletedeckcmd(self, message: Message):
""".savedeck in reply to"
" this"
" message\nNote: you can edit title and cards, but other message should"
" stay untouched, otherwise it can be saved incorrectly! #Editing"
)
await utils.answer(message, res)
def remove_html(self, text):
return re.sub(r"<.*?>", "", text)
async def savedeckcmd(self, message: Message):
"""