# █ █ ▀ █▄▀ ▄▀█ █▀█ ▀ ▄▀█ ▀█▀ ▄▀█ █▀▄▀█ ▄▀█
# █▀█ █ █ █ █▀█ █▀▄ █ ▄ █▀█ █ █▀█ █ ▀ █ █▀█
#
# © Copyright 2022
#
# https://t.me/hikariatama
#
# 🔒 Licensed under the GNU GPLv3
# 🌐 https://www.gnu.org/licenses/agpl-3.0.html
# scope: inline
from .. import loader, main, utils
import logging
import aiogram
import git
from telethon.utils import get_display_name
from ..inline import InlineQuery, rand
logger = logging.getLogger(__name__)
@loader.tds
class HikkaInfoMod(loader.Module):
"""Show userbot info"""
strings = {"name": "HikkaInfo"}
def get(self, *args) -> dict:
return self._db.get(self.strings["name"], *args)
def set(self, *args) -> None:
return self._db.set(self.strings["name"], *args)
async def client_ready(self, client, db) -> None:
self._db = db
self._client = client
self._me = await client.get_me()
self.markup = aiogram.types.inline_keyboard.InlineKeyboardMarkup()
self.markup.row(
aiogram.types.inline_keyboard.InlineKeyboardButton(
"🤵♀️ Support chat", url="https://t.me/hikka_talks"
)
)
async def info_inline_handler(self, query: InlineQuery) -> None:
"""
Send userbot info
@allow: all
"""
try:
repo = git.Repo()
ver = repo.heads[0].commit.hexsha
except Exception:
ver = "unknown"
try:
diff = repo.git.log(["HEAD..origin/alpha", "--oneline"])
upd = (
"⚠️ Update required .update
"
if diff
else "✅ Up-to-date"
)
except Exception:
upd = ""
await query.answer(
[
aiogram.types.inline_query_result.InlineQueryResultArticle(
id=rand(20),
title="Send userbot info",
description="ℹ This will not compromise any sensitive data",
input_message_content=aiogram.types.input_message_content.InputTextMessageContent(
(
"👩🎤 Hikka Userbot"
f"🤴 Owner: {get_display_name(self._me)}\n"
f"🔮 Version: {'.'.join(list(map(str, list(main.__version__))))}"
f"🧱 Build: {ver[:8] or 'Unknown'}"
f"{upd}"
f"{utils.get_named_platform()}"
),
"HTML",
disable_web_page_preview=True,
),
thumb_url="https://github.com/hikariatama/Hikka/raw/master/assets/hikka_pfp.png",
thumb_width=128,
thumb_height=128,
reply_markup=self.markup,
)
],
cache_time=0,
)