【发布时间】:2017-08-22 03:14:28
【问题描述】:
我正在尝试赋予人们角色。我已确保我的机器人可以添加和删除角色。这是我的代码:
@client.event
async def on_message(message):
await client.add_roles(message.author, "role id")
错误:
Ignoring exception in on_message
Traceback (most recent call last):
File "C:\Users\Jack Eagles\AppData\Roaming\Python\Python36\site-packages\discord\client.py", line 307, in _run_event
yield from getattr(self, event)(*args, **kwargs)
File "C:/Users/Jack Eagles/PycharmProjects/Discord Bot/Main.py", line 71, in on_message
await client.add_roles(message.author, role)
File "C:\Users\Jack Eagles\AppData\Roaming\Python\Python36\site-packages\discord\client.py", line 2907, in add_roles
new_roles = utils._unique(role.id for role in itertools.chain(member.roles, roles))
File "C:\Users\Jack Eagles\AppData\Roaming\Python\Python36\site-packages\discord\utils.py", line 232, in _unique
return [x for x in iterable if not (x in seen or adder(x))]
File "C:\Users\Jack Eagles\AppData\Roaming\Python\Python36\site-packages\discord\utils.py", line 232, in <listcomp>
return [x for x in iterable if not (x in seen or adder(x))]
File "C:\Users\Jack Eagles\AppData\Roaming\Python\Python36\site-packages\discord\client.py", line 2907, in <genexpr>
new_roles = utils._unique(role.id for role in itertools.chain(member.roles, roles))
AttributeError: 'str' object has no attribute 'id'
【问题讨论】:
-
我们将需要看到比这更多的代码。您应该提供一个Minimal, Complete, and Verifiable 示例。
-
欢迎来到 StackOverflow。请阅读并遵循帮助文档中的发布指南。 Minimal, complete, verifiable example 适用于此。在您发布 MCVE 代码并准确描述问题之前,我们无法有效地帮助您。
-
我猜 add_roles 在它的第二个参数中需要一个具有 id 属性(数据字段)的某种类型的对象。检查 add_roles 的文档或配置文件。