【问题标题】:storing messages with a discord bot使用不和谐机器人存储消息
【发布时间】:2021-02-19 03:54:08
【问题描述】:

我正在尝试使用 discord 机器人存储消息,以便了解消息的元素在消息之间是如何变化的。

但是我对这种编码的某些方面并不陌生——即装饰器。目前与消息交互的我的机器人代码是这样的:

messages=[]

@bot.event
async def on_message(message,messages):
    print("someone said something")
    messages=messages+message
    if message.author == bot.user:
        return messages

我认为这是错误的。我要做的是在每次事件发生时向消息添加一条消息,以便稍后我可以查看该变量并查看消息的不同元素如何变化。

如何更改以上内容以允许这样做?

【问题讨论】:

    标签: discord.py python-decorators


    【解决方案1】:

    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') 
    

    【讨论】:

    • 谢谢!有没有办法做到这一点,这样它就可以保存所有的消息,而不仅仅是.content?
    • 为什么要它保存所有元素?
    • 因为我想看看它们在消息之间是如何变化的
    猜你喜欢
    • 2018-11-19
    • 2020-04-21
    • 1970-01-01
    • 1970-01-01
    • 2018-05-02
    • 2021-04-03
    • 2021-07-25
    • 1970-01-01
    • 2020-11-12
    相关资源
    最近更新 更多