Мы с важной новостью: с 28 февраля 2025 года сервис Хабр Фриланс прекратит свою работу.

Купить услуги можно до 28 февраля 2025, но пополнить баланс уже нельзя. Если на вашем счете остались средства, вы можете потратить их на небольшие услуги — служба поддержки готова поделиться бонусами, на случай, если средств немного не хватает.
R50 85aef1d4a91d0db8722051d1bdc519a5
Junior Python, Telegram Bot

Бот для Троллинга / Bot Troll

Добавлено 21 дек 2024 в 15:44
import asyncio
import random
from telethon import TelegramClient, events

api_id = '1'
api_hash = '1'
phone_number = '1'
templates_file = 'shablon.txt'

client = TelegramClient('session_name', api_id, api_hash)

def read_templates(filename):
try:
with open(filename, 'r', encoding='utf-8') as file:
templates = file.readlines()
return [template.strip() for template in templates if template.strip()]
except FileNotFoundError:
print(f"Файл {filename} не найден.")
return []

target_user_id = input("Введите ID пользователя для ответов: ")

@client.on(events.NewMessage)
async def handler(event):
global target_user_id

if event.sender_id == int(target_user_id):
templates = read_templates(templates_file)
if not templates:
print("Нет доступных шаблонов.")
return

template = random.choice(templates)
await event.reply(template)
print(f"Отправлено сообщение пользователю {target_user_id}: {template}")

if event.raw_text == '1':
new_id = input("Введите новый ID пользователя: ")
target_user_id = new_id
await event.reply(f"ID пользователя изменён на: {target_user_id}")
print(f"ID пользователя изменён на: {target_user_id}")

async def main():
await client.start()
print("Бот запущен, ожидаем сообщения...")
await client.run_until_disconnected()

if __name__ == "__main__":
asyncio.run(main())
Fad78374fe