如何用discord.py读取其他Discord机器人的Embed消息?
使用discord.py实现指定Embed检测功能
需求:检测消息中的Embed,当存在1个Embed且其标题包含“IT'S RAINING COINS”时执行后续操作,对应以下JavaScript代码的功能:
if (message.embeds.length == 1) { const embed = message.embeds[0] if (embed.title.includes("IT'S RAINING COINS")) {
实现代码
在discord.py的消息事件处理逻辑中,可通过以下代码实现对应功能:
# 此代码需放在消息监听事件函数内部 if len(message.embeds) == 1: embed = message.embeds[0] # 先判断标题是否存在,避免无标题的Embed引发报错 if embed.title and "IT'S RAINING COINS" in embed.title: # 此处编写后续需要执行的操作 await message.channel.send("检测到目标Embed!")
关键说明
len(message.embeds)对应JS中的message.embeds.length,用于判断消息内的Embed数量message.embeds[0]直接获取第一个Embed对象,逻辑与JS完全一致- 增加
embed.title的存在判断,避免部分无标题的Embed触发AttributeError - 使用Python的
in运算符替代JS的includes(),实现字符串包含检测
内容的提问来源于stack exchange,提问作者crazy cat
相关产品推荐
相关产品推荐

