Python 有人能告诉我为什么这个代码不起作用吗?

Python 有人能告诉我为什么这个代码不起作用吗?,python,discord,discord.py,Python,Discord,Discord.py,所以,我在尝试执行命令时遇到了一些问题,嗯,没有什么麻烦,很多麻烦,我已经尝试了8个小时,但它就是不起作用 我想做的是一个建议命令,基本上是有人用$SUPPIRE(这里是他们的建议)提示命令,然后在发送到一个.txt文件后,它会返回到通道中发送的命令,并用复选标记作出反应,但不管我使用什么代码,它会做出反应,不会将信息发送到.txt文档,不会做出反应,也不会将信息发送到.txt文档,或者只是不会做出反应,也不会将信息发送到.txt文档 正如我之前所说,我已经试了好几个小时,但仍然无法让它工作 以

所以,我在尝试执行命令时遇到了一些问题,嗯,没有什么麻烦,很多麻烦,我已经尝试了8个小时,但它就是不起作用

我想做的是一个建议命令,基本上是有人用$SUPPIRE(这里是他们的建议)提示命令,然后在发送到一个.txt文件后,它会返回到通道中发送的命令,并用复选标记作出反应,但不管我使用什么代码,它会做出反应,不会将信息发送到.txt文档,不会做出反应,也不会将信息发送到.txt文档,或者只是不会做出反应,也不会将信息发送到.txt文档 正如我之前所说,我已经试了好几个小时,但仍然无法让它工作

以下是我使用的代码:

@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()
(缺少括号),因此数据很可能由于缓冲而没有刷新到文件中

最好与一起使用
,不过:

@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("✅")

首先,close后面需要括号,我从来没有使用reaction.message.add_reaction,只是message.add_reaction(“反应”)。 所有这些都改变了,它应该会起作用

@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("✅")

我不敢相信,这一切都是因为我没有(ctx)之前的消息


但是谢谢你的帮助

这应该是
ctx.message
而不是
message
,否则未定义
message