【发布时间】:2021-01-02 13:46:05
【问题描述】:
我正在尝试在 repl.it 上编写一个 Discord 游戏机器人,并使用它的数据库来存储玩家的数据。
所以我现在正在发出命令让玩家重命名自己,但是出现了问题。以下几行有效,但涉及影响整个 player_data 列表的新值,该列表存储每个玩家的数据:
renamer = player_id.index(message.author.id)
new_name = message.content[len(prefix)+7:]
player_data = db["player_data"]
player_data[renamer][0] = new_name
db["player_data"] = player_data
await message.channel.send('You successfully renamed yourself into '+new_name+'.')
所以我担心如果有人开始玩而另一个人正在更改他的昵称,“旧”player_data 会覆盖新的,其中包含新玩家的数据。
我想要类似于这些行的东西(不起作用)只更改相关玩家的数据:
renamer = player_id.index(message.author.id)
new_name = message.content[len(prefix)+7:]
db["player_data"][renamer][0] = new_name
await message.channel.send('You successfully renamed yourself into '+new_name+'.')
【问题讨论】: