Discord

Discord 봇을 통해 CLI-JAW 에이전트를 실행하세요. 프롬프트를 보내고, 슬래시 명령어를 사용하고, 전달된 결과를 받고, 파일 첨부를 처리할 수 있습니다 -- 모두 Discord 서버 안에서 가능합니다.

설정

1. Discord 봇 생성

  1. Discord Developer Portal로 이동합니다
  2. 새 애플리케이션을 만들고 봇을 추가합니다
  3. Privileged Gateway Intents에서 MESSAGE_CONTENT 인텐트를 활성화합니다
  4. 봇 토큰을 복사합니다
  5. 적절한 권한으로 봇을 서버에 초대합니다

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초 타임아웃을 피하기 위해 지연 처리됩니다.

메시지 처리

전달

forwardAlltrue이면, 에이전트 결과가 활성 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)