Как писать комментарии от имени канала в pyrogram?

Рейтинг: 0Ответов: 1Опубликовано: 07.04.2023

В общем, есть бот, который должен комментировать посты от имени канала. Пока что он просто комментит от имени человека.

from pyrogram import filters, Client, types
import random

api_id = 333333
api_hash = '33333333'
ADMIN_GROUP = -767881209
choices = ['👍', '🔥', '😀']
app = Client('anon', api_id, api_hash)
GROUPS = [-1001826063681]

@app.on_message(filters=[filters.channel, filters.group])
async def wait_messages(client: Client, message: types.Message):
    if message.chat.id in GROUPS:
        m = await app.get_discussion_message(message.chat.id, message.id)
        await app.set_send_as_chat(message.chat.id, -1001690557176)
        await m.reply(random.choice(choices))


app.run()

Ответы

▲ 0

Вам нужно передавать id чата а не канала, первым аргументом set_send_as_chat, message.chat.id - это id канала. Вот так нужно исправить:

await app.set_send_as_chat('id ЧАТА с комментариями','id, от чьего имени отправляем')

Чтобы его получить простым способом - перешлите сообщение ОТ ИМЕНИ ГРУППЫ, где собираются коментарии боту @getmyid_bot Сейчас самому понадобилось сделать подобное, пришлось разобраться.

Так же нужно будет изменить строчку if message.chat.id in GROUPS: Если у вас в GROUPS список чатов - то message.chat.id там не будет.