# ©️ Dan Gazizullin, 2021-2023 # This file is a part of Hikka Userbot # 🌐 https://github.com/hikariatama/Hikka # You can redistribute it and/or modify it under the terms of the GNU AGPLv3 # 🔑 https://www.gnu.org/licenses/agpl-3.0.html import git from hikkatl.tl.types import Message from hikkatl.utils import get_display_name from .. import loader, utils, version from ..inline.types import InlineQuery @loader.tds class HikkaInfoMod(loader.Module): """Show userbot info""" strings = { "name": "HikkaInfo", "owner": "Owner", "version": "Version", "build": "Build", "prefix": "Prefix", "uptime": "Uptime", "branch": "Branch", "cpu_usage": "CPU usage", "ram_usage": "RAM usage", "send_info": "Send userbot info", "description": "ℹ This will not compromise any sensitive info", "up-to-date": ( "😌 Up-to-date" ), "update_required": ( "😕 Update required" " .update" ), "setinfo_no_args": ( "😢 You need to specify" " text to change info to" ), "setinfo_success": ( "🎉 Info changed" " successfully" ), "_cfg_cst_msg": ( "Custom message for info. May contain {me}, {version}, {build}, {prefix}," " {platform}, {upd}, {uptime}, {cpu_usage}, {ram_usage}, {branch} keywords" ), "_cfg_cst_btn": "Custom button for info. Leave empty to remove button", "_cfg_banner": "URL to image banner", "desc": ( "🌘 Userbot — what is" " it?\n\n😎 A userbot" " refers to a third-party program that interacts with the Telegram" " API to perform automated tasks on behalf of a user. These userbots" " can be used to automate various tasks such as sending messages," " joining channels, downloading media, and much more.\n\n😎 Userbots are different from" " regular Telegram bots as they run on the user's account rather" " than a bot account. This means that userbots can access more features and" " have greater flexibility in terms of the actions they can" " perform.\n\n🚫 However, it" " is important to note that userbots are not officially supported by" " Telegram and their use may violate the platform's terms of service." " As such, users should exercise caution when using userbots and" " ensure that they are not being used for malicious purposes.\n\n" ), } strings_ru = { "owner": "Владелец", "version": "Версия", "build": "Сборка", "prefix": "Префикс", "uptime": "Аптайм", "branch": "Ветка", "cpu_usage": "Использование CPU", "ram_usage": "Использование RAM", "send_info": "Отправить информацию о юзерботе", "description": "ℹ Это не раскроет никакой личной информации", "_ihandle_doc_info": "Отправить информацию о юзерботе", "up-to-date": ( "😌 Актуальная версия" ), "update_required": ( "😕 Требуется обновление" " .update" ), "_cfg_cst_msg": ( "Кастомный текст сообщения в info. Может содержать ключевые слова {me}," " {version}, {build}, {prefix}, {platform}, {upd}, {uptime}, {cpu_usage}," " {ram_usage}, {branch}" ), "_cfg_cst_btn": ( "Кастомная кнопка в сообщении в info. Оставь пустым, чтобы убрать кнопку" ), "_cfg_banner": "Ссылка на баннер-картинку", "setinfo_no_args": ( "😢 Тебе нужно указать" " текст для кастомного инфо" ), "setinfo_success": ( "🎉 Текст инфо успешно" " изменен" ), "desc": ( "🌘 Что такое" " Userbot?\n\n😎 Userbot" " - это сторонняя программа, которая взаимодействует с Telegram API" " для выполнения автоматизированных задач от имени пользователя." " Юзерботы могут использоваться для автоматизации различных задач, таких" " как отправка сообщений, присоединение к каналам, загрузка медиафайлов" " и многое другое.\n\n😎" " Юзерботы отличаются от обычных ботов в Telegram тем, что они работают" " на аккаунте пользователя, а не на бот-аккаунте. Это означает, что они" " могут иметь доступ к большему количеству функций и обладают большей" " гибкостью в плане выполнения действий.\n\n🚫 Однако важно отметить, что" " юзерботы официально не поддерживаются Telegram и их использование" " может нарушать условия использования платформы. Поэтому пользователи" " должны быть осторожны при их использовании и убедиться, что на их" " аккаунте не выполняется вредоносный код.\n\n" ), } strings_fr = { "owner": "Propriétaire", "version": "Version", "build": "Construire", "prefix": "Préfixe", "uptime": "Uptime", "branch": "Branche", "cpu_usage": "Utilisation du CPU", "ram_usage": "Utilisation de la RAM", "send_info": "Envoyer des informations sur l'utilisateurbot", "description": "ℹ Cela ne révélera aucune information personnelle", "_ihandle_doc_info": "Envoyer des informations sur l'utilisateurbot", "up-to-date": ( "😌 Version à jour" ), "update_required": ( "😕 Mise à jour" " requise .update" ), "_cfg_cst_msg": ( "Texte de message personnalisé dans info. Peut contenir les mots clés" " {me}, {version}, {build}, {prefix}, {platform}, {upd}, {uptime}," " {cpu_usage}, {ram_usage}, {branch}" ), "_cfg_cst_btn": ( "Bouton personnalisé dans le message dans info. Laissez vide pour supprimer" " le bouton" ), "_cfg_banner": "Lien vers la bannière de l'image", "setinfo_no_args": ( "😢 Vous devez spécifier" " le texte pour l'info personnalisée" ), "setinfo_success": ( "🎉 L'info personnalisée" " a bien été modifiée" ), "desc": ( "🌘 Qu'est-ce qu'un" " Userbot?\n\n😎 Userbot" " est un programme tiers qui interagit avec l'API Telegram pour" " exécuter des tâches automatisées au nom de l'utilisateur. Les" " userbots peuvent être utilisés pour automatiser diverses tâches, telles" " que l'envoi de messages, l'adhésion aux canaux, le téléchargement de" " fichiers multimédias et bien plus encore.\n\n😎 Les userbots diffèrent des bots" " Telegram classiques dans le sens où ils fonctionnent sur le compte de" " l'utilisateur et non sur un compte de bot. Cela signifie qu'ils" " peuvent avoir accès à plus de fonctions et être plus flexibles dans" " l'exécution de leurs actions.\n\n🚫 Cependant, il est important de" " noter que les userbots ne sont pas officiellement pris en charge par" " Telegram et leur utilisation peut enfreindre les conditions" " d'utilisation de la plateforme. Par conséquent, les utilisateurs" " doivent faire preuve de prudence lors de leur utilisation et" " s'assurer que le code malveillant n'est pas exécuté sur leur compte.\n\n" ), } strings_it = { "owner": "Proprietario", "version": "Versione", "build": "Build", "prefix": "Prefisso", "uptime": "Uptime", "branch": "Branch", "cpu_usage": "Uso CPU", "ram_usage": "Uso RAM", "send_info": "Invia info del bot", "description": "ℹ Questo non rivelera' alcuna informazione personale", "_ihandle_doc_info": "Invia info del bot", "up-to-date": ( "😌 Versione" " aggiornata" ), "update_required": ( "😕 Aggiornamento" " richiesto .update" ), "_cfg_cst_msg": ( "Messaggio personalizzato per info. Puo' contenere {me}, {version}," " {build}, {prefix}, {platform}, {upd}, {uptime}, {cpu_usage}, {ram_usage}," " {branch} keywords" ), "_cfg_cst_btn": "Bottone personalizzato per info. Lascia vuoto per rimuovere", "_cfg_banner": "URL dell'immagine banner", "desc": ( "🌘 Che cos'è un" " Userbot?\n\n😎 Il" " Userbot è un programma esterno che interagisce con l'API di" " Telegram per eseguire compiti automatizzati a nome dell'utente. I" " userbot possono essere utilizzati per automatizzare diversi compiti, come" " invio di messaggi, iscrizione a canali, caricamento di file" " multimediali e molto altro ancora.\n\n😎 I userbot differiscono dai bot" " di Telegram nel fatto che funzionano con gli account utente e non" " con quelli di bot. Ciò significa che possono avere accesso a più" " funzionalità e una maggiore flessibilità nella loro esecuzione.\n\n🚫 Tuttavia, è importante notare" " che i userbot non sono supportati ufficialmente da Telegram e" " l'utilizzo di quest'ultimi può violare i termini di utilizzo della" " piattaforma. Pertanto, gli utenti devono essere cautelosi quando li" " utilizzano e assicurarsi che sul loro account non venga eseguito codice" " malevolo.\n\n" ), } strings_de = { "owner": "Besitzer", "version": "Version", "build": "Build", "prefix": "Prefix", "uptime": "Uptime", "branch": "Branch", "cpu_usage": "CPU Nutzung", "ram_usage": "RAM Nutzung", "send_info": "Botinfo senden", "description": "ℹ Dies enthüllt keine persönlichen Informationen", "_ihandle_doc_info": "Sende Botinfo", "up-to-date": "😌 Aktuell", "update_required": ( "😕 Update benötigt" " .update" ), "_cfg_cst_msg": ( "Custom message for info. May contain {me}, {version}, {build}, {prefix}," " {platform}, {upd}, {uptime}, {cpu_usage}, {ram_usage}, {branch} keywords" ), "_cfg_cst_btn": "Custom button for info. Leave empty to remove button", "_cfg_banner": "URL to image banner", "setinfo_no_args": ( "😢 Bitte gib einen" " Text an, um die Info zu ändern" ), "setinfo_success": ( "🎉 Info geändert" ), "desc": ( "🌘 Was ist ein" " Userbot?\n\n😎 Userbot" " ist ein externe Programm, welches mit der Telegram API" " kommuniziert, um automatisierte Aufgaben für den Benutzer" " auszuführen. Userbots können benutzt werden, um verschiedene Aufgaben zu" " automatisieren, wie zum Beispiel Nachrichten senden, Kanäle beitreten," " Medien hochladen und vieles mehr.\n\n😎 Userbots unterscheiden sich von" " normalen Telegram Bots darin, dass sie auf einem Benutzerkonto" " laufen und nicht auf einem Botkonto. Das bedeutet, dass sie mehr" " Funktionen haben und mehr Flexibilität bei der Ausführung von Aktionen" " haben.\n\n🚫 Es ist jedoch" " wichtig zu beachten, dass Userbots nicht offiziell von Telegram" " unterstützt werden und ihre Verwendung gegen die Nutzungsbedingungen" " von Telegram verstoßen kann. Deshalb müssen Benutzer vorsichtig sein," " wenn sie Userbots benutzen und sicherstellen, dass auf ihrem Konto" " kein schädlicher Code ausgeführt wird.\n\n" ), } strings_uz = { "owner": "Egasi", "version": "Versiya", "build": "Build", "prefix": "Prefix", "uptime": "Ishlash vaqti", "branch": "Vetkasi", "cpu_usage": "CPU foydalanish", "ram_usage": "RAM foydalanish", "send_info": "Bot haqida ma'lumot", "description": "ℹ Bu shaxsiy ma'lumot emas", "_ihandle_doc_info": "Bot haqida ma'lumot", "up-to-date": ( "😌 So'ngi versia" ), "update_required": ( "😕 Yangilash" " kerak .update" ), "_cfg_cst_msg": ( "Xabar uchun shaxsiy xabar. {me}, {version}, {build}, {prefix}, {platform}," " {upd}, {uptime}, {cpu_usage}, {ram_usage}, {branch} kalit so'zlarni" " ishlatishingiz mumkin" ), "_cfg_cst_btn": ( "Xabar uchun shaxsiy tugma. Tugmani o'chirish uchun bo'sh qoldiring" ), "_cfg_banner": "URL uchun rasmi", "setinfo_no_args": ( "😢 Ma'lumotni" " o'zgartirish uchun matn kiriting" ), "setinfo_success": ( "🎉 Ma'lumotlar" " o'zgartirildi" ), "desc": ( "🌘 Userbot" " nima?\n\n😎 Userbot -" " bu tashqi dastur, foydalanuvchi tomonidan ishlaydigan" " Telegram API bilan aloqa qilish uchun ishlatiladi. Userbotlarni" " avtomatlashtirilgan vazifalarni bajarish uchun ishlatish mumkin." " Userbotlar habarlarni yuborish, kanallarga ulanish, media fayllarni" " yuklash va boshqa biror vazifa bajarish uchun ishlatilishi" " mumkin.\n\n😎 Userbotlar" " Telegramda obyektiv bo'lgan botlardan farqli. Userbotlar" " bot-hisobotlaridan ishlaydi, foydalanuvchi hisobotidan" " ishlaydi. Bu shuni anglatadiki, userbotlar Telegram platformasida" " ishlash uchun kerakli funksiyalarga ega va ular qanday vazifalarni" " bajarishni xohlayotgan bo'lishi mumkin.\n\n🚫 Lekin shuni unutmangki," " userbotlar Telegram tomonidan rasmiylashtirilmagan va ularni" " ishlatish Telegram shartlari bilan bir-biriga mos kelmaydi." " Shuning uchun foydalanuvchilar userbotlarni ishlatishda qattiq" " bo'lishi lozim va ularning hisobotlari bo'lmaguncha biror zararli" " kod yuklamasini tekshirish kerak.\n\n" ), } strings_tr = { "owner": "Sahip", "version": "Sürüm", "build": "Derleme", "prefix": "Önek", "uptime": "Aktif Süre", "branch": "Dal", "cpu_usage": "CPU Kullanımı", "ram_usage": "RAM Kullanımı", "send_info": "Bot hakkında bilgi", "description": "ℹ️ Kişisel bilgileri tehlikeye atmaz", "_ihandle_doc_info": "Bot hakkında bilgi", "up-to-date": "😌 Güncel", "update_required": ( "😕 Güncelleme" " gerekli .update" ), "_cfg_cst_msg": ( "Kişisel mesaj için bilgi. {me}, {version}, {build}, {prefix}, {platform}," " {upd}, {uptime}, {cpu_usage}, {ram_usage}, {branch} anahtar kelimeleri" " kullanılabilir" ), "_cfg_cst_btn": "Kişisel tuş için bilgi. Tuşu kaldırmak için boş bırakın", "_cfg_banner": "Resim için URL", "setinfo_no_args": ( "😢 Bilgiyi değiştirmek" " için herhangi bir metin girin" ), "setinfo_success": ( "🎉 Bilgiler" " değiştirildi" ), "desc": ( "🌘 Neden" " Userbot?\n\n😎 Userbot" " - Telegram API ile Kullanıcı adına otomatikleştirilmiş" " işlemleri yürüten bir üçüncü taraf programıdır. Userbotlar," " mesaj gönderme, kanallara katılma, medya yükleme ve diğer işlemleri" " otomatize etmek için kullanılabilecek birçok işi otomatize etmenizi" " sağlar.\n\n😎 Userbotlar," " normal Telegram botlarından farklı olarak, Kullanıcı hesabında" " çalışırlar. Bu, daha fazla iş yapmalarına ve daha esnek" " olmalarına olanak verir.\n\n🚫 Bununla birlikte, Userbotlar" " Telegram tarafından resmi olarak desteklenmez ve bunların kullanımı" " platformun kullanım koşullarını ihlal edebilir. Kullanıcılar bu" " nedenle Userbotların kullanımını dikkatli bir şekilde yapmalıdır ve" " kullanıcı hesaplarında kötü niyetli kodun çalıştırılmadığından emin" " olmalıdırlar.\n\n" ), } strings_es = { "owner": "Propietario", "version": "Versión", "build": "Construir", "prefix": "Prefijo", "uptime": "Tiempo de actividad", "branch": "Rama", "cpu_usage": "Uso de CPU", "ram_usage": "Uso de RAM", "send_info": "Enviar información del bot", "description": "ℹ️ No exponga su información personal", "_ihandle_doc_info": "Información del bot", "up-to-date": ( "😌 Actualizado" ), "update_required": ( "😕 Actualización" " necesaria .update" ), "_cfg_cst_msg": ( "Información del mensaje personalizado. Puede usar las palabras clave {me}," " {version}, {build}, {prefix}, {platform}, {upd}, {uptime}, {cpu_usage}," " {ram_usage}, {branch}" ), "_cfg_cst_btn": ( "Información del botón personalizado. Eliminar el botón deje en blanco" ), "_cfg_banner": "URL de la imagen", "setinfo_no_args": ( "😢 Para cambiar la" " información, ingrese algún texto" ), "setinfo_success": ( "🎉 Información cambiada" " con éxito" ), "desc": ( "🌘 ¿Qué es un" " Userbot?\n\n😎 Un" " Userbot es un programa externo que interactúa con la API de" " Telegram para realizar tareas automatizadas en nombre del usuario." " Los userbots pueden utilizarse para automatizar diversas tareas, como" " envío de mensajes, unirse a canales, subir archivos multimedia y mucho" " más.\n\n😎 Los userbots" " se diferencian de los bots normales de Telegram en que trabajan en la" " cuenta del usuario en lugar de en una cuenta de bot. Esto significa" " que tienen acceso a más funciones y son más flexibles a la hora de" " realizar acciones.\n\n🚫" " Sin embargo, es importante señalar que los userbots no son oficiales y" " no son compatibles con Telegram y su uso puede violar los términos de" " servicio de la plataforma. Por lo tanto, los usuarios deben tener" " cuidado al usarlos y asegurarse de que en su cuenta no se ejecute" " código malicioso.\n\n" ), } strings_kk = { "owner": "Әкімші", "version": "Нұсқасы", "build": "Құрылған", "prefix": "Бастауыш", "uptime": "Қосылған кезең", "branch": "Бөлімі", "cpu_usage": "CPU қолданымы", "ram_usage": "RAM қолданымы", "send_info": "Бот туралы ақпарат", "description": "ℹ️ Жеке мәліметтеріңізді қорғау", "_ihandle_doc_info": "Бот туралы ақпарат", "up-to-date": ( "😌 Жаңартылған" ), "update_required": ( "😕 Жаңарту" " талап етіледі .update" ), "_cfg_cst_msg": ( "Жеке хабарлама үшін ақпарат. {me}, {version}, {build}, {prefix}," " {platform}, {upd}, {uptime}, {cpu_usage}, {ram_usage}, {branch} кілт" " сөздерді қолдана аласыз" ), "_cfg_cst_btn": "Жеке түйме үшін ақпарат. Түймесін жою үшін бос қалдырыңыз", "_cfg_banner": "Сурет үшін URL", "setinfo_no_args": ( "😢 Ақпаратты өзгерту үшін" " ештеңе енгізбеңіз" ), "setinfo_success": ( "🎉 Ақпарат сәтті" " өзгертілді" ), "desc": ( "🌘 Пайдаланушы боттарды" " қандай болады?\n\n😎" " Пайдаланушы боттар - шетел программа, ол Telegram API мен" " қолданушының атымен байланысады және автоматтандырылған жұмыстарды" " өткізеді. Пайдаланушы боттар хабарламаларды жіберу, каналға" " қосылу, медиа файлдарды жүктеу және басқа қарастырылмаған жұмыстарды" " жасау үшін пайдаланылады.\n\n😎 Пайдаланушы боттар Telegram" " боттарынан айырмалы, себебі олар пайдаланушының аккаунтымен жұмыс" " істейді, бот-аккаунтпен жұмыс істеуге берілмейді. Бұл оларға" " қатысуға болатын көп көрсеткіштерге және жұмыс істеуге көп" " құралдарға болатын жақсы құралдарды береді.\n\n🚫 Одан қосымша, пайдаланушы" " боттардың Telegram үшін официалды қолдау көрсетуі жоқ және оларды" " пайдалану орталығының қолдану шарттарын бүгінге дейін бұзуы мүмкін." " Оларды пайдалану қолданушыларға қатысатын нәтижелердің барлығын" " қарауға мүмкіндік береді.\n\n" ), } strings_tt = { "owner": "Идарәче", "version": "Версия", "build": "Билд", "prefix": "Префикс", "uptime": "Тәртиби вакыты", "branch": "Кишелек", "cpu_usage": "CPU җыелмасы", "ram_usage": "RAM җыелмасы", "send_info": "Бот турында мәгълүматны җибәрү", "description": "ℹ️ Шәхси мәгълүматыңызны тыяу", "_ihandle_doc_info": "Бот турында мәгълүмат", "up-to-date": ( "😌 Яңартылган" ), "update_required": ( "😕 Яңартылу" " таләп ителә.update" ), "_cfg_cst_msg": ( "Шәхси хәбәр мәгълүматы. {me}, {version}, {build}, {prefix}, {platform}," " {upd}, {uptime}, {cpu_usage}, {ram_usage}, {branch} күчермәләрен җибәрү" " мөмкин" ), "_cfg_cst_btn": "Шәхси төймә мәгълүматы. Төймәне юймагыч, буш җибәрү", "_cfg_banner": "Сүрәт URL-ы", "setinfo_no_args": ( "😢 Мәгълүматны" " үзгәртү өчен, мәгълүматны кертегез" ), "setinfo_success": ( "🎉 Мәгълүмат" " мөмкин булды" ), "desc": ( "🌘 Катта" " Userbot?\n\n😎 Userbot" " - бу сайлама программа, калан Telegram API ишләп хисап" " язмасы исеме белән автоматик өтәргә мөмкин. Юзерботлар хат" " җибәрү, каналга җибәрү, медиа файлларны юкләү вә күбрәк башка" " мәгълүматлар ны автоматик өтәргә мөмкин.\n\n😎 Юзерботлар хисап язмасы" " исеме белән бергәндә, бот исеме белән бермәгәндән яңа" " исемлектә булыр.\n\n🚫" " Юзерботлар Telegram тарафыннан дөрес ярдәмендәр булганында" " ясалган. Юзерботлар хисап язмасы исеме белән бергәндә," " бот исеме белән бермәгәндән яңа исемлектә булыр. Юзерботлар" " хисап язмасы исеме белән бергәндә, бот исеме белән" " бермәгәндән яңа исемлектә булыр.\n\n" ), } def __init__(self): self.config = loader.ModuleConfig( loader.ConfigValue( "custom_message", doc=lambda: self.strings("_cfg_cst_msg"), ), loader.ConfigValue( "custom_button", ["🌘 Support chat", "https://t.me/hikka_talks"], lambda: self.strings("_cfg_cst_btn"), validator=loader.validators.Union( loader.validators.Series(fixed_len=2), loader.validators.NoneType(), ), ), loader.ConfigValue( "banner_url", "https://github.com/hikariatama/assets/raw/master/hikka_banner.mp4", lambda: self.strings("_cfg_banner"), validator=loader.validators.Link(), ), ) def _render_info(self, inline: bool) -> str: try: repo = git.Repo(search_parent_directories=True) diff = repo.git.log([f"HEAD..origin/{version.branch}", "--oneline"]) upd = ( self.strings("update_required") if diff else self.strings("up-to-date") ) except Exception: upd = "" me = '{}'.format( self._client.hikka_me.id, utils.escape_html(get_display_name(self._client.hikka_me)), ) build = utils.get_commit_url() _version = f'{".".join(list(map(str, list(version.__version__))))}' prefix = f"«{utils.escape_html(self.get_prefix())}»" platform = utils.get_named_platform() for emoji, icon in { "🍊": "🧡", "🍇": "💜", "❓": "📱", "🍁": "🍁", "🦾": "🦾", "🚂": "🚂", "🐳": "🐳", "🕶": "📱", "🐈‍⬛": "🐈‍⬛", "✌️": "✌️", "📻": "💎", "🎃": "🎃", }.items(): platform = platform.replace(emoji, icon) return ( ( "🌘 Hikka\n" if "hikka" not in self.config["custom_message"].lower() else "" ) + self.config["custom_message"].format( me=me, version=_version, build=build, prefix=prefix, platform=platform, upd=upd, uptime=utils.formatted_uptime(), cpu_usage=utils.get_cpu_usage(), ram_usage=f"{utils.get_ram_usage()} MB", branch=version.branch, ) if self.config["custom_message"] else ( f'{{}}\n\n{{}} {self.strings("owner")}: {me}\n\n{{}}' f' {self.strings("version")}: {_version} {build}\n{{}}' f' {self.strings("branch")}:' f" {version.branch}\n{upd}\n\n{{}}" f' {self.strings("prefix")}: {prefix}\n{{}}' f' {self.strings("uptime")}:' f" {utils.formatted_uptime()}\n\n{{}}" f' {self.strings("cpu_usage")}:' f" ~{utils.get_cpu_usage()} %\n{{}}" f' {self.strings("ram_usage")}:' f" ~{utils.get_ram_usage()} MB\n{{}}" ).format( *map( lambda x: utils.remove_html(x) if inline else x, ( ( utils.get_platform_emoji() if self._client.hikka_me.premium and not inline else "🌘 Hikka" ), "😎", "💫", "🌳", "⌨️", "⌛️", "⚡️", "💼", platform, ), ) ) ) def _get_mark(self): return ( { "text": self.config["custom_button"][0], "url": self.config["custom_button"][1], } if self.config["custom_button"] else None ) @loader.inline_handler( thumb_url="https://img.icons8.com/external-others-inmotus-design/344/external-Moon-round-icons-others-inmotus-design-2.png" ) @loader.inline_everyone async def info(self, _: InlineQuery) -> dict: """Send userbot info""" return { "title": self.strings("send_info"), "description": self.strings("description"), **( {"photo": self.config["banner_url"], "caption": self._render_info(True)} if self.config["banner_url"] else {"message": self._render_info(True)} ), "thumb": ( "https://github.com/hikariatama/Hikka/raw/master/assets/hikka_pfp.png" ), "reply_markup": self._get_mark(), } @loader.command( ru_doc="Отправляет информацию о боте", fr_doc="Envoie des informations sur le bot", it_doc="Invia informazioni sul bot", de_doc="Sendet Informationen über den Bot", tr_doc="Bot hakkında bilgi gönderir", uz_doc="Bot haqida ma'lumot yuboradi", es_doc="Envía información sobre el bot", kk_doc="Бот туралы ақпарат жібереді", ) async def infocmd(self, message: Message): """Send userbot info""" if self.config["custom_button"]: await self.inline.form( message=message, text=self._render_info(True), reply_markup=self._get_mark(), **( {"photo": self.config["banner_url"]} if self.config["banner_url"] else {} ), ) else: await utils.answer_file( message, self.config["banner_url"], self._render_info(False), ) @loader.command( ru_doc="Отправить информацию по типу 'Что такое Хикка?'", fr_doc="Envoyer des informations du type 'Qu'est-ce que Hikka?'", it_doc="Invia informazioni del tipo 'Cosa è Hikka?'", de_doc="Sende Informationen über den Bot", tr_doc="Bot hakkında bilgi gönderir", uz_doc="Bot haqida ma'lumot yuborish", es_doc="Enviar información sobre el bot", kk_doc="Бот туралы ақпарат жіберу", ) async def hikkainfo(self, message: Message): """Send info aka 'What is Hikka?'""" await utils.answer(message, self.strings("desc")) @loader.command( ru_doc="<текст> - Изменить текст в .info", fr_doc=" - Changer le texte dans .info", it_doc=" - Cambia il testo in .info", de_doc=" - Ändere den Text in .info", tr_doc=" - .info'da metni değiştir", uz_doc=" - .info'dagi matnni o'zgartirish", es_doc=" - Cambiar el texto en .info", kk_doc="<мәтін> - .info мәтінін өзгерту", ) async def setinfo(self, message: Message): """ - Change text in .info""" args = utils.get_args_html(message) if not args: return await utils.answer(message, self.strings("setinfo_no_args")) self.config["custom_message"] = args await utils.answer(message, self.strings("setinfo_success"))