我正在创建一个discord Response机器人,它根据成员使用的反应表情来分配角色
我发现discord.utils.find
在本地运行应用程序时可以正常工作,但在Heroku或ibmcloud上托管应用程序时找不到成员
@client.event
async def on_raw_reaction_remove(payload):
message_id = payload.message_id
#...
#...
#...
# payload.member is not available for REACTION_REMOVE event type
member = discord.utils.find(lambda m: m.id == payload.user_id, guild.members)
member2id = int(payload.user_id)
GetMember = discord.Guild.get_member()
RoleLoser = GetMember(member2id)
为了避免这个问题,我试图搜索给定公会的成员列表,并使用其成员id返回一个成员。但是运行上面的提示,参考此行GetMember = discord.Guild.get_member()
No value for argument 'self' in unbound method call
No value for argument 'user_id' in unbound method call
非常感谢您的帮助
InsertCheesyLine是正确的。以下是工作代码:
我添加了一个打印语句,当用户被分配角色时,该语句将被发送到控制台。只需替换id和角色名,即可完成所有设置。 请参阅我问这个问题并获得帮助的地方(以及移除反应时移除角色的代码):Assign discord role when user reacts to message in certain channel
相关问题 更多 >
编程相关推荐