Discord.py 日志消息

时间:2021-02-13 21:38:51

标签: discord.py

我有这个代码,当我输入 !snapshot 时,它应该记录通道中的最后 100 条消息,并将它们制作成一个文本文件:

/home/<repo>/nodevenv/node/

我已经导入了 BytesIO,它适用于清除消息并记录消息的不同命令,但是这段代码应该只生成日志然后在通道中发送它不起作用。请你能告诉我它应该是什么样子才能工作。谢谢!

1 个答案:

答案 0 :(得分:1)

TextChannel.history 是一个异步生成器,您没有正确使用它

messages = await ctx.channel.history(limit=100).flatten()
numbers = "\n".join([f"{message.author}: {message.clean_content}" for message in messages])

另一种选择是

numbers = ""
async for message in ctx.channel.history(limit=100):
    numbers += f"{message.author}: {message.clean_content}"