AI&GameDev

AI와 게임개발에 관련된 이야기

시놀로지 Docker: n8n으로 시작하는 텔레그램 메시지 전송 워크플로우 만들기

automation n8n

현대의 디지털 환경에서 자동화는 생산성을 극대화하고 반복적인 작업을 줄이는 데 필수적인 역할을 합니다. 여러 자동화 도구 중 n8n은 오픈 소스 워크플로 자동화 도구로서, Synology NAS에 Docker를 이용해 설치가 가능하여 Zapier와 같은 유료 자동화 도구에 대한 효율적이고 비용 효과적인 대안을 제공합니다. 본 글에서는 Synology NAS에서 n8n을 활용하여 텔레그램 메시지를 자동으로 전송하는 워크플로우를 구성하는 방법을 소개합니다. 이 과정을 통해 사용자는 자신의 데이터를 직접 관리하면서 필요한 작업을 자동으로 수행할 수 있는 능력을 갖추게 됩니다. 이 글은 텔레그램 봇 생성에서부터 메시지 전송까지의 전 과정을 단계별로 안내하여, 누구나 쉽게 따라 할 수 있도록 구성되어 있습니다.

노코드 자동화(Automation)툴에 대해 관심이 있으시다면 Zapier의 대안에 대한 글을 확인해 보시기 바랍니다.

텔레그램 봇 생성 및 n8n으로 자동화 구성하기

봇 생성 및 n8n 연동 인증 토큰 얻기

  • Telegram: Contact @BotFather 로 이동하여 BotFather와의 대화를 시작합니다. 이 과정은 텔레그램 자동화의 첫걸음으로, 간단한 명령어 입력으로 봇을 생성할 수 있습니다.
n8n
  • /newbot 명령어를 입력한 뒤, 시스템의 지시에 따라 봇의 name과 username을 설정합니다. 이때, username은 유일해야 하며 bot으로 끝나야 합니다.
    – name: 표시되는 이름으로 편한 이름으로 설정하면 됨
    – username: 유니크한 값이어야 하며 bot으로 끝나게 설정해야 함
 n8n
  • 생성된 토큰을 안전하게 복사하여 보관합니다. 이 토큰은 n8n 워크플로우에서 텔레그램 봇과의 연동을 위해 필요합니다.
  • BotFather 채팅방에서 /mybots 입력하여 생성된 봇 리스트를 확인합니다.
  • 방금 생성한 봇을 선택하면 토큰을 확인하거나 설정을 할 수 있습니다.
  • 이때 @[봇이름] 을 선택하면 채팅방에 입장할 수 있습니다.
  • 채팅을 시작하고 아무 메세지나 입력해 봅니다.

Chat ID 확인하기

n8n과 텔레그램을 연동하기 위해 Chat ID를 확인해야 합니다.

  • 웹브라우저 주소창에 다음과 같이 입력하고 실행합니다.
    형식:
https://api.telegram.org/bot[앞서 확인한 토큰값]]/getUpdates

예:

https://api.telegram.org/bot6377236902:AAHzguhvob4flqlu_Ahb3gI28PzKJV2-ocw/getUpdates

결과 값을 확인하면 다음과 같음 "from":{id:<숫자>, <숫자> 부분이 Chat ID 입니다.

{"ok":true,"result":[{"update_id":143771220,
"message":{"message_id":1,"from":{"id":24559757,"is_bot":false,"first_name":"...

테스트 메세지 보내기

텔레그램 봇이 정상적으로 작동하는지 확인하기 위해, 다음 형식의 URL을 사용하여 테스트 메시지를 전송해 봅니다:

형식:

https://api.telegram.org/bot[봇토큰]/sendmessage?chat_id=[챗아이디]&text=[보낼메시지]

예:

https://api.telegram.org/bot6377236902:AAHzguhvob4flqlu_Ahb3gI28PzKJV2-ocw/sendmessage?chat_id=24559757&text=hi

결과: 성공적으로 전송되는 것을 확인하였습니다.

{
	"ok": true,
	"result": {
		"message_id": 7,
		"from": {
			"id": 6377236902,
			"is_bot": true,
			"first_name": "n8n_test",
			"username": "n8nTest2024_bot"
	},
	"chat": {
		"id": 24559757,
		"first_name": "first_name",
		"last_name": "last_name",
		"type": "private"
	},
	"date": 1707965836,
	"text": "hi"
	}
}

칵테일 추천 기능 만들어보기

랜덤으로 칵테일 정보를 가져오는 URL에서 칵테일 정보를 가져와 이미지를 봇채팅방에 전송하는 간단한 기능을 구현해 보겠습니다.

Manual Trigger 노드

  • n8n 워크플로우의 시작점으로 Manual 트리거를 추가합니다. 이 트리거는 Test Workflow를 선택하여 워크플로우를 수동으로 시작할 수 있게 해 줍니다.

HTTP Request 노드

  • Manual Trigger 노드 옆 +를 클릭해서 HTTP Request 노드를 추가합니다.
  • URL값을 설정하고 Test step을 클릭하여 노드를 실행합니다.
    • URL: https://www.thecocktaildb.com/api/json/v1/1/random.php
  • OUTPUT에서 실행결과를 확인할 수 있습니다.

Telegram 노드

  • Telegram 노드를 추가하여 “Send a photo message” 옵션을 선택합니다.
  • Credential to connect with 항목에서 드롭다운 메뉴선택한 후 Create New Credential을 클릭합니다.
automation new credential
  • 앞서 발급받은 토큰을 사용하여 봇과 연결합니다.
  • Operation 항목에서 Send Photo 선택합니다.
  • 이전에 확인한 Chat ID를 입력합니다.
  • Photo 항목
    – 화면의 왼쪽에는 이전 HTTP Request 의 출력값을 확인할 수 있습니다.
    – Schema 탭을 선택한 상태에서 strDirnkThumb 항목을 찾아 Photo값 입력창에 드래그 합니다.
  • Add Filed 를 클릭하고 Caption을 추가한 후 strDrink 항목을 찾아 드래드하여 값을 입력합니다.
  • Test step을 클릭하여 내 텔레그램에 메세지가 정상적으로 수신되는 지 확인합니다.
  • 텔레그램 메신져에서 다음과 같은 메세지를 확인할 수 있습니다.
  • 구현이 완료된 워크플로우 입니다.
zapier  automation n8n

정리

이 글을 통해 automation툴인 n8n을 활용한 텔레그램 자동화의 기초를 배우고, 실제로 간단한 메시지 전송부터 HTTP Request를 활용하는 기능까지 구현해 보았습니다. n8n을 이용하면 복잡한 코딩 지식 없이도 강력한 자동화 솔루션을 구축할 수 있습니다. 지금 바로 n8n을 활용해 텔레그램 자동화 프로젝트를 시작해 보세요. 자세한 설정 방법과 더 많은 자동화 아이디어가 필요하다면, n8n 공식 문서 를 확인해 보시기 바랍니다.

시놀로지 Docker: n8n으로 시작하는 텔레그램 메시지 전송 워크플로우 만들기

답글 남기기

Scroll to top