问题描述
所以,我在尝试执行的命令时遇到了一些问题,好吧,不是一些麻烦,而是很多麻烦,我已经尝试了 8 个小时,但它不起作用......
我试图做的是一个建议命令,基本上是有人使用 $suggest 提示命令(他们的建议在这里),然后在将其发送到 .txt 文件后,它将返回到命令发送通道并用复选标记作出反应,但无论我使用什么代码,它要么作出反应,要么不向 .txt 文档发送信息,要么不作出反应或向 .txt 文档发送信息,或者只是不作出反应,将信息发送到 .txt 文档 正如我之前所说,我已经尝试了 HOURS,但仍然无法使其正常工作......
这是我使用的代码:
@client.command()
async def suggest(ctx,*,value):
file = open("suggest.txt","a")
file.write(f"User {ctx.author.mention} said: {value}\n")
file.close
await reaction.message.add_reaction("✅")
解决方法
您根本不调用 close()
(缺少括号),因此数据可能不会由于缓冲而刷新到文件中。
最好使用 with
,不过:
@client.command()
async def suggest(ctx,*,value):
with open("suggest.txt","a") as f:
print(f"User {ctx.author.mention} said: {value}",file=f)
await reaction.message.add_reaction("✅")
,
首先关闭后需要括号,我从来没有使用过reaction.message.add_reaction,只是message.add_reaction("thereaction")。 所有这些都改变了,它应该可以工作了。
@client.command()
async def suggest(ctx,value):
file = open("suggest.txt","a")
file.write(f"User {ctx.author.mention} said: {value}\n")
file.close()
await message.add_reaction("✅")
,
我不敢相信,这一次是因为我没有在 message.add_reaction 之前没有 (ctx)
不过谢谢你的帮助!