问题描述
我正在尝试制作一个 discord.py 机器人,它在带有 on_message 事件的每条消息中查找给定的关键字.虽然这适用于普通文本,但我无法让它与我需要的嵌入式消息一起使用.有没有办法做到这一点?
I'm trying to make a discord.py bot that looks for given keywords in every message with the on_message event. While this works great with normal text, I can't get it to work with an embedded message which is what I need. Is there any way to do this?
推荐答案
message.embeds 将为您提供 Embed 对象的列表.您可以尝试类似
message.embeds will get you a list of Embed objects. You might try something like
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"!')