Categories : ETC
디스코드 채팅 백업하기 최적화
- 0. 적용사양
- 1. 왜 다시 작성했나
- 2. 사전 준비
- 3. DiscordChatExporter CLI 설치
- 4. 토큰 가져와서 파일로 저장
- 5. dce 단축 명령 등록
- 6. 채널ID 가져오기
- 7. 채팅 빼오기
- 8. 자주 겪는 문제
0. 적용사양
이전 글(디스코드 채팅 백업하기) → 을 쉽게 쓰기 위해 다시 정리한 글
터미널에서 명령어 실행 사양은 맥북 M1 기준으로 작성됨.
1. 왜 다시 작성했나
이전 글의 방법은 채팅을 백업할 때마다 아래 과정이 필요했음.
- 터미널을 켤 때마다 설치 폴더로
cd이동 - 매번 긴 명령어에 토큰을 직접 붙여넣기
- 저장 폴더가 없으면
mkdir로 다시 만들기
이번 글은 이 과정을 한 번만 세팅해두고, 이후에는 아래 한 줄로 끝내는 방법임.
dce 채널ID
2. 사전 준비
Homebrew와 .NET 런타임이 필요함. 이미 설치되어 있다면 건너뛰기.
Homebrew 설치하기 →
brew install --cask dotnet-sdk
dotnet --list-runtimes
3. DiscordChatExporter CLI 설치
이전 글을 따라 ~/dce에 이미 설치했다면 이 단계는 건너뛰기.
https://github.com/Tyrrrz/DiscordChatExporter/releases/latest 접속
Assets 에서 DiscordChatExporter.Cli 중에 osx-arm64 가 붙어있는 파일로 다운로드
# 1. 설치할 폴더 만들기
mkdir -p ~/dce
# 2. zip을 그 폴더에 풀기
unzip ~/Downloads/DiscordChatExporter.Cli.osx-arm64.zip -d ~/dce
# ※※ 권한이 막히면 진행 ※※
chmod +x ~/dce/DiscordChatExporter.Cli
xattr -dr com.apple.quarantine ~/dce
# 3. 실행 확인
~/dce/DiscordChatExporter.Cli --help
4. 토큰 가져와서 파일로 저장
토큰 복사
discord.com/app 페이지에서 개발자도구 -> 네트워크 탭에서
DM을 드나들다 보면 science 항목이 계속 뜰텐데, 요청 부분에 Authorization 값을 복사
토큰을 별도 파일로 저장
토큰을 명령어나 설정 파일에 직접 쓰지 않고, 별도 파일에 보관하는 것이 이번 방법의 핵심임.
echo 'DISCORD_TOKEN="여기에_토큰_붙여넣기"' > ~/.dce_token
chmod 600 ~/.dce_token
chmod 600: 내 계정만 읽을 수 있도록 권한 제한- 토큰은 계정 비밀번호와 같은 권한이므로 블로그나 채팅에 절대 노출하지 않기
5. dce 단축 명령 등록
~/.zshrc에 dce 함수를 추가함. 아래 명령어를 통째로 붙여넣기.
# 실행 전 백업 (선택)
cp ~/.zshrc ~/.zshrc.bak
cat >> ~/.zshrc << 'EOF'
# DiscordChatExporter 단축 명령
dce() {
if [ -z "$1" ]; then
echo "사용법: dce 채널ID [추가옵션]"
return 1
fi
source ~/.dce_token
local CH="$1"
shift
~/dce/DiscordChatExporter.Cli export \
-t "$DISCORD_TOKEN" \
-c "$CH" \
-o ~/Desktop/discord_export/%c/$(date +%Y%m%d_%H%M%S).html \
"$@"
}
EOF
적용 및 확인
source ~/.zshrc
type dce
grep -c "^dce()" ~/.zshrc
type dce결과에dce is a shell function이 나오면 정상grep -c결과가1이면 중복 없이 한 번만 등록된 것
6. 채널ID 가져오기
디스코드 웹(discord.com/app)에서 백업하려는 DM을 클릭하면 주소에서 @me/ 뒤에 나오는 숫자들만 복사
7. 채팅 빼오기
dce 채널ID
실행하면 바탕화면 discord_export/채널ID/ 폴더에 날짜_시간.html 파일로 저장됨.
파일명에 실행 시각이 들어가므로 여러 번 백업해도 덮어씌워지지 않음.
추가 옵션
채널ID 뒤에 옵션을 그대로 붙이면 DiscordChatExporter에 전달됨.
dce 채널ID -f HtmlDark # 다크 테마 HTML
dce 채널ID --after 2026-01-01 # 특정 날짜 이후 채팅만
dce 채널ID --media # 첨부 이미지/파일도 같이 저장
8. 자주 겪는 문제
설치 폴더 위치를 바꾸고 싶은 경우
폴더 이동과 함수 안의 경로 수정을 같이 해야 함. 둘 중 하나만 하면 dce가 실행 파일을 찾지 못함.
401 Unauthorized 오류
토큰이 만료되었거나 비밀번호를 바꾼 경우임. 4번 과정으로 새 토큰을 받아 ~/.dce_token에 덮어쓰면 됨. ~/.zshrc는 다시 source하지 않아도 됨.
토큰이 제대로 저장되었는지 확인
토큰 전체를 화면에 출력하지 않고 앞 5글자만 확인하기.
source ~/.dce_token && echo "${DISCORD_TOKEN:0:5}..."
