Здравствуйте! Бот сделан для Афк фарма нахождения девушки/траффинга для ворка. Так же в 94 строчке нужно будет изменить текст на ваш а то есть если у вас Лдв, то изменить на Нужный. (я не пользовался Лдв). была вырезана функция которая отправляет мэтчи в избранные добавлена команда /start интервал делаеться в секундах. import asyncio import logging from telethon import TelegramClient, events from telethon.tl.functions.messages import GetDialogsRequest from telethon.tl.types import InputPeerEmpty, PeerUser, PeerChannel, User from telethon.tl.functions.messages import SendMessageRequest api_id = api_hash = "" phone_number = "" bot_username = "" #юзер бота сюда есче message = "❤" interval = 20 logging.basicConfig(format='%(asctime)s - %(levelname)s - %(message)s', level=logging.INFO) is_sending_enabled = True current_interval = interval bot_peer = None tg_bot_client = None async def send_message(client, peer, message): try: await client(SendMessageRequest(peer=peer, message=message)) print(f"Сообщение отправлено {peer}") except Exception as e: logging.error(f"Ошибка отправки сообщения {peer}: {e}") async def send_periodically(client, peer, message): global is_sending_enabled, current_interval while True: if is_sending_enabled and peer: await send_message(client, peer, message) await asyncio.sleep(current_interval) else: await asyncio.sleep(1) async def handle_commands(client, event): global is_sending_enabled, current_interval, bot_peer if event.message.text.lower() == "/start": await event.reply("Бот запущен. Используйте команды /on, /off и /interval") return if event.message.text.lower() == "/on": is_sending_enabled = True await event.reply("Отправка сообщений включена.") elif event.message.text.lower() == "/off": is_sending_enabled = False await event.reply("Отправка сообщений выключена.") elif event.message.text.lower().startswith("/interval"): try: new_interval = int(event.message.text.split(" ")[1]) if new_interval > 0: current_interval = new_interval await event.reply(f"Интервал изменен на {current_interval} секунд.") else: await event.reply("Интервал должен быть положительным числом.") except (IndexError, ValueError): await event.reply("Используйте /interval <секунды> (например, /interval 30)") async def handle_new_messages(client, event): global tg_bot_client if event.message.peer_id == bot_peer.id: if "У вас произошел мэтч с этой анкетой!" in event.message.message or "Вы кому-то понравились! Скорее посмотрите!" in event.message.message: try: await tg_bot_client.send_message(chat_id=event.message.peer_id, message="Новый мэтч!") logging.info(f"Отправлено уведомление в тг бот") except Exception as e: logging.error(f"Ошибка отправки сообщения в тг бот: {e}") async def main(): global is_sending_enabled, current_interval, bot_peer, tg_bot_client session_name = "session_telethon" client = TelegramClient(session_name, api_id, api_hash) await client.connect() if not client.is_connected(): print("не получаеться авторизироваться бля") return if not await client.is_user_authorized(): await client.send_code_request(phone_number) try: await client.sign_in(phone_number, input('введи кодик малышка: ')) except Exception as e: print(f"Ошибка авторизации бля: {e}") return print("победа родной") try: bot_entity = await client.get_entity(bot_username) if bot_entity: if isinstance(bot_entity, User): if bot_entity.bot: bot_peer = bot_entity print(f"Бот {bot_username} найден. Его ID: {bot_entity.id}") else: bot_peer = bot_entity print(f"Пользователь {bot_username} найден. Его ID: {bot_entity.id}") elif isinstance(bot_entity, PeerChannel): bot_peer = bot_entity print(f"Канал {bot_username} найден. Его ID: {bot_entity.id}") else: print(f"юзер {bot_username} найден, но не является ни ботом, ни пользователем, ни каналом.") return else: print(f"Не удалось найти пользователя/бота {bot_username}") return except Exception as e: logging.exception(f"Ошибка при поиске пользователя или бота: {e}") print(f"Ошибка при поиске пользователя/бота {bot_username} : {e}") return client.add_event_handler(lambda event: handle_commands(client, event), events.NewMessage()) client.add_event_handler(lambda event: handle_new_messages(client, event), events.NewMessage()) asyncio.create_task(send_periodically(client, bot_peer, message)) try: await client.run_until_disconnected() except KeyboardInterrupt: print("Работа скрипта завершена.") finally: await client.disconnect() await tg_bot_client.disconnect() if __name__ == "__main__": try: asyncio.run(main()) except Exception as e: logging.exception(f"Ошибка при работе скрипта: {e}") print(f"Ошибка: {e}") Code import asyncio import logging from telethon import TelegramClient, events from telethon.tl.functions.messages import GetDialogsRequest from telethon.tl.types import InputPeerEmpty, PeerUser, PeerChannel, User from telethon.tl.functions.messages import SendMessageRequest api_id = api_hash = "" phone_number = "" bot_username = "" #юзер бота сюда есче message = "❤" interval = 20 logging.basicConfig(format='%(asctime)s - %(levelname)s - %(message)s', level=logging.INFO) is_sending_enabled = True current_interval = interval bot_peer = None tg_bot_client = None async def send_message(client, peer, message): try: await client(SendMessageRequest(peer=peer, message=message)) print(f"Сообщение отправлено {peer}") except Exception as e: logging.error(f"Ошибка отправки сообщения {peer}: {e}") async def send_periodically(client, peer, message): global is_sending_enabled, current_interval while True: if is_sending_enabled and peer: await send_message(client, peer, message) await asyncio.sleep(current_interval) else: await asyncio.sleep(1) async def handle_commands(client, event): global is_sending_enabled, current_interval, bot_peer if event.message.text.lower() == "/start": await event.reply("Бот запущен. Используйте команды /on, /off и /interval") return if event.message.text.lower() == "/on": is_sending_enabled = True await event.reply("Отправка сообщений включена.") elif event.message.text.lower() == "/off": is_sending_enabled = False await event.reply("Отправка сообщений выключена.") elif event.message.text.lower().startswith("/interval"): try: new_interval = int(event.message.text.split(" ")[1]) if new_interval > 0: current_interval = new_interval await event.reply(f"Интервал изменен на {current_interval} секунд.") else: await event.reply("Интервал должен быть положительным числом.") except (IndexError, ValueError): await event.reply("Используйте /interval <секунды> (например, /interval 30)") async def handle_new_messages(client, event): global tg_bot_client if event.message.peer_id == bot_peer.id: if "У вас произошел мэтч с этой анкетой!" in event.message.message or "Вы кому-то понравились! Скорее посмотрите!" in event.message.message: try: await tg_bot_client.send_message(chat_id=event.message.peer_id, message="Новый мэтч!") logging.info(f"Отправлено уведомление в тг бот") except Exception as e: logging.error(f"Ошибка отправки сообщения в тг бот: {e}") async def main(): global is_sending_enabled, current_interval, bot_peer, tg_bot_client session_name = "session_telethon" client = TelegramClient(session_name, api_id, api_hash) await client.connect() if not client.is_connected(): print("не получаеться авторизироваться бля") return if not await client.is_user_authorized(): await client.send_code_request(phone_number) try: await client.sign_in(phone_number, input('введи кодик малышка: ')) except Exception as e: print(f"Ошибка авторизации бля: {e}") return print("победа родной") try: bot_entity = await client.get_entity(bot_username) if bot_entity: if isinstance(bot_entity, User): if bot_entity.bot: bot_peer = bot_entity print(f"Бот {bot_username} найден. Его ID: {bot_entity.id}") else: bot_peer = bot_entity print(f"Пользователь {bot_username} найден. Его ID: {bot_entity.id}") elif isinstance(bot_entity, PeerChannel): bot_peer = bot_entity print(f"Канал {bot_username} найден. Его ID: {bot_entity.id}") else: print(f"юзер {bot_username} найден, но не является ни ботом, ни пользователем, ни каналом.") return else: print(f"Не удалось найти пользователя/бота {bot_username}") return except Exception as e: logging.exception(f"Ошибка при поиске пользователя или бота: {e}") print(f"Ошибка при поиске пользователя/бота {bot_username} : {e}") return client.add_event_handler(lambda event: handle_commands(client, event), events.NewMessage()) client.add_event_handler(lambda event: handle_new_messages(client, event), events.NewMessage()) asyncio.create_task(send_periodically(client, bot_peer, message)) try: await client.run_until_disconnected() except KeyboardInterrupt: print("Работа скрипта завершена.") finally: await client.disconnect() await tg_bot_client.disconnect() if __name__ == "__main__": try: asyncio.run(main()) except Exception as e: logging.exception(f"Ошибка при работе скрипта: {e}") print(f"Ошибка: {e}")