python - Discord.py raw_reaction_add 找不到成员
问题描述
我在 Discord.py API 1.4 版中编写了这段代码,一切正常。现在我尝试将它导入到我的新 1.5 代码中,但它不再工作了。“404 未找到成员。”
我在 APi 中找不到任何变化,所以我很好奇为什么它不再工作了。
@bot.event
async def on_raw_reaction_add(payload):
message_id = payload.message_id
if message_id == 768180630218342411:
guild_id = payload.guild_id
guild = discord.utils.find(lambda g: g.id == guild_id, bot.guilds)
if payload.emoji.name == 'testemoji':
role = discord.utils.get(guild.roles, name='testrolle')
elif payload.emoji.name == 'emojitest':
role = discord.utils.get(guild.roles, name='rolletest')
else:
role = discord.utils.get(guild.roles, name=payload.emoji.name)
if role is not None:
member = discord.utils.find(lambda m: m.id == payload.user_id, guild.members)
#member = guild.get_member(payload.user_id)
if member is not None:
await member.add_roles(role)
print("done")
else:
print("404 no member found")
else:
print("404 no group found")
解决方案
在新版本的 discord.py 中,即 1.5.1,有一个关于Intents
. 可能这就是为什么您无法使用discord.utils.get
. 在定义之前,您需要Intents
在代码的开头定义bot = commands.Bot(prefix='')
:
import discord
intents = discord.Intents().all()
bot = commands.Bot(command_prefix='', intents=intents)
推荐阅读
- python - 类型错误:** 或 pow() 不支持的操作数类型:'list' 和 'int'。plt.plot
- security - 在 Istio 中使用 JWT 进行最终用户身份验证会出现“上游连接错误”
- php - 如何使用日期和时间进行搜索
- c# - 测试当前条目是 CollectionViewSource 中的第一个还是最后一个条目
- css - 特定编号的 CSS 计数器
- html - 如何在搜索引擎结果中隐藏图标字体?
- javascript - 添加轨道控制后,我绘制圆柱体的功能不起作用
- javascript - 在 Angular 中,带有 finally()-Block 的 Promise 不能正确拒绝
- xml - 具有 xml 结构的 xslt 变量
- splunk - 如何在 splunk 中搜索:documentID = NM_APEXIT,{FFAAAA8-59EB-457F-A831-B532CACF20C1},{6080D6666-666-C00B-999C-3C42BBBBBB}