【发布时间】:2020-07-02 19:57:02
【问题描述】:
我正在使用 discord.py 重写。我已经 3 天试图让这两行代码工作:
await member.remove_roles(tryMember, tryRole)
.
.
.
await member.add_roles(tryMember, tryRole)
这里是周围的代码,包括我的故障排除。我有用户 ID# 和角色 ID# 可以使用。这是一个后台进程。
memberList = []
for member in guild.members:
...
... decide on one of 3 roles for the user as proposedRole. # role ID number
...
for roleID in (serverSettings["inactive_r"], serverSettings["active_r"], serverSettings["very_active_r"]):
if roleID != proposedRole:
try:
print (roleID)
tryRole = discord.utils.find(lambda r: r.id == roleID, guild.roles)
tryMember = discord.utils.find(lambda m: m.id == member.id, guild.members)
print (tryRole) #only prints a member's name#number
print (tryMember) #only prints the role name
await member.remove_roles(tryMember, tryRole)
print (f'Removed {tryRole} from {tryMember} in {guild.name}')
except Exception as e:
print ('There was an error running this command: ' + str(e))
... And repeat all this but adding the right role instead of removing the inocrrect roles
每个成员在 cosole 上打印的内容是:
709425978044186725 # the correct role ID
inactive # the correct role name (I was expecting an object)
ArdenFutura#2469 # the correct member name (I was expecting an object)
There was an error running this command: 404 Not Found (error code: 10011): Unknown Role
# the e exception
664856898838855681 #aaaaand repeat...
active
ArdenFutura#2469
There was an error running this command: 404 Not Found (error code: 10011): Unknown Role
726974763649728593
very active
ArdenFutura#2469
There was an error running this command: 404 Not Found (error code: 10011): Unknown Role
这两行代码我已经用了 3 天了。请帮忙。
【问题讨论】:
-
await member.remove_roles(tryMember, tryRole)这意味着您正在尝试从member中删除角色tryMember和tryRole。如果您尝试从tryMember中删除tryRole,那就是await tryMember.remove_roles(tryRole)
标签: discord.py-rewrite user-roles