# █ █ ▀ █▄▀ ▄▀█ █▀█ ▀ # █▀█ █ █ █ █▀█ █▀▄ █ # © Copyright 2022 # https://t.me/hikariatama # # 🔒 Licensed under the GNU AGPLv3 # 🌐 https://www.gnu.org/licenses/agpl-3.0.html import os from random import choice import logging from .. import loader, translations, utils from ..inline.types import BotInlineCall logger = logging.getLogger(__name__) imgs = [ "https://i.gifer.com/GmUB.gif", "https://i.gifer.com/Afdn.gif", "https://i.gifer.com/3uvT.gif", "https://i.gifer.com/2qQQ.gif", "https://i.gifer.com/Lym6.gif", "https://i.gifer.com/IjT4.gif", "https://i.gifer.com/A9H.gif", ] @loader.tds class QuickstartMod(loader.Module): """Notifies user about userbot installation""" strings = { "name": "Quickstart", "base": """🌘🇬🇧 Hello. You've just installed Hikka userbot. ❓ Need help? Feel free to join our support chat. We help everyone. 📼 You can find and install modules using @hikkamods_bot. Simply enter your search query and click ⛩ Install on needed module 📣 Check out community made channels with modules: show 💁‍♀️ Quickstart: 1️⃣ Type .help to see modules list 2️⃣ Type .help <ModuleName/command> to see help of module ModuleName 3️⃣ Type .dlmod <link> to load module from link 4️⃣ Type .loadmod with reply to file to install module from it 5️⃣ Type .unloadmod <ModuleName> to unload module ModuleName 💡 Hikka supports modules from Friendly-Telegram and GeekTG, as well as its own ones.""", "okteto": ( "☁️ Your userbot is installed on Okteto. You will get notifications" " from @WebpageBot. Do not block him." ), "railway": ( "🚂 Your userbot is installed on Railway. This platform has only" " 500 free hours per month. Once this limit is reached, your" " Hikka will be frozen. Next month you will need to go to" " https://railway.app and restart it." ), "language_saved": "🇬🇧 Language saved!", "language": "🇬🇧 English", } strings_ru = { "base": """🌘🇷🇺 Привет. Твой юзербот Hikka установлен. ❓ Нужна помощь? Вступай в наш чат поддержки. Мы помогаем всем. 📼 Ты можешь искать и устанавливать модули через @hikkamods_bot. Просто введи поисковый запрос и нажми ⛩ Install на нужном модуле 📣 Загляни в каналы с модулями, созданными комьюнити: показать 💁‍♀️ Быстрый гайд: 1️⃣ Напиши .help чтобы увидеть список модулей 2️⃣ Напиши .help <Название модуля/команда> чтобы увидеть описание модуля 3️⃣ Напиши .dlmod <ссылка> чтобы загрузить модуль из ссылка 4️⃣ Напиши .loadmod ответом на файл, чтобы загрузить модуль из него 5️⃣ Напиши .unloadmod <Название модуля> чтобы выгрузить модуль 💡 Hikka поддерживает модули из Friendly-Telegram и GeekTG, а также свои собственные. """, "okteto": ( "☁️ Твой юзербот установлен на Okteto. Ты будешь получать" " уведомления от @WebpageBot. Не блокируй его." ), "railway": ( "🚂 Твой юзербот установлен на Railway. На этой платформе ты" " получаешь только 500 бесплатных часов в месяц. Когда лимит будет" " достигнет, твой юзербот будет заморожен. В следующем месяце ты" " должен будешь перейти на https://railway.app и перезапустить его." ), "language_saved": "🇷🇺 Язык сохранен!", "language": "🇷🇺 Русский", } strings_de = { "base": """🌘🇩🇪 Hallo. Dein Userbot Hikka ist installiert. ❓ Brauchst du Hilfe? Trete unserem Support-Chat bei. Wir helfen allen. 📼 Du kannst Module über @hikkamods_bot suchen und installieren. Gib einfach einen Suchbegriff ein und drücke auf ⛩ Install auf dem gewünschten Modul 📣 Schaue dir die Module-Kanäle an, die von der Community erstellt wurden: anzeigen 💁‍♀️ Schnellstart: 1️⃣ Schreibe .help um eine Liste der Module zu sehen 2️⃣ Schreibe .help <Modulname/Befehl> um die Beschreibung des Moduls zu sehen 3️⃣ Schreibe .dlmod <Link> um ein Modul aus dem Link zu laden 4️⃣ Schreibe .loadmod als Antwort auf eine Datei, um ein Modul aus der Datei zu laden 5️⃣ Schreibe .unloadmod <Modulname> um ein Modul zu entladen 💡 Hikka unterstützt Module von Friendly-Telegram und GeekTG sowie eigene Module. """, "okteto": ( "☁️ Dein Userbot ist auf Okteto installiert. Du wirst" " Benachrichtigungen von @WebpageBot erhalten. Blockiere ihn nicht." ), "railway": ( "🚂 Dein Userbot ist auf Railway installiert. Du erhältst nur 500" " kostenlose Stunden pro Monat auf dieser Plattform. Wenn das Limit" " erreicht ist, wird dein Userbot eingefroren. Im nächsten Monat" " musst du zu https://railway.app gehen und ihn neu starten." ), "language_saved": "🇩🇪 Sprache gespeichert!", "language": "🇩🇪 Deutsch", } strings_uz = { "base": """🌘🇺🇿 Salom. Sizning Hikka userbotingiz o'rnatildi. ❓ Yordam kerakmi? Bizning qo'llab-quvvatlash chatingizga qo'shiling. Bizga hamma yordam bering. 📼 Siz @hikkamods_bot orqali modullarni qidirib va o'rnatishingiz mumkin. Faqat qidiruv so'zini kiriting va kerakli modulni ⛩ Install tugmasini bosing 📣 Bizning modullar kanallari bilan tanishing. Bizning jamoa tomonidan yaratilgan kanallarni ko'rish uchun bosing 💁‍♀️ Tezkor boshlash: 1️⃣ Modullar ro'yxatini ko'rish uchun .help yozing 2️⃣ Modul haqida ma'lumot olish uchun .help <Modul nomi/Buyruq> yozing 3️⃣ Modulni yuklash uchun .dlmod <Link> modulni linkidan yuklash uchun yozing 4️⃣ Modulni yuklash uchun .loadmod modulni fayldan yuklash uchun faylni javob qilib yozing 5️⃣ Modulni o'chirish uchun .unloadmod <Modul nomi> yozing 💡 Hikka Friendly-Telegram va GeekTG modullarini hamda o'z modullarini qo'llab-quvvatlaydi. """, "okteto": ( "☁️ Sizning userbotingiz Okteto platformasida o'rnatilgan." " Sizdan @WebpageBotga xabarlar keladi. Uni bloklashmaslik." ), "railway": ( "🚂 Sizning userbotingiz Railway platformasida o'rnatilgan." " Sizga bu platformada 500 ta bepul soat beriladi. Agar limit o'tgan" " bo'lsa, userbotingiz bloklanadi. Keyingi oyda" " https://railway.app ga o'tib, uni qayta ishga tushiring." ), "language_saved": "🇺🇿 Til saqlandi!", "language": "🇺🇿 O'zbekcha", } strings_tr = { "base": """🌘🇹🇷 Merhaba. Hikka kullanıcı botunuz kuruldu. ❓ Yardıma mı ihtiyacınız var? Yardım grubumuza katılın. Bizimle her şeyi paylaşın. 📼 Modülleri @hikkamods_bot ile arayabilir ve kurabilirsiniz. Sadece bir arama kelimesi girin ve istediğiniz modüle ⛩ Install tuşuna basın 📣 Topluluk tarafından oluşturulan kanalları görün: göster 💁‍♀️ Hızlı başlangıç: 1️⃣ Modüller listesini görmek için .help yazın 2️⃣ Modül hakkında bilgi almak için .help <Modul adı/Komut> yazın 3️⃣ Bir bağlantıdan modül yüklemek için .dlmod <Link> yazın 4️⃣ Bir modülü bir dosyadan yüklemek için .loadmod bir dosyanın yanıtını yazın 5️⃣ Bir modülü kaldırmak için .unloadmod <Modul adı> yazın 💡 Hikka Friendly-Telegram ve GeekTG modüllerini de dahil olmak üzere kendi modüllerini destekler. """, "okteto": ( "☁️ Kullanıcı botunuz Okteto'da kuruldu. @WebpageBot'dan mesajlar" " alırsınız. Onları engellemeyin." ), "railway": ( "🚂 Kullanıcı botunuz Railway'de kuruldu. Sizden 500 saat ücretsiz" " saat alırsınız. Sınır aşıldığında, kullanıcı botunuz" " engellenir. Gelecek ay, https://railway.app'a gidin ve onu yeniden" " başlatın." ), "language_saved": "🇹🇷 Dil kaydedildi!", "language": "🇹🇷 Türkçe", } strings_hi = { "base": """🌘🇮🇳 नमस्ते. आपका Hikka उपयोगकर्ता बॉट स्थापित किया गया है. ❓ क्या आपको मदद की आवश्यकता है? हमारे साथ मदद ग्रुप में शामिल हों. हम सब कुछ साझा करेंगे. 📼 मॉड्यूल्स को @hikkamods_bot से खोजें और इंस्टॉल करें. केवल एक खोज शब्द दर्ज करें और आपके लिए उपलब्ध मॉड्यूल पर ⛩ इंस्टॉल बटन पर क्लिक करें 📣 समुदाय द्वारा बनाए गए चैनल देखें: दिखाएं 💁‍♀️ त्वरित शुरुआत: 1️⃣ मॉड्यूलों की सूची देखने के लिए .help टाइप करें 2️⃣ मॉड्यूल के बारे में जानकारी प्राप्त करने के लिए .help <मॉड्यूल नाम/कमांड> टाइप करें 3️⃣ लिंक से मॉड्यूल इंस्टॉल करने के लिए .dlmod <लिंक> टाइप करें 4️⃣ एक मॉड्यूल को फाइल से लोड करने के लिए .loadmod एक फ़ाइल का उत्तर दर्ज करें 5️⃣ एक मॉड्यूल को हटाने के लिए .unloadmod <मॉड्यूल नाम> टाइप करें 💡 अपने मॉड्यूल को समर्थित करने के लिए, Hikka Friendly-Telegram और GeekTG मॉड्यूल भी शामिल हैं. """, "okteto": ( "☁️ आपका उपयोगकर्ता बॉट Okteto पर स्थापित किया गया है. आपको" " @WebpageBot से संदेश प्राप्त होते ही आपका उपयोगकर्ता बॉट अवरोधित कर" " दिया जाएगा. अगले महीने, https://railway.app पर जाएं और इसे फिर से" " शुरू करें." ), "language_saved": "🇮🇳 भाषा सहेजा गया!", "language": "🇮🇳 हिंदी", } async def client_ready(self): if self.get("disable_quickstart"): raise loader.SelfUnload self.mark = lambda: [ [{"text": "🥷 Support chat", "url": "https://t.me/hikka_talks"}], ] + utils.chunks( [ { "text": ( getattr(self, f"strings_{lang}") if lang != "en" else self.strings._base_strings )["language"], "callback": self._change_lang, "args": (lang,), } for lang in ["ru", "en", "uz", "tr", "hi", "de"] ], 2, ) self.text = ( lambda: self.strings("base") + (self.strings("okteto") if "OKTETO" in os.environ else "") + (self.strings("railway") if "RAILWAY" in os.environ else "") ) await self.inline.bot.send_animation(self._client.tg_id, animation=choice(imgs)) await self.inline.bot.send_message( self._client.tg_id, self.text(), reply_markup=self.inline.generate_markup(self.mark()), disable_web_page_preview=True, ) self.set("disable_quickstart", True) async def _change_lang(self, call: BotInlineCall, lang: str): self._db.set(translations.__name__, "lang", lang) await self.translator.init() for module in self.allmodules.modules: try: module.config_complete(reload_dynamic_translate=True) except Exception as e: logger.debug("Can't complete dynamic translations reload of %s due to %s", module, e) await call.answer(self.strings("language_saved")) await call.edit(text=self.text(), reply_markup=self.mark())