bot.py 不会 运行 回溯 bot.run(TOKEN)

bot.py will not run Traceback bot.run(TOKEN)

机器人在几周前启动并 运行ning,我今天检查了一下,发现它处于离线状态。我再次尝试 运行 它,这条错误消息击中了我。自上次 运行ning...

以来未进行任何更改

来自控制台的错误消息:

Traceback (most recent call last):
  File "bot.py", line 347, in <module>
    bot.run(TOKEN)
  File "C:\Users\bjha0\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\client.py", line 640, in run
    return future.result()
  File "C:\Users\bjha0\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\client.py", line 621, in runner
    await self.start(*args, **kwargs)
  File "C:\Users\bjha0\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\client.py", line 585, in start
    await self.connect(reconnect=reconnect)
  File "C:\Users\bjha0\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\client.py", line 499, in connect
    await self._connect()
  File "C:\Users\bjha0\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\client.py", line 463, in _connect
    await self.ws.poll_event()
  File "C:\Users\bjha0\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\gateway.py", line 471, in poll_event
    await self.received_message(msg)
  File "C:\Users\bjha0\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\gateway.py", line 425, in received_message
    func(data)
  File "C:\Users\bjha0\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\state.py", line 750, in parse_guild_create
    guild = self._get_create_guild(data)
  File "C:\Users\bjha0\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\state.py", line 725, in _get_create_guild
    guild._from_data(data)
  File "C:\Users\bjha0\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\guild.py", line 297, in _from_data
    self._sync(guild)
  File "C:\Users\bjha0\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\guild.py", line 328, in _sync
    self._add_channel(CategoryChannel(guild=self, data=c, state=self._state))
  File "C:\Users\bjha0\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\channel.py", line 726, in __init__
    self._update(guild, data)
  File "C:\Users\bjha0\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\channel.py", line 737, in _update
    self._fill_overwrites(data)
  File "C:\Users\bjha0\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\abc.py", line 294, in _fill_overwrites
    self._overwrites.append(_Overwrites(id=overridden_id, **overridden))
TypeError: __new__() got an unexpected keyword argument 'deny_new'

我自己修复了这个错误,因为 discord.py 的新版本已经发布,所以只需安装它(pip uninstall discord.py,pip install discord.py)

Discord 更新了他们的系统。现在他们放弃了对 discordapp.com 域的支持。

解决方法是:

$ sudo pip3 uninstall discord.py
$ sudo pip3 install discord.py

P. S. 如果你没有 root 权限,你需要 sudo

本库的新版本现在引用discord.com域。