;

Hermes로 Telegram, Slack 메신저 연동하고 알림 받는 방법 본문

Ai

Hermes로 Telegram, Slack 메신저 연동하고 알림 받는 방법

WindowsHyun 2026. 7. 1. 23:39
반응형

개요

본 포스트는 Hermes AI 에이전트를 Telegram과 Slack에 연결하고, 메신저에서 바로 작업을 요청하거나 크론 작업 결과를 같은 채널로 받는 과정을 설명합니다.

처음 설정할 때 확인할 값은 아래 3가지입니다.

  • Telegram: TELEGRAM_BOT_TOKEN, TELEGRAM_ALLOWED_USERS, TELEGRAM_HOME_CHANNEL
  • Slack: SLACK_BOT_TOKEN, SLACK_APP_TOKEN, SLACK_HOME_CHANNEL
  • 공통 확인: hermes gateway

전체 구성 흐름

Hermes Gateway는 Telegram Bot API 또는 Slack Socket Mode와 연결됩니다. 실제 작업 실행은 Hermes Core가 맡습니다. 메신저에서 보낸 요청, hermes send로 보낸 알림, hermes cron create --deliver 결과가 이 경로를 따라 같은 채널로 들어옵니다.

사전 준비 사항

  • Hermes가 설치되어 있고 계속 켜 둘 장비가 있어야 합니다.
  • 사용할 LLM 모델 설정이 끝나 있어야 합니다.
  • Telegram은 BotFather를 사용할 계정이 필요합니다.
  • Slack은 Workspace에 App을 만들 권한이 필요합니다.

1. Telegram 연동

1.1. BotFather에서 봇 만들기

Telegram에서 @BotFather를 열고 /newbot을 실행합니다.

생성이 끝나면 아래 형식의 토큰을 받습니다.

7123456789:***

토큰이 노출됐으면 BotFather에서 /revoke로 새 토큰을 발급합니다.

1.2. Telegram User ID 확인

Hermes는 메신저에서 명령을 받아 실행하므로 허용 사용자 제한을 먼저 걸어두는 편이 안전합니다.

Telegram에서 @userinfobot에게 메시지를 보내 숫자 User ID를 확인합니다.

예시:

123456789

1.3. 환경 변수 설정

~/.hermes/.env에 아래 값을 넣습니다.

TELEGRAM_BOT_TOKEN=7123456789:***

TELEGRAM_ALLOWED_USERS=123456789

TELEGRAM_HOME_CHANNEL=123456789

각 값 의미는 아래와 같습니다.

  • TELEGRAM_BOT_TOKEN: BotFather에서 받은 봇 토큰
  • TELEGRAM_ALLOWED_USERS: Hermes 사용을 허용할 Telegram User ID 목록
  • TELEGRAM_HOME_CHANNEL: 기본 알림을 받을 채팅 ID

1.4. 그룹방으로 알림 받기

개인 DM 대신 그룹방으로 알림을 받을 수도 있습니다. 봇을 그룹에 초대한 뒤 그룹 ID를 넣습니다.

TELEGRAM_HOME_CHANNEL=-1001234567890

또는 Hermes 봇이 들어간 방에서 /sethome으로 기본 채널을 지정할 수 있습니다.

2. Slack 연동

2.1. Slack App 생성

Slack App 페이지에서 새 앱을 만듭니다.

https://api.slack.com/apps

2.2. Manifest 생성

아래 명령으로 Hermes용 Manifest를 만듭니다.

hermes slack manifest --write

기본 저장 경로는 아래와 같습니다.

~/.hermes/slack-manifest.json

이 파일을 Slack App의 Features -> App Manifest에 넣어 저장합니다.

2.3. Socket Mode와 토큰 준비

Socket Mode를 켠 뒤 connections:write 권한으로 App Token을 발급합니다.

App Token 예시:

xapp-1-A0123456789-example

그다음 OAuth & Permissions에서 앱을 설치하고 Bot Token을 확인합니다.

