Py学习  »  Python

我的变量不工作,使用discord.py(python)得到一个奇怪的错误代码

PiG2164 • 5 年前 • 2143 次点击  
if message.content.startswith('!annoy'):
mseg = ('who do you want to Annoy?')
await client.send_message(message.channel, mseg)
responses = client.wait_for_message(author=message.author)
myvart = responses.content
if message.content.startswith(myvart):
  msg = ('Have fun, pleb...')
  await client.send_message(message.channel,msg)
  no = 0
  while no != 50:
    time.sleep(1)
    await 
   client.send_message(client.get_member_named('myvart'), 
   random.choice(insults))
    no = no + 1

我得到的错误代码如下:

Ignoring exception in on_message
Traceback (most recent call last):
  File "/home/runner/.site-packages/discord/client.py", line 307, in _run_event
    yield from getattr(self, event)(*args, **kwargs)
  File "main.py", line 41, in on_message
    myvart = message.responses.content
AttributeError: 'Message' object has no attribute 'responses'

edit;;不一致时的消息输出为:

!惹恼

你想惹恼谁?

<generator object Client.get_all_members at 0x7f15a94d19e8>
<generator object Client.get_all_members at 0x7f15a94d1990>
<generator object Client.get_all_members at 0x7f15a94d1678>
<generator object Client.get_all_members at 0x7f15a9510c50>
<generator object Client.get_all_members at 0x7f15a94d16d0>
<generator object Client.get_all_members at 0x7f15a9510830>
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/44172
 
2143 次点击  
文章 [ 2 ]  |  最新文章 5 年前
Reedinationer
Reply   •   1 楼
Reedinationer    6 年前

错误显示给您带来麻烦的代码行是:

myvart = message.responses.content

这条信息接着解释说:

“消息”对象没有“响应”属性

你可以找到 所有 的可用属性 Message 在: https://discordpy.readthedocs.io/en/latest/api.html#message

在那里你会看到 Message.content 是一个可以调用的有效对象。因此,我建议您更换

myvart=消息.responses.content

用:

myvart = message.content
Patrick Haugh
Reply   •   2 楼
Patrick Haugh    6 年前

Client.wait_for_message 是一次联程,必须是 await 预计起飞时间:

responses = await client.wait_for_message(author=message.author)

同样,你的 send_messages 缺少一个 等待 ,您应该使用 asyncio.sleep 结束 time.sleep 以免阻塞事件循环。