# `7MMM. ,MMF'`7MMM. ,MMF' `7MMM. ,MMF' `7MM # MMMb dPMM MMMb dPMM MMMb dPMM MM # M YM ,M MM M YM ,M MM M YM ,M MM ,pW"Wq. ,M""bMM ,pP"Ybd # M Mb M' MM M Mb M' MM M Mb M' MM 6W' `Wb ,AP MM 8I `" # M YM.P' MM M YM.P' MM mmmmm M YM.P' MM 8M M8 8MI MM `YMMMa. # M `YM' MM M `YM' MM M `YM' MM YA. ,A9 `Mb MM L. I8 # .JML. `' .JMML..JML. `' .JMML. .JML. `' .JMML.`Ybmd9' `Wbmd"MML.M9mmmP' # # (c) 2023 — licensed under Apache 2.0 — https://www.apache.org/licenses/LICENSE-2.0 # meta pic: https://img.icons8.com/stickers/344/sticker.png # meta developer: @mm_mods __version__ = "1.0.0" from .. import loader, utils import random from telethon.tl.types import Message import logging logger = logging.getLogger(__name__) # Database in format {name: {id: in_chat_id}} db = { 'cherry': {'1': 2, '2': 3, '3': 4}, 'fox1': {'1': 5, '2': 6, '3': 7, '4': 8}, 'goose': {'1': 9, '2': 10, '3': 11, '4': 12, '5': 13, '6': 14}, 'balloon': {'1': 15, '2': 16, '3': 17, '4': 18}, 'cats': {'1': 19, '2': 20, '3': 21, '4': 22, '5': 23}, 'croco1': {'1': 24, '2': 25, '3': 26, '4': 27, '5': 28}, 'puppy': {'1': 29, '2': 30}, 'peach': {'1': 31, '2': 32}, 'monkey1': {'1': 33, '2': 34}, 'fox2': {'1': 35, '2': 36, '3': 37, '4': 38}, 'duck': {'1': 39, '2': 40, '3': 41, '4': 42}, 'fire': {'1': 43, '2': 44, '3': 45, '4': 46}, 'tiger': {'1': 47, '2': 48, '3': 49, '4': 50}, 'bud': {'1': 51, '2': 52}, 'croco2': {'1': 53, '2': 54, '3': 55, '4': 56}, 'lady': {'1': 57, '2': 58, '3': 59}, 'cat1': {'1': 60, '2': 61, '3': 62}, 'crab': {'1': 63}, 'bunny': {'1': 64, '2': 65, '3': 66, '4': 67, '5': 68}, 'arts': {'1': 69, '2': 70, '3': 71}, 'lamb': {'1': 72, '2': 73, '3': 74}, 'hands': {'1': 75, '2': 76, '3': 77, '4': 78}, 'shiba': {'1': 79, '2': 80, '3': 81}, 'cloud': {'1': 82}, 'cang': {'1': 83}, 'made': {'1': 84, '2': 85}, 'donut': {'1': 86}, 'frog': {'1': 87}, 'dog': {'1': 88, '2': 89}, 'monkey2': {'1': 90, '2': 91}, 'hearts': {'1': 92, '2': 93}, 'seagull': {'1': 94, '2': 95, '3': 96}, 'cat2': {'1': 97, '2': 98, '3': 99}, 'dino': {'1': 100, '2': 101, '3': 102}, 'strawberry': {'1': 103, '2': 104, '3': 105, '4': 106}, } @loader.tds class PSAMod(loader.Module): """Send premium stickers without premium! Advanced version of Hikariatama's module.""" strings = { 'name': 'PremiumStickers2', 'pack?': '🟨 You need to specify a pack name.', 'pack?!': '🟥 There is no such pack.', 'sticker?': '🟨 You need to specify a sticker number.', 'sticker?!': '🟥 There is no such sticker in this pack.', 'args?': '🟨 No arguments.\nUsage: .psa pack_name sticker_number', 'packs': '📜 Available packs:\n' } strings_ru = { 'pack?': '🟨 Вы должны указать название пака.', 'pack?!': '🟥 Такого пака нет.', 'sticker?': '🟨 Вы должны указать номер стикера.', 'sticker?!': '🟥 Такого стикера в этом паке нет.', 'args?': '🟨 Нет аргументов.\nИспользование: .psa название_пака номер_стикера', 'packs': '📜 Доступные паки:\n', '_cls_doc': 'Отправляй премиум-стикеры без премиума! Улучшеная версия модуля от Хикари (@hikarimods).', '_cmd_doc_psa': 'Отправить стикер из пака … под номером … .', '_cmd_doc_psalist': 'Список паков и количество стикеров в них.' } strings_uk = { 'pack?': '🟨 Ви повинні вказати назву паку.', 'pack?!': '🟥 Такого паку немає.', 'sticker?': '🟨 Ви повинні вказати номер стікера.', 'sticker?!': '🟥 Такого стікера в цьому паку немає.', 'args?': '🟨 Немає аргументів.\nВикористання: .psa назва_паку номер_стікера', 'packs': '📜 Доступні паки:\n', '_cls_doc': 'Відправляй преміум-стікери без преміума! Покращена версія модуля від Хікарі (@hikarimods).', '_cmd_doc_psa': 'Відправити стікер з паку … під номером … .', '_cmd_doc_psalist': 'Список паків і кількість стікерів в них.' } async def psacmd(self, m: Message): """Sends from pack … sticker number … .""" args = utils.get_args_raw(m) if args == '': return await utils.answer(m, self.strings('args?')) if ' ' not in args: return await utils.answer(m, self.strings('sticker?')) pack, num = args.split(' ', 1) if not num.isdigit(): return await utils.answer(m, self.strings('sticker?!')) if pack not in db.keys(): return await utils.answer(m, self.strings('pack?!')) if num not in db[pack].keys(): return await utils.answer(m, self.strings('sticker?!')) if m.out: await m.delete() await m.respond(f'­') async def psalistcmd(self, m: Message): """Packs list.""" plist = self.strings('packs') for i in db.keys(): plist += f'{i} ({len(db[i])})\n' await utils.answer(m, plist)