Замените переменные на свои значения. Айди каналов можно получить в @getmyid_bot
Код Python:
Код
import openai
import telebot
import pyrogram
from pyrogram import filters
from pyrogram import Client, filters
openai.api_key = "ВАШ ОПЕНАЙ АПИ"
bot_token = "ТОКЕН БОТА"
admin_id = АЙДИ АДМИНА
api_id = АПИ ИД АККАУНТА
api_hash = "АПИ ХЕШ АККАУНТА"
Client.channel_list: list = [-100,
-100,
-100,
]
app = Client("UserBotTg", api_id=api_id, api_hash=api_hash, sleep_threshold=3)
bot = telebot.TeleBot(bot_token, parse_mode='HTML')
def generate_response(prompt, stop=None, temperature=0.8):
response = openai.Completion.create(engine="text-davinci-003", prompt=prompt, max_tokens=200, n=1,stop=".",temperature=0.7)
message = response.choices[0].text.strip()
return message
def generate_prompt(message):
prompt = f"ВАШ ПРОМПТ {message.link}\n"
if message.caption:
prompt += f"Текст сообщения: {message.caption}"
else:
prompt += f"Текст сообщения: {message.text}"
return prompt
@app.on_message(filters.chat(Client.channel_list))
def comment_sender(Client, message):
channel_name = message.chat.title
prompt = generate_prompt(message)
comment = generate_response(prompt)
try:
post = Client.get_discussion_message(message.chat.id, message.id)
post.reply(comment)
bot.send_message(chat_id=admin_id, text=f" Успешно оставили комментарий в канале: {channel_name}")
except pyrogram.errors.exceptions.forbidden_403.ChatWriteForbidden as e:
bot.send_message(chat_id=admin_id, text=f" Ошибка при отправке комментария в канал: {channel_name}\n\n Подробности:\n {str(e)}")
if __name__ == '__main__':
app.run()