# █ █ ▀ █▄▀ ▄▀█ █▀█ ▀
# █▀█ █ █ █ █▀█ █▀▄ █
# © Copyright 2022
# https://t.me/hikariatama
#
# 🔒 Licensed under the GNU AGPLv3
# 🌐 https://www.gnu.org/licenses/agpl-3.0.html
# meta pic: https://img.icons8.com/stickers/344/love-message.png
# meta banner: https://mods.hikariatama.ru/badges/declaration.jpg
# meta developer: @hikarimods
# scope: hikka_only
# scope: hikka_min 1.5.3
import asyncio
import logging
import random
import time
from telethon.tl.types import Message
from .. import loader, utils
from ..inline.types import BotMessage
logger = logging.getLogger(__name__)
@loader.tds
class Declaration(loader.Module):
"""If you are too humble to declare your love, use this module"""
strings = {
"name": "Declaration",
"not_private": (
"💀 This command must be"
" runned in personal messages..."
),
"ily": (
"💭 You have 1 new"
' message. Please, read it'
),
"ily_love": [
"👋 Hi. I'm Hikka.",
(
"🫣 My owner is very humble to say something, so he asked me to help"
" him..."
),
"🥰 He just wanted you to know, that he loves you...",
"🤗 These are sincere feelings... Please, don't blame him.",
"🫶 Better say him some warm words... 🙂",
],
"talk": "🫰 Talk",
"404": "😢 Message has already disappeared. You can't read it now...",
"read": "🫰 {} has read your declaration",
"args": (
"💀 Wrong"
" arguments..."
),
}
strings_ru = {
"not_private": (
"💀 Эту команду нужно"
" выполнять в личных сообщениях..."
),
"ily": (
"💭 У вас 1 новое"
' сообщение. Пожалуйста, прочтите'
" его"
),
"ily_love": [
"👋 Привет. Я Хикка.",
(
"🫣 Мой хозяин очень стесняется сказать о чем-то, поэтому он"
" попросил меня помочь ему..."
),
"🥰 Он просто хотел, чтобы Вы знали, что он любит Вас...",
"🤗 Это искренние чувства... Пожалуйста, не злитесь на него.",
"🫶 Лучше скажите ему несколько теплых слов... 🙂",
],
"talk": "🫰 Поговорить",
"404": "😢 Сообщение уже исчезло. Вы не можете его прочитать...",
"read": "🫰 {} прочитал ваше признание",
"args": (
"💀 Неверные"
" аргументы..."
),
}
strings_de = {
"not_private": (
"💀 Diese Befehl muss in"
" privaten Nachrichten ausgeführt werden..."
),
"ily": (
"💭 Du hast 1 neue"
' Nachricht. Bitte, lies es'
),
"ily_love": [
"👋 Hallo. Ich bin Hikka.",
(
"🫣 Mein Besitzer ist zu bescheiden, um etwas zu sagen, also hat er"
" mich gebeten, ihm zu helfen..."
),
"🥰 Er wollte nur, dass du weißt, dass er dich liebt...",
"🤗 Das sind ehrliche Gefühle... Bitte, verzeih ihm.",
"🫶 Sag ihm besser ein paar warme Worte... 🙂",
],
"talk": "🫰 Reden",
"404": (
"😢 Die Nachricht ist bereits verschwunden. Du kannst sie jetzt nicht"
" lesen..."
),
"read": "🫰 {} hat dein Geständnis gelesen",
"args": (
"💀 Falsche"
" Argumente..."
),
}
strings_hi = {
"not_private": (
"💀 यह कमांड निजी"
" संदेशों में चलाए जाने चाहिए..."
),
"ily": (
"💭 आपके पास 1 नया संदेश"
' है। कृपया, उसे पढ़ें'
),
"ily_love": [
"👋 नमस्ते। मैं हिक्का हूँ।",
(
"🫣 मेरे मालिक को कुछ कहने के लिए बहुत बारीच है, इसलिए उन्होंने"
" मुझे उनकी मदद करने के लिए कहा..."
),
"🥰 उसने आपको सिर्फ यह बताना चाहता था कि वह आपको पसंद करता है...",
"🤗 ये सच्चे भावनाएं हैं... कृपया उसे माफ़ करें।",
"🫶 उसे बेहतर शब्दों के साथ बोलें... 🙂",
],
"talk": "🫰 बात करना",
"404": "😢 संदेश पहले ही नष्ट हो गया है। आप इसे अब पढ़ नहीं सकते...",
"read": "🫰 आपने {} के लिए अपना प्रार्थना पढ़ा",
"args": "💀 गलत तर्क...",
}
strings_tr = {
"not_private": (
"💀 Bu komut özel"
" mesajlarda çalıştırılmalıdır..."
),
"ily": (
"💭 Yeni 1 mesajınız var."
' Lütfen, okuyun'
),
"ily_love": [
"👋 Merhaba. Ben Hikka.",
"🫣 Sahibim bir şey söylemekten çekinince, yardım etmeme söyledi...",
"🥰 Sadece ona seni sevdiğini söylemek istedi...",
"🤗 Bu gerçek duygular... Lütfen, affet.",
"🫶 Bunu ona daha iyi söyle... 🙂",
],
"talk": "🫰 Konuş",
"404": "😢 Mesaj zaten kaybolmuş. Okuyamazsın...",
"read": "🫰 {} senin itirafını okudu",
"args": (
"💀 Yanlış argüman..."
),
}
strings_ja = {
"not_private": (
"💀 このコマンドはプライベート"
" メッセージで実行される必要があります..."
),
"ily": (
"💭"
" 新しい1つのメッセージがあります。"
' 読んでください'
),
"ily_love": [
"👋 こんにちは。 私はヒッカです。",
"🫣 主人が何か言いたくないので、助けてほしいと言った...",
"🥰 彼はただあなたを愛していると言いたかった...",
"🤗 これは本当の感情です... 許してください。",
"🫶 もっと良い言葉で言ってください... 🙂",
],
"talk": "🫰 会話",
"404": (
"😢 メッセージはすでに消えています。"
" あなたはそれを読むことはできません..."
),
"read": "🫰 {}はあなたの告白を読みました",
"args": (
"💀 間違った引数..."
),
}
strings_kr = {
"not_private": (
"💀 이 명령은 개인"
" 메시지에서 실행되어야합니다..."
),
"ily": (
"💭 새로운 메시지가 있습니다."
' 읽어주세요'
),
"ily_love": [
"👋 안녕하세요. 나는 히카입니다.",
"🫣 주인이 무언가를 말하고 싶지 않아서 도움을 요청했습니다...",
"🥰 그저 그에게 너를 사랑한다고 말하고 싶었습니다...",
"🤗 이것은 진짜 감정입니다... 용서해주세요.",
"🫶 더 좋은 말로 말하세요... 🙂",
],
"talk": "🫰 대화",
"404": "😢 메시지는 이미 삭제되었습니다. 읽을 수 없습니다...",
"read": "🫰 {} 당신의 고백을 읽었습니다",
"args": (
"💀 잘못된 인수..."
),
}
strings_ar = {
"not_private": (
"💀 هذا الأمر يجب أن يتم"
" تنفيذه في رسالة خاصة..."
),
"ily": (
"💭 هناك رسالة جديدة."
' اقرأ'
),
"ily_love": [
"👋 مرحبا. أنا هيكا.",
"🫣 طلب المالك مساعدة لأنه لا يريد أن يقول شيئا...",
"🥰 أراد فقط أن يقول له أنا أحبك...",
"🤗 هذه حقيقة العواطف... يرجى التكرم.",
"🫶 قلها بطريقة أفضل... 🙂",
],
"talk": "🫰 محادثة",
"404": "😢 تم حذف الرسالة بالفعل. لا يمكن قراءتها...",
"read": "🫰 {} قرأت إعترافك",
"args": (
"💀 وسيطغير صالح..."
),
}
strings_es = {
"not_private": (
"💀 Este comando debe"
" ejecutarse en mensaje privado..."
),
"ily": (
"💭 Tienes un nuevo"
' mensaje. Lee'
),
"ily_love": [
"👋 Hola. Soy Hika.",
"🫣 El dueño solicitó ayuda porque no quería decir nada...",
"🥰 Simplemente quería decirle te amo...",
"🤗 Esto es real... Por favor perdóname.",
"🫶 Dilo mejor... 🙂",
],
"talk": "🫰 Conversación",
"404": "😢 El mensaje ya ha sido eliminado. No se puede leer...",
"read": "🫰 {} leyó tu confesión",
"args": (
"💀 Argumento"
"no válido..."
),
}
async def client_ready(self):
self.ids = self.pointer("declarations", {})
@loader.command(ru_doc="Признаться в любви")
async def declare(self, message: Message):
"""Declare love"""
if not message.is_private:
await utils.answer(message, self.strings("not_private"))
return
id_ = utils.rand(8)
await utils.answer(
message,
self.strings("ily").format(self.inline.bot_username, id_),
)
self.ids[id_] = int(time.time()) + 24 * 60 * 60
async def aiogram_watcher(self, message: BotMessage):
if not message.text.startswith("/start read_"):
return
for id_, info in self.ids.copy().items():
if info < int(time.time()):
self.ids.pop(id_)
continue
id_ = message.text.split("_")[1]
if id_ not in self.ids:
await message.answer(self.strings("404"))
return
info = self.ids.pop(id_)
for m in self.strings("ily_love")[:-1]:
await message.answer(m)
await asyncio.sleep(random.randint(350, 400) / 100)
await self.inline.bot.send_message(
self._client.tg_id,
self.strings("read").format(
utils.escape_html(message.from_user.full_name),
),
)
await message.answer(
self.strings("ily_love")[-1],
reply_markup=self.inline.generate_markup(
{
"text": self.strings("talk"),
"url": f"tg://user?id={self._client.tg_id}",
}
),
)