【问题标题】:(discord.py) Is there any way for the on_message event to look into an embedded rather than a normal message?(discord.py) 有没有办法让 on_message 事件查看嵌入式消息而不是普通消息?
【发布时间】:2019-07-12 04:20:13
【问题描述】:

我正在尝试制作一个 discord.py 机器人,它在带有 on_message 事件的每条消息中查找给定的关键字。虽然这适用于普通文本,但我无法让它与我需要的嵌入消息一起使用。有没有办法做到这一点?

【问题讨论】:

    标签: python discord discord.py


    【解决方案1】:

    message.embeds 将为您提供Embed 对象的列表。您可以尝试类似

    def check_all_message(check_for, message):
        if check_for in message.content:
            return True
        for e in message.embeds:
            if any(item and check_for in item for item in (e.title, e.footer, e.description)):
                return True
            if e.fields:
                for field in e.fields:
                    if check_for in field.name or check_for in field.value:
                        return True
        return False
    
    @bot.event
    async def on_message(message):
        if message.author == bot.user:
            return
        if check_all_message("apple", message):
            await bot.send_message(message.channel, 'You said "apple"!')
    

    【讨论】:

      猜你喜欢
      • 2020-10-17
      • 2021-07-23
      • 2021-07-25
      • 2022-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-23
      相关资源
      最近更新 更多