我已经尝试让这段代码正常工作一段时间了;
@bot.group()
async def donator(ctx):
'''Commands for donators'''
@donator.command()
async def register(ctx, Steam_ID : str):
'''Registers your donator status'''
if SteamID(Steam_ID).is_valid():
convert = SteamID(Steam_ID)
Steam64ID = convert.as_64
author = ctx.author
with open('donators.json') as d:
data = json.load(d)
newstring = {
f"{author.id}": {
"steam": f"{Steam64ID}",
"tier": "6"
}
}
data.update(newstring)
with open('donators.json', 'w') as d:
json.dump(data, d, indent=2)
else:
ctx.send("Invalid Steam ID!\nThis command accepts any kind of Steam ID.")
当我运行它时,它将产生我想要的结果,写入一个包含正确信息的有效 json 文件,没有错误。如果我再次运行它,什么也不会发生,绝对什么也不会发生。这就是 json 最初的结构。
{
"000000000000000000": {
"steam": "00000000000000000",
"tier": "0"
}
}
运行 python 脚本后,它看起来像这样
{
"000000000000000000": {
"steam": "00000000000000000",
"tier": "0"
},
"240912491624923137": {
"steam": "76561197960265729",
"tier": "6"
}
}
如果我第二次运行它,什么也不会发生。没有写入任何内容,json 文件保持不变并且没有错误。
九州编程
相关分类