在discord.py中出现无处错误的某个时刻出现

问题描述 投票:2回答:1

坐下来研究有关discord.py的信息0.16.12我对函数discord.Client.edit_role(服务器,角色,参数*)感兴趣我遇到了一个问题(一小时之前一切正常)

Ignoring exception in on_ready
Traceback (most recent call last):
  File "C:\Users\ROG\Desktop\trash\dsbt\venv\lib\site-packages\discord\client.py", line 307, in _run_event
    yield from getattr(self, event)(*args, **kwargs)
  File "C:/Users/ROG/Desktop/trash/dsbt/rainbown_rolle/testbd.py", line 10, in on_ready
    await bot.edit_role(sr, rl, colour=discord.Colour(((rgb[0] << 16) + (rgb[1] << 8) + rgb[2])))
  File "C:\Users\ROG\Desktop\trash\dsbt\venv\lib\site-packages\discord\client.py", line 2860, in edit_role
    yield from self.http.edit_role(server.id, role.id, **payload)
  File "C:\Users\ROG\Desktop\trash\dsbt\venv\lib\site-packages\discord\http.py", line 169, in request
    print(data['retry_after'])
TypeError: string indices must be integers

机器人代码

import discord
token="token"
bot=discord.Client()
@bot.event
async def on_ready():
    rgb = [255, 0, 161]
    sr= discord.utils.find(lambda m: m.id == '403945874780061707',bot.servers)
    rl = discord.utils.find(lambda m: m.name == "Обыватель", sr.roles)
    print(type(sr),type(rl))
    await bot.edit_role(sr, rl, colour=discord.Colour(((rgb[0] << 16) + (rgb[1] << 8) + rgb[2])))
bot.run(token)
python-3.x discord.py
1个回答
0
投票

看起来端点返回了一些只是文本的响应体,而不是json。 期望状态为429(速率有限)的回复是json,它可以变成字典。所以它试图像字典那样访问文本,但是失败了。

根据重写分支修复此问题的this commit,可能是您已被Cloudflare禁止。尝试将您的机器人更新到新版本,但您很可能必须在其他地方托管您的机器人,以解决他们所拥有的任何禁令。

© www.soinside.com 2019 - 2024. All rights reserved.