(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 事件查看嵌入式消息而不是普通消息?)
问题描述
我正在尝试制作一个 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"!')
这篇关于(discord.py) 有没有办法让 on_message 事件查看嵌入式消息而不是普通消息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:(discord.py) 有没有办法让 on_message 事件查看嵌入式消息而不是普通消息?


基础教程推荐
- 用于分类数据的跳跃记号标签 2022-01-01
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- 筛选NumPy数组 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01