作者 主题: Discord导出聊天记录,并使用染色器染色为果园BBcode  (阅读 97 次)

副标题:

离线 \星尘/

  • 版主
  • *
  • 帖子数: 1944
  • 苹果币: 6
  • 星尘
https://www.bilibili.com/opus/941729141064990755
劇透 -   :
准备

使用软件:Discord Chat Exporter

最新版下载地址:https://github.com/Tyrrrz/DiscordChatExporter/releases/

一般情况下是下载“DiscordChatExporter.win-x64.zip”这个文件,其他系统或平台下载的文件版本可参考README文档的Download部分。

cut-off

导出步骤(以目前最新的2.43.3版本为例)

1. 打开DiscordChatExporter.exe。


可以看到导出的步骤已经写在软件界面了,所以本文相当于是翻译并且复述一下(

2. 在网页端的Discord登录,网址:https://discord.com/channels/@me
3. 打开你需要保存聊天记录的频道。

4. 按Ctrl+Shift+I键打开开发者工具(图中以Chrome浏览器为例)。


5. 切换到“网页(Network)”标签。


6. 按Ctrl+R重新加载页面。

7. 在任意几个频道间来回切换一下,以触发网页请求。

8. 在搜索框输入“message”。

9. 点击任意一个message条目,并在右侧窗口中切换到“标头(Header)”标签。


10. 往下翻到“请求标头(Request Headers)”。

11. 复制Authorization字段的值。


12. 把复制的值粘贴到Discord Chat Exporter上的Token输入框,点击右侧箭头,等待一会之后就会显示你加入的所有服务器和包含的频道。选中你要导出聊天记录的频道,点击右下角的下载按钮。


13. 之后可以设置保存路径(Output path)、保存格式(包括.txt和.html等),按"MORE"可以设置聊天记录时段、筛选消息类型等。最后按“EXPORT(导出)”,等待一段时间,即可导出聊天记录。之后也可以继续导出其他频道的聊天记录。


(注:进入软件右上角的“Settings(设置)”,可以设置是否显示频道帖子(thread)以及消息时间戳的时区等。)
参考此教程 以TXT格式导出

运行以下Python代码
代码: [选择]
import re
import random
import os
import tkinter as tk
from tkinter import filedialog
from datetime import datetime, timedelta


def generate_user_ids(folder_path):
    user_ids = {}
    for filename in os.listdir(folder_path):
        if filename.endswith('.txt'):
            input_file_path = os.path.join(folder_path, filename)
            with open(input_file_path, 'r', encoding='utf-8') as infile:
                lines = infile.readlines()
                for line in lines:
                    match = re.match(r'\[(.*?)\] (.*?)\n', line)
                    if match:
                        _, username = match.groups()
                        if username not in user_ids:
                            user_ids[username] = random.randint(
                                100000000, 999999999)
    return user_ids


def convert_format_in_folder(folder_path):
    output_folder = os.path.join(folder_path, 'converted_files')
    os.makedirs(output_folder, exist_ok=True)
    user_ids = generate_user_ids(folder_path)
    for filename in os.listdir(folder_path):
        if filename.endswith('.txt'):
            input_file_path = os.path.join(folder_path, filename)
            output_file_path = os.path.join(output_folder, filename)
            convert_format(input_file_path, output_file_path, user_ids)


def convert_format(input_file, output_file, user_ids):
    second_counter = 0  # 初始化秒计数器
    with open(input_file, 'r', encoding='utf-8') as infile, open(output_file, 'w', encoding='utf-8') as outfile:
        lines = infile.readlines()
        for line in lines:
            match = re.match(r'\[(.*?)\] (.*?)\n', line)
            if match:
                timestamp, username = match.groups()
                user_id = user_ids.get(username)
                # 解析原始时间戳
                try:
                    time_obj = datetime.strptime(timestamp, '%Y/%m/%d %H:%M')
                except ValueError:
                    # 如果时间格式不匹配,跳过此行
                    outfile.write(line)
                    continue
                # 增加秒数
                time_obj += timedelta(seconds=second_counter)
                second_counter += 1  # 递增秒计数器
                new_timestamp = time_obj.strftime('%Y/%m/%d %H:%M:%S')
                new_format = f"{username}({user_id}) {new_timestamp}\n"
                outfile.write(new_format)
            else:
                outfile.write(line)


def main():
    root = tk.Tk()
    root.withdraw()
    folder_selected = filedialog.askdirectory(title="选择要转换的文件夹")
    if folder_selected:
        convert_format_in_folder(folder_selected)
        print(f"转换完成!转换后的文件保存在:{os.path.join(
            folder_selected, 'converted_files')}")


if __name__ == "__main__":
    main()
运行程序后,按照以下步骤操作:
程序启动后会弹出一个对话框,选择包含待转换TXT文件的文件夹;程序会自动遍历该文件夹中的所有TXT文件,进行格式转换;转换后的文件将保存在所选文件夹内新创建的 converted_files 文件夹中。


移除转换后文件内容前后以=====分隔的内容,使用海豹染色器染色即可
https://log.weizaima.com/


银色的龙儿记录着旅程中收集的故事,细心地收纳于云雾中的巢穴
已经结束的故事在这里沉睡,新的故事正被撰写。

欢迎访问持续维护的枭熊1地图镜像The Trove dnd与coc原文资源镜像站FVTT世界安装包资源站5e不全书在线chm3r全书在线chm3r扩展在线chmPF1大合集在线chm染色器果园角色卡展示生成器MD2BBCODE格式转换器

最新版5e不全书