【发布时间】:2021-10-27 12:01:57
【问题描述】:
每当用户打开/刷新特定页面时,我都有一个 Flask 应用程序运行 3 个循环
第一个循环:
for i in range(0, 5):
conversionToUsername = requests.get(
f"https://discord.com/api/v9/users/{useridlist[i]}",
headers={
"Authorization":
"Bot BOTTOKEN"
}).json()["username"]
conversionToDiscriminator = requests.get(f"https://discord.com/api/v9/users/{useridlist[i]}",
headers={
"Authorization":
"Bot BOTTOKEN"
}).json()["discriminator"]
userIDtoName.append(f"{conversionToUsername}#{conversionToDiscriminator}")
第二次循环:
for j in range(0, 5):
coinslist.append(coins[str(useridlist[j])])
第三循环:
for l in range(0, 5):
leaderboardlist.append(f"{userIDtoName[l]} => {coinslist[l]}")
一些重要的东西:
我在模块级别分配了userIDtoName、coinslist 和leaderboardlist,并在循环运行之前清除它们。
我向flask页面发送一个请求,这些循环每10秒发生一次,这些请求会更改coins[str(jsondict[j])]的值。
coins 是一个字典,其中包含 Discord 用户 ID 的键和整数(硬币)的值。
useridist 是一个包含 Discord 用户 ID 的列表。
如果这些信息不充分,请告诉我
到目前为止,我已经尝试打印每个语句,将 for i in range(0, 5) 更改为 for i in range(len(useridlist)) 和 for i in useridlist,将它们全部合并为 1 和 2 for 循环并在 Python IDLE 环境中运行每个语句。
错误是conversionToUsername(有时是conversionToDiscriminator)行在特定数量的尝试后总是返回KeyError。当我将请求发送更改为每 5 秒发送一次时,它在 3 个请求后显示错误。当我将其更改为 10 秒时,它在 5 个请求后显示错误。但是每当我刷新页面时总是会出现错误。
有没有人知道如何解决这个问题,或者我做错了什么?
【问题讨论】:
-
我找到了问题,而不是解决方案。它的 Discord 速率限制......
标签: python json python-requests discord