【问题标题】:Create transcript of discord channel创建不和谐频道的成绩单
【发布时间】:2021-10-25 12:25:21
【问题描述】:

是否可以使用 discord.py 创建频道存档? 我试过遵循这个:discrod.py Text channel history to HTML file,但是它:

  1. 无论我如何尝试,都没有发送文件;
  2. 当我通过浏览器打开文件时,它没有创建您在票务机器人中看到的样式。

我正在使用 discord-components,因此由于错误,chat_exporter 无法工作。 有人知道怎么做吗?

【问题讨论】:

  • 你检查过Tyrrrz/DiscordChatExporter 吗?
  • 我在原帖here中添加了两种方法的答案@
  • @Abdulaziz Tyrrrz/DiscordChatExporter 是否可以工作,因为机器人是在外部托管的,这意味着我不知道到达它的路径
  • 下载cli 版本,将其添加到您的仓库的根文件夹中。它应该在名为 DiscordChatExporter.CLI 的文件夹中
  • @Abdulaziz 我试过了,但我现在得到这个错误:pastebin.com/sz0g7WL6

标签: discord discord.py ticket-system


【解决方案1】:

The original post 上的答案现在有效,但是 Bram 的答案也有效。使用原始帖子中的解决方案,chat-exporter 将无法与 discord-components 一起使用,但可能很快会解决该问题(通过 discord-components 更新或 discord.py 2.0 发布)

【讨论】:

    【解决方案2】:

    我想这就是你要找的。​​p>

    fileName = f"{ctx.channel.name}.txt"
    with open(fileName, "w") as file:
        async for msg in ctx.channel.history(limit=None):
            file.write(f"{msg.created_at} - 
                       {msg.author.display_name}: 
                       {msg.clean_content}\n")
    

    如果您想发送文件,请执行以下操作:

    file = discord.File(fileName)
    await ctx.send(file=file)
    

    当然,您可以将文件发送到您想要的任何地方,但这只是一个示例。

    【讨论】:

    • 有效,但不像您在 Ticket Tool 之类的机器人上看到的脚本,其中有一个文件类似于频道的屏幕截图
    • 嗯,这不是你的问题,我只是告诉你如何保存和发送频道的答案。我个人在我的网络票务系统上使用它。如果你想截屏,你需要某种 API 来为你做这件事。我不能帮你。如果它有效,如果您能支持我的答案,我将不胜感激,因为它确实有效。
    猜你喜欢
    • 2021-11-23
    • 2021-09-15
    • 1970-01-01
    • 2020-11-07
    • 2020-12-28
    • 2022-01-24
    • 2019-08-22
    • 2020-09-06
    • 2021-02-20
    相关资源
    最近更新 更多