Этот скрипт подключается к Telegram чату, отслеживает новые сообщения и отвечает как "гопник" (персонаж российской субкультуры). Он использует библиотеку Telethon и GPT для генерации ответов. Бот может отправлять ответы случайным образом, что делает его поведение похожим на реального человека. Также можно редактировать prompt и менять провайдера. Для поддержки *** и списка бесплатных провайдеров см. GitHub: https://github.com/xtekky/gpt4free import asyncio from telethon import TelegramClient, events, sync, utils from telethon.errors import SessionPasswordNeededError import g4f import random as rand # Получаем параметры для подключения к API по адресу: # api_hash from https://my.telegram.org, under API Development, данные в переменных ниже указаны левые для понимания что нужно вписывать. api_id = 24555555 api_hash = '1eabd55555d2977fc66894e3a5555e91' chat = -1001455572595 # Чат айди сами загуглите как искать (или с клиента Telegram на PC заходите в продвинутые настройки-экспериментальные настройки-включаете отображение ID в профиле и прибавляете -100 в начале, если не сработает прописываете айди которое указано в профиле) client = TelegramClient('komandos_kolya', api_id, api_hash, device_model="AMD B550", system_version="Windows 10") client.connect() phone = input("Enter phone: ") client.send_code_request(phone, force_sms=False) value = input("Enter login code: ") try: me = client.sign_in(phone, code=value) #Если на акке выставленно 2Ф, будет запрос на авторизацию except SessionPasswordNeededError: password = input("Enter password: ") me = client.sign_in(password=password) @client.on(events.NewMessage(chats=[chat])) async def handler(event): user_text = event.raw_text print(event.raw_text) # Выводим все что пишут в чат try: response = await g4f.ChatCompletion.create_async( model=g4f.models.default, messages=[ {"role": "system", "content": "Привет! Общайся как гопник и сильно груби матами"}, {"role": "user", "content": user_text}], provider=g4f.Provider.Blackbox, ) chat_gpt_response = response except Exception as e: print(f"{g4f.Provider.Blackbox.__name__}:", e) chat_gpt_response = "Извините, произошла ошибка." print(chat_gpt_response) kakashka = rand.randint(1, 500) if kakashka < 100: # В зависимости от того какое число выпадет в переменную "kakashka" и зависит отправка текстового сообщения в чат async with client.action(chat, 'typing'): # Перед отправкой отправляем команду в чат что мы что-то печатаем, эмулируя поведение живого человека, этот бот у меня мог без банов сраться по 4-5 часов пока всех в конец не заёбывал datarand = chat_gpt_response await asyncio.sleep(rand.randint(15, 25)) await event.reply(datarand[13:]) client.start() client.run_until_disconnected() Python import asyncio from telethon import TelegramClient, events, sync, utils from telethon.errors import SessionPasswordNeededError import g4f import random as rand # Получаем параметры для подключения к API по адресу: # api_hash from https://my.telegram.org, under API Development, данные в переменных ниже указаны левые для понимания что нужно вписывать. api_id = 24555555 api_hash = '1eabd55555d2977fc66894e3a5555e91' chat = -1001455572595 # Чат айди сами загуглите как искать (или с клиента Telegram на PC заходите в продвинутые настройки-экспериментальные настройки-включаете отображение ID в профиле и прибавляете -100 в начале, если не сработает прописываете айди которое указано в профиле) client = TelegramClient('komandos_kolya', api_id, api_hash, device_model="AMD B550", system_version="Windows 10") client.connect() phone = input("Enter phone: ") client.send_code_request(phone, force_sms=False) value = input("Enter login code: ") try: me = client.sign_in(phone, code=value) #Если на акке выставленно 2Ф, будет запрос на авторизацию except SessionPasswordNeededError: password = input("Enter password: ") me = client.sign_in(password=password) @client.on(events.NewMessage(chats=[chat])) async def handler(event): user_text = event.raw_text print(event.raw_text) # Выводим все что пишут в чат try: response = await g4f.ChatCompletion.create_async( model=g4f.models.default, messages=[ {"role": "system", "content": "Привет! Общайся как гопник и сильно груби матами"}, {"role": "user", "content": user_text}], provider=g4f.Provider.Blackbox, ) chat_gpt_response = response except Exception as e: print(f"{g4f.Provider.Blackbox.__name__}:", e) chat_gpt_response = "Извините, произошла ошибка." print(chat_gpt_response) kakashka = rand.randint(1, 500) if kakashka < 100: # В зависимости от того какое число выпадет в переменную "kakashka" и зависит отправка текстового сообщения в чат async with client.action(chat, 'typing'): # Перед отправкой отправляем команду в чат что мы что-то печатаем, эмулируя поведение живого человека, этот бот у меня мог без банов сраться по 4-5 часов пока всех в конец не заёбывал datarand = chat_gpt_response await asyncio.sleep(rand.randint(15, 25)) await event.reply(datarand[13:]) client.start() client.run_until_disconnected()