好吧,我已经试着修复这个问题好几个小时了,所以这里是错误
File "bot.py", line 178, in sms_token
getters[(token)] = {}
TypeError: 'coroutine' object does not support item assignment
那这是搞乱的代码
async def sms_token(ctx,days,cooldown,name):
tokens = get_tokens_data()
getters = tokens
token = (''.join([secrets.choice
('123456789.=/?@#$nuioqasmkj]{;')
for i in range(20)]))
await ctx.send(f"TOKEN:{token}\nDAYS:{days}\nCOOLDOWN:{cooldown}")
if str(token) in {tokens}:
return False
else:
getters[(token)] = {}
getters[(token)]["days"] = 0
getters[(token)]["cooldown"] = 0
with open("tokens.json", "w") as f:
json.dump(tokens,f)
return True
我做错了什么?请帮帮我
您的
getters
(又称tokens
)是一个协同程序对象。尝试等待结果:->
UPD:好的,我试着解释一下
这就是你所拥有的:
而且
tokens_data
还不是一个dict或list,它是一个协同程序对象,因此您不能为token_data
分配键要解决此问题,只需在
=
和get_tokens_data()
之间添加await
:因此,
tokens_data
将不包含协同程序本身,而是其执行的结果(dict)。就这样相关问题 更多 >
编程相关推荐