systemd가 없는 환경에서 게이트웨이 실행
openclaw gateway start 는 systemd 기반 서비스 등록 명령입니다. 컨테이너나 일부 VPS 환경에서는 systemd user service가 동작하지 않습니다. 이 경우 openclaw gateway 를 직접 실행합니다.
백그라운드로 계속 실행하려면 다음 명령을 사용합니다.
nohup openclaw gateway > ~/.openclaw/logs/gateway.log 2>&1 &
nohup은 SSH 세션이 끊어져도 프로세스가 계속 동작하게 합니다. & 는 백그라운드로 실행합니다. 로그는 gateway.log 파일에 쌓입니다.
게이트웨이 정상 실행 확인
게이트웨이가 정상 실행되면 로그에 다음이 나옵니다.
[discord] logged in to discord as [숫자ID] (cha-eunbyul)
Discord에 연결됐다는 의미입니다. 이 시점에서 봇은 Discord에서 활성(온라인) 상태로 표시됩니다.
페어링 승인
봇에게 Discord DM으로 첫 메시지를 보내면 다음과 같은 메시지가 옵니다.
"OpenClaw: access not configured. Your Discord user id: [숫자] Pairing code: XXXXXX"
이것은 보안 장치입니다. 누구나 봇에게 메시지를 보낼 수 있기 때문에, 처음 연결하는 사용자는 서버에서 승인을 받아야 합니다.
서버에서 새 SSH 창을 열고 다음 명령을 실행합니다.
openclaw pairing approve discord [페어링코드]
승인 후 Discord에서 다시 메시지를 보내면 봇이 응답합니다. 이제 차은별이 동작하는 상태입니다.
봇이 메시지를 받는데 응답이 없을 때 체크리스트
첫째, Discord Developer Portal에서 Message Content Intent가 켜져 있는지 확인합니다. 봇이 로그인은 되지만 메시지를 읽지 못하는 가장 흔한 원인입니다.
둘째, 게이트웨이 로그를 확인합니다. 메시지를 보낸 후 로그에 아무것도 안 찍힌다면 봇이 메시지를 수신하지 못하는 것입니다. 이 경우 Message Content Intent 문제일 가능성이 높습니다.
셋째, 에이전트 바인딩을 확인합니다. 바인딩 없이는 게이트웨이가 메시지를 받아도 어느 에이전트에 전달할지 모릅니다.
넷째, 채널 멘션 방식을 확인합니다. 서버 채널에서는 @cha-eunbyul 처럼 멘션해야 합니다. DM은 멘션 없이도 됩니다.
다음 단계 예고
게이트웨이와 Discord 연결이 확인됐으면 이제 카드뉴스를 실제로 만드는 스킬을 설치할 차례입니다. instagram-card-news 오픈소스 스킬을 서버에 설치하고 차은별에 연결하는 과정이 이어집니다.
