Python 使用discord.py使用bot命令写入文本文件
因此,基本上,我希望能够为我玩的游戏添加一名新员工,并存储积分以在游戏中排名。因此,第一个命令是创建新员工。所以说鲍勃需要被创造出来。我想说“!addcurrentemployee bob”,以便它写入文本文件,并将他的点默认为0。这就是我所拥有的,但它不起作用:Python 使用discord.py使用bot命令写入文本文件,python,python-3.x,discord.py,discord.py-rewrite,Python,Python 3.x,Discord.py,Discord.py Rewrite,因此,基本上,我希望能够为我玩的游戏添加一名新员工,并存储积分以在游戏中排名。因此,第一个命令是创建新员工。所以说鲍勃需要被创造出来。我想说“!addcurrentemployee bob”,以便它写入文本文件,并将他的点默认为0。这就是我所拥有的,但它不起作用: @bot.command async def addcurrentemployee(ctx, username=None, points=0): desk = "G:/Python/Diamond Security Bot/"
@bot.command
async def addcurrentemployee(ctx, username=None, points=0):
desk = "G:/Python/Diamond Security Bot/"
with open(desk + "employees.txt", "rw+") as f:
user = str(username)
pointamount = str(points)
points = 0
f.write(f'{user}, {pointamount}')
f.close()
您是否遇到了特定的错误?这是命令吗?你尝试的输入是什么?如果没有“它不起作用”之外的更多信息或上下文,就很难确定您请求帮助的确切问题 不过,根据这段代码,
点
将是一个整数,当您尝试将字符串与之串联时,您将得到一个TypeError
。这也适用于用户名
,如果未指定用户名,用户名将为None
。你应该调查一下
您也可以考虑为文件使用上下文管理器,例如
将open(desk+“employees1.txt”、“w”)改为f:
将open(desk+“employees.txt”、“rw+”)改为f:,并再次设置user=str(username)和pointamount=str(points),您需要提供比“仍然不起作用”更多的信息。盲目地猜测你的问题是什么来帮助你是一种空洞的方法。我可以建议你使用书架来实现这一壮举吗?每个员工都将在搁置词典中,并可根据需要进行更新。