使用不和谐机器人存储消息
storing messages with a discord bot
我正在尝试使用 discord bot 存储消息,这样我就可以了解消息的元素在消息之间有何不同。
但是我对这种编码的某些方面很陌生——即装饰器。目前我的与消息交互的机器人程序代码是这样的:
messages=[]
@bot.event
async def on_message(message,messages):
print("someone said something")
messages=messages+message
if message.author == bot.user:
return messages
我认为这是错误的。我想要做的是在每次事件发生时向消息添加一条消息,以便我稍后可以遍历该变量并查看消息的不同元素如何变化。
我如何更改以上内容以允许这样做?
您只能在 on_message
事件中使用 1 个参数。此外,您不能使用 +
将内容附加到列表中。而且将数据存储在变量中也不是一个好主意,因为无论何时重新启动机器人,它都会被删除。您可以简单地将它们存储在一个 txt 文件中。
@bot.event
async def on_message(message):
print("someone said something")
file = open('messages.txt', 'a')
file.write(message.content + '\n')
file.close()
编辑
如果你想存储消息的所有信息,你可以这样做:
file.write(f'{message}\n')
或
file.write(str(message) + '\n')
我正在尝试使用 discord bot 存储消息,这样我就可以了解消息的元素在消息之间有何不同。
但是我对这种编码的某些方面很陌生——即装饰器。目前我的与消息交互的机器人程序代码是这样的:
messages=[]
@bot.event
async def on_message(message,messages):
print("someone said something")
messages=messages+message
if message.author == bot.user:
return messages
我认为这是错误的。我想要做的是在每次事件发生时向消息添加一条消息,以便我稍后可以遍历该变量并查看消息的不同元素如何变化。
我如何更改以上内容以允许这样做?
您只能在 on_message
事件中使用 1 个参数。此外,您不能使用 +
将内容附加到列表中。而且将数据存储在变量中也不是一个好主意,因为无论何时重新启动机器人,它都会被删除。您可以简单地将它们存储在一个 txt 文件中。
@bot.event
async def on_message(message):
print("someone said something")
file = open('messages.txt', 'a')
file.write(message.content + '\n')
file.close()
编辑
如果你想存储消息的所有信息,你可以这样做:
file.write(f'{message}\n')
或
file.write(str(message) + '\n')