📅 2025년 4월 16일 — 실시간 채팅 오버레이를 만들기까지의 과정 기록
ws 라이브러리)main.js: Electron 앱 초기화, 봇 실행 포함bot.js: 디스코드 메시지를 받아 WebSocket으로 전송overlay.html: 채팅 UI 및 닫기 버튼overlay.js: WebSocket 수신 및 채팅 표시.env: 디스코드 봇 토큰 및 포트 설정package.json: 실행 스크립트 및 빌드 설정.env 파일을 안 읽었거나, 위치가 잘못됐거나require('dotenv').config({ path: path.join(__dirname, '.env') }) 명시함.exe 실행 시 채팅이 안 나옴.env가 빌드 후 dist에 포함되지 않음extraFiles에 .env 포함"build": {
...
"extraFiles": [
{ "from": ".env", "to": ".env" }
]
}
#chat-container가 채워질 때 scrollTop = scrollHeight 처리scrollArea.scrollTop = scrollArea.scrollHeight;
#title-bar는 drag,#scroll-container는 no-drag 으로 분리하여 마우스 스크롤 허용#scroll-container {
-webkit-app-region: no-drag;
overflow-y: auto;
backdrop-filter: blur(4px);
}
.chat-message {
color: white;
text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.8);
}
#scroll-container::-webkit-scrollbar-thumb {
background-color: rgba(255, 255, 255, 0.3);
border-radius: 4px;
}
npm run dist
dist/Discord Overlay.exe 실행 시 봇 + 오버레이 모두 실행됨.env 포함 여부 꼭 확인!디스코드 채팅 오버레이를 직접 만들어보면서
을 전부 다뤄볼 수 있었음.
방송 툴을 직접 커스터마이징해보고 싶은 사람에게 정말 좋은 프로젝트였다!