Bot Token 예시:

xoxb-1...mple

2.4. 환경 변수 설정

~/.hermes/.env에 아래 값을 넣습니다.

SLACK_BOT_TOKEN=xoxb-1...mple

SLACK_APP_TOKEN=xapp-1-A0123456789-example

SLACK_ALLOWED_USERS=U0123456789

SLACK_HOME_CHANNEL=C0123456789

각 값 의미는 아래와 같습니다.

  • SLACK_BOT_TOKEN: Bot User OAuth Token
  • SLACK_APP_TOKEN: Socket Mode용 App-Level Token
  • SLACK_ALLOWED_USERS: Hermes 사용을 허용할 Slack User ID 목록
  • SLACK_HOME_CHANNEL: 기본 알림을 받을 채널 ID

3. Gateway 실행 확인

설정을 마쳤으면 먼저 포그라운드에서 실행해 연결부터 확인합니다.

hermes gateway

그다음 Telegram 또는 Slack에서 봇에게 아래처럼 메시지를 보내 봅니다.

hello

응답이 오면 연결된 상태입니다.

계속 켜둘 서버라면 아래처럼 서비스 등록까지 진행합니다.

hermes gateway install

hermes gateway start

hermes gateway status

Linux에서 로그를 볼 때는 아래 명령을 사용합니다.

journalctl --user -u hermes-gateway -f

4. 메신저로 알림 보내기

직접 메시지를 보내는 예시는 아래와 같습니다.

hermes send --to telegram "deploy finished"

hermes send --to slack "backup completed"

특정 채널을 지정할 수도 있습니다.

hermes send --to telegram:-1001234567890 "disk check done"

hermes send --to slack:C0123456789 "build finished"

이미지 파일은 MEDIA: 경로로 보냅니다.

hermes send --to telegram "MEDIA:/tmp/chart.png"

5. Cron 결과를 Telegram 또는 Slack으로 받기

정기 점검 결과를 메신저로 보내려면 --deliver를 사용합니다.

hermes cron create "every 1h" --deliver telegram "서버 메모리 사용량을 점검하고 짧게 요약"

hermes cron create "0 9 * * *" --deliver slack "오늘 처리할 GitHub 이슈를 요약"

특정 채널을 직접 지정하는 예시입니다.

hermes cron create "every 30m" --deliver telegram:-1001234567890 "디스크 용량 점검"

hermes cron create "every 2h" --deliver slack:C0123456789 "배포 상태 점검"

현재 대화가 시작된 메신저로 다시 보내고 싶다면 origin을 사용합니다.

hermes cron create "every weekday at 9am" --deliver origin "오늘 일정과 서버 상태를 요약"

주요 오류 및 해결 방안

401 Unauthorized 또는 Invalid Token: 토큰 앞뒤 공백 여부를 확인합니다. Slack App Token은 xapp-, Bot Token은 xoxb-로 시작해야 합니다.

Telegram 봇이 응답하지 않음: 봇에게 /start를 먼저 보냈는지, TELEGRAM_ALLOWED_USERS에 내 숫자 User ID가 들어 있는지 확인합니다.

Slack에서 이벤트가 오지 않음: Socket Mode 활성화 여부와 SLACK_APP_TOKENconnections:write 권한을 확인합니다.

Cron 결과가 오지 않음: TELEGRAM_HOME_CHANNEL 또는 SLACK_HOME_CHANNEL 값이 비어 있지 않은지 확인합니다.

확인

Telegram은 BotFather 토큰과 숫자 User ID만 맞추면 빠르게 붙일 수 있습니다. Slack은 xapp- App Token과 xoxb- Bot Token 구분만 정확히 하면 됩니다.

설정이 끝나면 hermes gateway로 연결 상태를 먼저 확인하고, hermes send, hermes cron create --deliver를 붙이면 메신저 안에서 Hermes와 대화하고 자동화 알림도 같은 채널에서 받을 수 있습니다.

반응형
Comments