# █▀▀ ▄▀█   █▀▄▀█ █▀█ █▀▄ █▀ # █▀░ █▀█   █░▀░█ █▄█ █▄▀ ▄█ # https://t.me/famods # 🔒 Licensed under the GNU AGPLv3 # 🌐 https://www.gnu.org/licenses/agpl-3.0.html # --------------------------------------------------------------------------------- # Name: PriceFreedom # Description: Автоматизированная работа с @rabstvo_game_bot # meta developer: @FAmods # meta banner: https://github.com/FajoX1/FAmods/blob/main/assets/banners/pricefreedom.png?raw=true # --------------------------------------------------------------------------------- import hikkatl import re import asyncio import logging from .. import loader, utils logger = logging.getLogger(__name__) @loader.tds class PriceFreedom(loader.Module): """Автоматизированная работа с @rabstvo_game_bot""" strings = { "name": "PriceFreedom", "checking_profile": "👀 Смотрю профиль...", "searching_us": "👀 Поиск пользователя...", "no_usid": "🚫 Нужно {}{} [айди]", "promo_on": "🎁 Авто-промо включен!\n\nЧто бы получать промокоды вы должны быть подписаним здесь.", "promo_off": "🚫 Авто-промо выключен!", } promo_channel = "https://t.me/+1eLPUMl51a5mOWQy" async def client_ready(self, client, db): self.db = db self._client = client # while True: # try: # async with self._client.conversation("@rabstvo_game_bot") as conv: # msg = await conv.send_message("/start 44088") # r = await conv.get_response() # await msg.delete() # await r.delete() # break # except hikkatl.errors.common.AlreadyInConversationError: # await asyncio.sleep(5.67) # except Exception: # break async def _active_promo(self, prom): while True: try: async with self._client.conversation("@rabstvo_game_bot") as conv: msg = await conv.send_message(f"/start {prom}") r = await conv.get_response() await r.delete() r = await conv.get_response() await r.delete() await msg.delete() break except hikkatl.errors.common.AlreadyInConversationError: await asyncio.sleep(5.67) async def _spfus_s(self, query): while True: try: async with self._client.conversation("@rabstvo_game_bot") as conv: msg = await conv.send_message(f"/start {query}") r = await conv.get_response() await r.delete() await msg.delete() o = await conv.get_response() await o.delete() if not "Зарабатывает:" in r.text: return f"🚫 Пользователь не найден!" return f"👾 Информация о игроке\n\n{r.text}\n\n🔗 Ссылка" except hikkatl.errors.common.AlreadyInConversationError: await asyncio.sleep(5.67) async def _getprofme(self): while True: try: async with self._client.conversation("@rabstvo_game_bot") as conv: msg = await conv.send_message("🫅 Профиль") r = await conv.get_response() await msg.delete() await r.delete() pattern = r'#(\w+).*?Баланс:' result = re.search(pattern, r.text, re.DOTALL) my_id = result.group(1) return f"📁 Ваши данные\n\n{r.text}\n\n🔗 Ссылка" except hikkatl.errors.common.AlreadyInConversationError: await asyncio.sleep(5.67) @loader.command() async def pfpromo(self, message): """Включить/выключить автоматически активирование промокода""" if self.db.get(self.name, "promo_s", False): self.db.set(self.name, "promo_s", False) return await utils.answer(message, self.strings["promo_off"]) self.db.set(self.name, "promo_s", True) await utils.answer(message, self.strings["promo_on"].format(self.promo_channel)) @loader.command() async def spfus(self, message): """Посмотреть профиль пользователя""" query = utils.get_args_raw(message) if not query: return await utils.answer(message, self.strings['no_usid'].format(self.get_prefix(), 'spfus')) await utils.answer(message, self.strings["searching_us"]) await utils.answer(message, await self._spfus_s(query)) @loader.command() async def spfme(self, message): """Посмотреть свой профиль""" await utils.answer(message, self.strings["checking_profile"]) await utils.answer(message, await self._getprofme()) async def watcher(self, event): chat = utils.get_chat_id(event) if chat != 1726199153: return if all(keyword in event.raw_text for keyword in ["ПРОМОКОД", "Активируй"]): if self.db.get(self.name, "promo_s", False): await self._active_promo(event.reply_markup.rows[0].buttons[0].url.split("?start=")[1])