Telethon delete_messages, похоже, ничего не делает

Справка: Относительно новый для телемарафона и проблема с delete_messages()функцией. Это «кажется» ничего не делает для меня ...

Первоначально я получаю идентификатор сообщения из send_message, из значения идентификатора возвращаемого объекта. Он возвращает значения как 1, 2 и т. Д. Не уверен, что это идентификатор сообщения.

Я отправляю его delete_messagesкакdelete_messages(channel, [id])

Я получаю канал (это частный канал) от:

def resolve_channel_id(self, name):
    try:
        if name in self.__channel_ids:
            return self.__channel_ids[name]

        channel_id = self.client(ResolveUsernameRequest(name))
        self.__channel_ids[name] = channel_id
        return channel_id

    # except UserNameNotOccupiedError as err:
    except Exception as err:
        # try for private channel
        chatinvite = self.client(CheckChatInviteRequest(name))
        channel_id = chatinvite.chat.id
        access_hash_channel = chatinvite.chat.access_hash
        channel_id = InputChannel(channel_id, access_hash_channel)
        self.__channel_ids[name] = channel_id
        return channel_id

python,message,telegram,telethon,

0

Ответов: 2


0

Работает путем обновления до последнего телемарафона: 1.0.3 и последующей документации ... https://telethon.readthedocs.io/en/latest/extra/basic/asyncio-magic.html


0

Надеюсь, этот пример полезен для друзей:?

по этому коду, если сообщение с Helloтекстом отправляется в группу с идентификатором -1001300989487, этот текст будет удален.

import logging


from telethon import TelegramClient, events

logging.basicConfig(level=logging.INFO)

api_id = XXXXXX
api_hash = 'XXXXXXXXXXXXXXXXXXXXXXX'
phone_number = '+989XXXXXXXX'

################################################

client = TelegramClient('session_name',
                    api_id,
                    api_hash, 
                    )


@client.on(events.NewMessage(chats=(-1001300989487)))
async def my_event_handler(event):
    if 'hello' in event.raw_text:
        await event.delete()


client.start()
client.run_until_disconnected()

print('finish')
питон, сообщение, телеграмма, телемарафон,
Похожие вопросы