기본 메시지 전송
#!/bin/bash
# 텔레그램 봇의 API 토큰
TELEGRAM_BOT_TOKEN="YOUR_TELEGRAM_BOT_TOKEN"
# 텔레그램 채팅 ID (메시지를 받을 대상 채팅방 또는 사용자의 ID)
TELEGRAM_CHAT_ID="YOUR_TELEGRAM_CHAT_ID"
# 보낼 메시지
MESSAGE="Hello, from your Telegram bot!"
# 텔레그램 API 엔드포인트
TELEGRAM_API_URL="https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage"
# cURL을 사용하여 텔레그램 API에 POST 요청을 보냄
curl -s -X POST ${TELEGRAM_API_URL} -F "chat_id=$TELEGRAM_CHAT_ID" -F "text=$MESSAGE"
템플릿 메시지 전송
#!/bin/bash
# 텔레그램 봇의 API 토큰
TELEGRAM_BOT_TOKEN="YOUR_TELEGRAM_BOT_TOKEN"
# 텔레그램 채팅 ID (메시지를 받을 대상 채팅방 또는 사용자의 ID)
TELEGRAM_CHAT_ID="YOUR_TELEGRAM_CHAT_ID"
# 보낼 메시지
MESSAGE="*Bold* _italic_ [link](https://www.example.com)"
# 이미지 파일 경로
IMAGE_PATH="/path/to/image.jpg"
# 동영상 파일 경로
VIDEO_PATH="/path/to/video.mp4"
# 파일 전송할 경우, 파일 경로
FILE_PATH="/path/to/file.txt"
# 텔레그램 API 엔드포인트
TELEGRAM_TEXT_API_URL="https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage"
TELEGRAM_PHOTO_API_URL="https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendPhoto"
TELEGRAM_VIDEO_API_URL="https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendVideo"
TELEGRAM_DOCUMENT_API_URL="https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendDocument"
# cURL을 사용하여 텔레그램 API에 POST 요청을 보냄 (텍스트 메시지)
curl -s -X POST ${TELEGRAM_TEXT_API_URL} -F "chat_id=$TELEGRAM_CHAT_ID" -F "text=$MESSAGE" -F "parse_mode=Markdown"
# cURL을 사용하여 텔레그램 API에 POST 요청을 보냄 (이미지)
curl -s -X POST ${TELEGRAM_PHOTO_API_URL} -F "chat_id=$TELEGRAM_CHAT_ID" -F "photo=@$IMAGE_PATH"
# cURL을 사용하여 텔레그램 API에 POST 요청을 보냄 (동영상)
curl -s -X POST ${TELEGRAM_VIDEO_API_URL} -F "chat_id=$TELEGRAM_CHAT_ID" -F "video=@$VIDEO_PATH"
# cURL을 사용하여 텔레그램 API에 POST 요청을 보냄 (파일)
curl -s -X POST ${TELEGRAM_DOCUMENT_API_URL} -F "chat_id=$TELEGRAM_CHAT_ID" -F "document=@$FILE_PATH"
함수로 만들어 다른 스크립트에서 불러쓰기
telegram.sh
이라는 파일에 다음과 같은 스크립트를 작성
#!/usr/bin/bash
# 텔레그램 봇 정보
TELEGRAM_INFOS=( $(awk -F '=' '{print $2}' .telegram.env) )
TELEGRAM_TOKEN="${TELEGRAM_INFOS[0]}"
TELEGRAM_CHATID="${TELEGRAM_INFOS[1]}"
send_telegram_message() {
# 메시지 지정
MESSAGE="$1"
# 텔레그램 API 엔드포인트
TELEGRAM_API_URL="https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendMessage"
# cURL을 사용하여 텔레그램 API에 POST 요청을 보냄
curl -s -X POST ${TELEGRAM_API_URL} -F "chat_id=$TELEGRAM_CHATID" -F "text=$MESSAGE"
}
any.sh
이라는 파일에서 telegram.sh
파일을 source
로 불러와 메시지 전송
#!/usr/bin/bash
# 들어온 인자 체크
if [[ "$#" -ne 1 ]]; then
echo "check the argument"
exit 1
fi
# 텔레그램 파일 지정
TELEGRAM_FILE='telegram.sh'
source $TELEGRAM_FILE
# 첫번째 인자로 넘어온 값 MESSAGE 변수에 전송
MESSAGE=$1
# 텔레그램 메시지 전송
send_telegram_message $MESSAGE
스크립트 실행 (잘못된 예시)
$ bash any.sh
check the argument
스크립트 실행 (올바른 예시)
$ bash any.sh Hello
{"ok":true,"result":{"message_id":14,"from":{"id":7497461921,"is_bot":true,"first_name":"Github Bot","username":"github_star_tracking_bot"},"chat":{"id":1738291418,"first_name":"\uac1c\ub625","last_name":"\ub450\uc2dd\ub625","username":"itsmesirho","type":"private"},"date":1727082228,"text":"Hello"}}