# █▀ █░█ ▄▀█ █▀▄ █▀█ █░█░█
# ▄█ █▀█ █▀█ █▄▀ █▄█ ▀▄▀▄▀
# Copyright 2023 t.me/shadow_modules
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import logging
from telethon.tl.types import Message
from .. import loader, utils # type: ignore
# scope: hikka_only
# meta developer: @shadow_modules, @dan_endy, @hikarimods
# meta banner: https://i.imgur.com/SbLqMlM.jpeg
logger = logging.getLogger(__name__)
@loader.tds
class InlineVizitkaMod(loader.Module):
"""You information in inline vizitka"""
strings = {
"name": "InlineVizitka",
"mysocial": "✨ My social networks",
"userules": (
"How this module is used\n1. Links to social networks must be"
" entered in {prefix}config\n2. Links in the config must start"
" with https:// otherwise there will be an error"
),
}
strings_ru = {
"mysocial": "✨ Мои соцсети",
"userules": (
"Как пользоваться данным модулем\n1. Ссылки на соц.сети надо вводить"
" в {prefix}config\n2. Ссылки в конфиге должны начинаться с"
" https:// иначе будет ошибка"
),
}
def __init__(self):
self.config = loader.ModuleConfig(
loader.ConfigValue(
"custom_message",
None,
lambda: "Custom message in .vizitka",
),
loader.ConfigValue(
"VK",
"🚫 Link not set",
lambda: "You VK LINK",
),
loader.ConfigValue(
"discord",
"🚫 Link not set",
lambda: "You discord LINK",
),
loader.ConfigValue(
"twitter",
"🚫 Link not set",
lambda: "You twitter LINK",
),
loader.ConfigValue(
"inst",
"🚫 Link not set",
lambda: "You instagram LINK",
),
loader.ConfigValue(
"grustno",
"🚫 Link not set",
lambda: "You grustnogram LINK",
),
loader.ConfigValue(
"telegram",
"🚫 Link not set",
lambda: "You telegram chanel LINK",
),
loader.ConfigValue(
"gitlab",
"🚫 Link not set",
lambda: "You gitlab account LINK",
),
loader.ConfigValue(
"github",
"🚫 Link not set",
lambda: "You github account LINK",
),
loader.ConfigValue(
"twitch",
"🚫 Link not set",
lambda: "You twitch LINK",
),
loader.ConfigValue(
"anixart",
"🚫 Link not set",
lambda: "You anixart LINK",
),
loader.ConfigValue(
"xda",
"🚫 Link not set",
lambda: "You xda LINK",
),
loader.ConfigValue(
"4pda",
"🚫 Link not set",
lambda: "You 4pda LINK",
),
loader.ConfigValue(
"tiktok",
"🚫 Link not set",
lambda: "You tiktok LINK",
),
loader.ConfigValue(
"pinterest",
"🚫 Link not set",
lambda: "You pinterest LINK",
),
loader.ConfigValue(
"spotify",
"🚫 Link not set",
lambda: "You spotify LINK",
),
loader.ConfigValue(
"pixiv",
"🚫 Link not set",
lambda: "You pixiv LINK",
),
)
@loader.unrestricted
async def vizitkacmd(self, message: Message):
"""Command for displaying a business card"""
await self.inline.form(
message=message,
text=self.config["custom_message"] or "✨ Мои соцсети",
reply_markup=[
[
{"text": "🥱 Discord", "callback": self.inline__callAnswer},
{"text": "🦢 VK", "url": self.config["VK"]},
],
[
{"text": "❤ Instagram", "url": self.config["inst"]},
{"text": "🖤 Grustnogram", "url": self.config["grustno"]},
],
[
{"text": "🌐 Twitter", "url": self.config["twitter"]},
{"text": "💫 TG Channel", "url": self.config["telegram"]},
],
[
{"text": "🌚 GitHub", "url": self.config["github"]},
{"text": "☀ GitLab", "url": self.config["gitlab"]},
],
[
{"text": "😽 Anixart", "url": self.config["anixart"]},
{"text": "📱 4PDA", "url": self.config["4pda"]},
],
[
{"text": "📺 Twitch", "url": self.config["twitch"]},
{"text": "📴 XDA", "url": self.config["xda"]},
],
[
{"text": "🤣 Tik tok", "url": self.config["tiktok"]},
{"text": "🎧 Spotify", "url": self.config["spotify"]},
],
[
{"text": "🖌 Pixiv", "url": self.config["pixiv"]},
{"text": "🖌 Pinterest", "url": self.config["pinterest"]},
],
],
)
async def inline__callAnswer(self, call):
await call.answer(self.config["discord"], show_alert=True)
async def vizinfocmd(self, message: Message):
await utils.answer(
message,
self.strings("userules").format(prefix=self.get_prefix()),
)