[英]User settings [discord.py]
我一直在为一个不和谐的机器人编写这段代码,它允许你打开和关闭被动模式。 当您启用它时,它会将您的用户 ID 添加到被动模式用户列表中,并在禁用时将其删除。 当我运行这个命令时,什么也没有发生,文本文件也没有被覆盖。 有谁知道它有什么问题?
@client.command()
async def passive(ctx, value: bool):
user_id = str(ctx.author.id)
if value:
with open('passive.txt', 'w') as a:
if user_id in a.read():
await ctx.channel.send('You are already in passive mode!')
else:
a.write(f'{user_id}\n')
await ctx.channel.send('Passive mode successfully enabled!')
a.close()
else:
with open('passive.txt', 'r') as r:
lines = r.readlines()
r.close()
with open('passive.txt', 'w') as d:
for line in lines:
if line.strip('\n') != (user_id):
d.write(line)
await ctx.channel.send('No more passive mode for you')
else:
await ctx.channel.send('You are already not in passive mode!')
d.close()
这不是一个真正的 discord.py 问题。 首先,您应该学习阅读 IDE 或调试器中的 err 消息。
并with open('passive.txt', 'w') as a:
更改为with open('passive.txt', 'w+') as a:
'w'
不能同时读写,但'w+'
可以
我用 w+ 测试了你的代码,它适用于文件 I/O,但不适用于切换。
我建议您先测试文本 IO ,如果有效,请将其放入您的机器人中。 也许您应该简化您的问题并将其发布为 python 问题(没有 discord.py 的部分)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.