Discord
Discord 봇을 통해 CLI-JAW 에이전트를 실행하세요. 프롬프트를 보내고, 슬래시 명령어를 사용하고, 전달된 결과를 받고, 파일 첨부를 처리할 수 있습니다 -- 모두 Discord 서버 안에서 가능합니다.
설정
1. Discord 봇 생성
- Discord Developer Portal로 이동합니다
- 새 애플리케이션을 만들고 봇을 추가합니다
- Privileged Gateway Intents에서 MESSAGE_CONTENT 인텐트를 활성화합니다
- 봇 토큰을 복사합니다
- 적절한 권한으로 봇을 서버에 초대합니다
2. settings.json 설정
{
"discord": {
"token": "YOUR_DISCORD_BOT_TOKEN",
"guildId": "YOUR_GUILD_ID",
"channelIds": ["CHANNEL_ID_1", "CHANNEL_ID_2"],
"forwardAll": true
}
}
MESSAGE_CONTENT 특권 인텐트가 필요합니다. 이것이 없으면 봇이 길드 채널에서 메시지 내용을 읽을 수 없습니다.
3. 대안: jaw init 사용
jaw init --channel discord \
--discord-token "YOUR_TOKEN" \
--discord-guild-id "GUILD_ID" \
--discord-channel-ids "CHANNEL_ID_1,CHANNEL_ID_2"
슬래시 명령어
Discord 슬래시 명령어는 길드 범위 명령어로 등록됩니다. 27개의 모든 표시 가능한 명령어가 Discord의 기본 /command 인터페이스를 통해 사용할 수 있습니다. 명령어 실행은 getVisibleCommands('discord')와 makeCommandCtx('discord', ...)를 사용합니다.
슬래시 명령어 응답은 Discord의 인터랙션 응답 3초 타임아웃을 피하기 위해 지연 처리됩니다.
메시지 처리
- 텍스트 메시지 -- 허용된 채널의 메시지가 에이전트로 전송됩니다
- 첨부 파일 -- 파일이 다운로드되어 처리됩니다
- DM -- 봇에 대한 다이렉트 메시지가 지원됩니다
- AllowedMentions -- 기본 AllowedMentions 설정으로 봇이 everyone을 멘션하는 것을 방지합니다
전달
forwardAll이 true이면, 에이전트 결과가 활성 Discord 채널로 청크 단위 메시지로 전달됩니다.
/forward on # Enable forwarding
/forward off # Disable forwarding
채널 허용 목록
channelIds 배열은 봇이 수신하는 채널을 제한합니다. 스레드의 상위 채널이 이 목록에 대해 검사되므로, 허용된 채널 내의 스레드도 동작합니다.
환경 변수
DISCORD_TOKEN=your_token_here
DISCORD_GUILD_ID=123456789
DISCORD_CHANNEL_IDS=111222333,444555666
전송 API
POST /api/discord/send # Direct Discord send
POST /api/channel/send # Unified channel send (preferred)