Telethon:我可以在 iter_message 中使用两个过滤器吗?
Telethon: Can I use two filters in iter_message?
你好,我想制作一个机器人,它可以从忽略贴纸或短信的聊天中下载所有媒体。问题是我一次只能使用一个过滤器。
我尝试使用逻辑运算符和元组,但它们没有用。
我读到我也可以使用 type() 函数代替电视节目的过滤器,但我不明白如何使用。有人可以帮助我吗?
这些是我的尝试:
python
async for message in client.iter_messages(chat,
reverse=True, filter=InputMessagesFilterDocument and InputMessagesFilterMusic):
async for message in client.iter_messages(chat,
reverse=True, filter=InputMessagesFilterDocument or InputMessagesFilterMusic):
async for message in client.iter_messages(chat,
reverse=True, filter=(InputMessagesFilterDocument, InputMessagesFilterMusic)):
据我所知,Telegram 不允许对API请求进行多重过滤,因此您需要在收到信息。为此,您可以使用以下代码。
async for message in client.iter_messages(chat):
if message.media and not message.sticker:
#do your things
这样 message.media
您可以检查邮件是否包含任何媒体,而 not message.sticker
您可以检查邮件中包含的媒体是否是贴纸。
你好,我想制作一个机器人,它可以从忽略贴纸或短信的聊天中下载所有媒体。问题是我一次只能使用一个过滤器。
我尝试使用逻辑运算符和元组,但它们没有用。
我读到我也可以使用 type() 函数代替电视节目的过滤器,但我不明白如何使用。有人可以帮助我吗?
这些是我的尝试:
python
async for message in client.iter_messages(chat,
reverse=True, filter=InputMessagesFilterDocument and InputMessagesFilterMusic):
async for message in client.iter_messages(chat,
reverse=True, filter=InputMessagesFilterDocument or InputMessagesFilterMusic):
async for message in client.iter_messages(chat,
reverse=True, filter=(InputMessagesFilterDocument, InputMessagesFilterMusic)):
据我所知,Telegram 不允许对API请求进行多重过滤,因此您需要在收到信息。为此,您可以使用以下代码。
async for message in client.iter_messages(chat):
if message.media and not message.sticker:
#do your things
这样 message.media
您可以检查邮件是否包含任何媒体,而 not message.sticker
您可以检查邮件中包含的媒体是否是贴纸。