D2
Администратор
- Регистрация
- 19 Фев 2025
- Сообщения
- 4,380
- Реакции
- 0
Всем привет, решил тут недавно порофлить в каналах политических срачей, и написал простенького бота на основе 4GPTfree, отвечает в грубой форме, но Prompt вы всегда сможете изменить на ваше усмотрение. Также если в будущем провайдер который прописан в коде будет не работать, нужно будет изменить переменную:
Код: Скопировать в буфер обмена
Актуальный список фришных провайдеров которые находятся в активе здесь (но из России очень много не работают, придется использовать VPN или прокси который нужно дописать в код):
Устанавливаем:
pip install telethon
pip install g4f
Python: Скопировать в буфер обмена
P.S. Перед каждым новым входом удаляйте файл *.session который создается в корне скрипта.
Код: Скопировать в буфер обмена
provider=g4f.Provider.Blackbox
Актуальный список фришных провайдеров которые находятся в активе здесь (но из России очень много не работают, придется использовать VPN или прокси который нужно дописать в код):
Устанавливаем:
pip install telethon
pip install g4f
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 = 24555512
api_hash = '1eabd55555d2977fc66894e3a1373e91'
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'):
datarand = chat_gpt_response
await asyncio.sleep(rand.randint(15, 25))
await event.reply(datarand[13:])
client.start()
client.run_until_disconnected()
P.S. Перед каждым новым входом удаляйте файл *.session который создается в корне скрипта.
View hidden content is available for registered users!