1 回答

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
在 python 中,字符串值和整數(shù)值是不同的。
>>> a = 1
>>> b = '1'
>>> a == b
False
因此,您應(yīng)該將現(xiàn)有的 json 文件轉(zhuǎn)換為使用整數(shù) ID(通過刪除引號(hào))或使用str()將整數(shù) ID 轉(zhuǎn)換為字符串。
這里使用的是字符串轉(zhuǎn)換(對(duì)于整數(shù),您無需更改任何內(nèi)容,只需更新您的文件):
@client.event
async def on_message(ctx):
id = str(ctx.author.id) # this line
with open('coins.json') as coins:
coinData = json.load(coins)
with open('shop.json') as shop:
shopData = json.load(shop)
await client.process_commands(ctx)
if id in coinData:
print('exists')
else:
coinData["players"][id] = 0
with open('coins.json', 'w') as coins:
json.dump(coinData, coins)
添加回答
舉報(bào)