# █ █ ▀ █▄▀ ▄▀█ █▀█ ▀
# █▀█ █ █ █ █▀█ █▀▄ █
# © Copyright 2022
# https://t.me/hikariatama
#
# 🔒 Licensed under the GNU AGPLv3
# 🌐 https://www.gnu.org/licenses/agpl-3.0.html
import logging
import os
from random import choice
from .. import loader, translations
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",
]
TEXT = """🌘🇬🇧 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
"""
TEXT_RU = """🌘🇷🇺 Привет. Твой юзербот Hikka установлен.
❓ Нужна помощь? Вступай в наш чат поддержки. Мы помогаем всем.
📼 Ты можешь искать и устанавливать модули через @hikkamods_bot. Просто введи поисковый запрос и нажми ⛩ Install на нужном модуле
📣 Загляни в каналы с модулями, созданными комьюнити: показать
💁♀️ Быстрый гайд:
1️⃣ Напиши .help
чтобы увидеть список модулей
2️⃣ Напиши .help <Название модуля/команда>
чтобы увидеть описание модуля
3️⃣ Напиши .dlmod <ссылка>
чтобы загрузить модуль из ссылка
4️⃣ Напиши .loadmod
ответом на файл, чтобы загрузить модуль из него
5️⃣ Напиши .unloadmod <Название модуля>
чтобы выгрузить модуль
"""
if "OKTETO" in os.environ:
TEXT += (
"☁️ Your userbot is installed on Okteto. You will get notifications from"
" @WebpageBot. Do not block him."
)
TEXT_RU += (
"☁️ Твой юзербот установлен на Okteto. Ты будешь получать уведомления от"
" @WebpageBot. Не блокируй его."
)
if "DYNO" in os.environ:
TEXT += (
"♓️ Your userbot is installed on Heroku. You will get notifications from"
" @WebpageBot. Do not block him."
)
TEXT_RU += (
"♓️ Твой юзербот установлен на Heroku. Ты будешь получать уведомления от"
" @WebpageBot. Не блокируй его."
)
if "RAILWAY" in os.environ:
TEXT += (
"🚂 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."
)
TEXT_RU += (
"🚂 Твой юзербот установлен на Railway. На этой платформе ты получаешь"
" только 500 бесплатных часов в месяц. Когда лимит будет достигнет, твой"
" юзербот будет заморожен. В следующем месяце ты должен будешь"
" перейти на https://railway.app и перезапустить его."
)
@loader.tds
class QuickstartMod(loader.Module):
"""Notifies user about userbot installation"""
strings = {"name": "Quickstart"}
async def client_ready(self):
if self._db.get("hikka", "disable_quickstart", False):
raise loader.SelfUnload
self.mark = (
lambda lang: [
[{"text": "🥷 Support chat", "url": "https://t.me/hikka_talks"}],
[
{
"text": "🇷🇺 Изменить язык",
"callback": self._change_lang,
"args": ("ru",),
}
],
]
if lang == "en"
else [
[{"text": "🥷 Чат помощи", "url": "https://t.me/hikka_talks"}],
[
{
"text": "🇬🇧 Switch language",
"callback": self._change_lang,
"args": ("en",),
}
],
]
)
await self.inline.bot.send_animation(self._client.tg_id, animation=choice(imgs))
await self.inline.bot.send_message(
self._client.tg_id,
TEXT,
reply_markup=self.inline.generate_markup(self.mark("en")),
disable_web_page_preview=True,
)
self._db.set("hikka", "disable_quickstart", True)
async def _change_lang(self, call: BotInlineCall, lang: str):
if lang == "ru":
self._db.set(translations.__name__, "lang", "ru")
await self.translator.init()
await call.answer("🇷🇺 Язык сохранен!")
await call.edit(text=TEXT_RU, reply_markup=self.mark("ru"))
elif lang == "en":
self._db.set(translations.__name__, "lang", "en")
await self.translator.init()
await call.answer("🇬🇧 Language saved!")
await call.edit(text=TEXT, reply_markup=self.mark("en"))