简体   繁体   English

Aiogram Telegram 删除带有链接的消息

[英]Aiogram Telegram delete messages with links

@dp.message_handler(lambda message: message.entities != [] and message.chat.id)
async def delete_messages(message: types.Message):
    for entity in message.entities:
        if entity.type in ["url", "text_link"]:
            await bot.delete_message(message.from_user.id, message.message_id)
            break

I tried this, but the message does not want to be deleted, tell me, please, what is the error?我试过了,但是消息不想被删除,请告诉我,错误是什么? I would also be grateful if you tell me how to make an exception.如果您能告诉我如何破例,我也将不胜感激。 So that links from a specific domain are not deleted (there will be several of them)这样就不会删除来自特定域的链接(会有几个)

@dp.message_handler(content_types=['text'])
async def delete_messages(message: types.Message):
    for entity in message.entities:
        if entity.type in ["url", "text_link"]:
            await message.delete()

This didn't help either这也没有帮助

你应该等待它await message.delete()

You should delete the post after the cycle ends:您应该在循环结束后删除帖子:

@dp.message_handler(content_types=['text'])
async def delete_messages(message: types.Message):
    linked = False
    for entity in message.entities:
        if entity.type in ["url", "text_link"]:
            linked = True
    if linked:
        await message.delete()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM