Задать вопрос

Telegram userbot на Telethon не редактирует пересланные сообщения. Как исправить?

Есть граббер + редактор сообщений (добавляет свою подпись). Но проблема в том, что он не работает с пересланными сообщениями. Я подозреваю что проблема в самом хендлере, код части редактора такой:
# хендлер и редактор поста
@client.on(events.NewMessage(chats = cfg.CHANNEL_ID))
async def redactor(event):
    if event.message.text:
        text = event.message.text
        await client.edit_message(cfg.CHANNEL_ID, event.message, f'{text}\n\n{channel_url}\n{sendme_url}', link_preview = False)

*подразумевается, что сообщение всегда не пустое (хоть и бывают фото без подписи, например)

Таким способом мы можем редактировать сообщения, которые написаны и отправлены в канал вручную. Но если сообщение пересылает граббер или если переслать его самому (конечно же с отключением подписи автора) - функция не добавляет подпись.

Хотя, казалось бы, - пост в обоих случаях получается от имени канала. И в Aiogram, например, такой способ работает. А вот что с Telethon не так - не могу понять. Помогите пожалуйста разобраться.
  • Вопрос задан
  • 264 просмотра
Подписаться 1 Простой 4 комментария
Решения вопроса 1
EntireMusic
@EntireMusic Автор вопроса
(:
Проблема решена! Само собой как-то заработало, в коде ничего не менял.

Возможно, это какой-то глюк с сессиями, если ты в ТГ с этого же аккаунта в данный момент. Хотя в консоли никаких ошибок небыло, когда тестировал.

Сейчас функция работает и с текстом, и с пересланными сообщениями. Иногда долговато - несколько секунд (бота залил на Heroku).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
26 дек. 2024, в 15:04
3000 руб./за проект
26 дек. 2024, в 14:50
2000 руб./за проект
26 дек. 2024, в 14:40
15000 руб./за проект