- 텔레그램 봇 생성
- 봇 토큰 알아 내기
- 텔레그램 채널 생성
- 채널에 위에서 생성한 봇 추가
- 채널 ID 알아 내기
- sh 파일 생성
- 봇 -> 채널에 메시지 전송
1. 텔레그램 봇은 @BotFather 에게 생성 후 토큰 저장
2. 채널 생성후 위에서 생성한 봇을 관리자로 추가
3. 채널 ID 알아내기
브라우저에서 아래 url로 이동하면 채널ID 나옴. 보통 -1000어쩌고로 나옴
https://api.telegram.org/bot봇토큰/getUpdates
EC2나 우분투 서버로 접속해서 아래 명령어 실행
$ touch telegram-send.sh
vi 나 nano 편집기로 들어가서 아래 내용 넣기
#!/bin/bash
CHANNEL_ID=채널ID
BOT_TOKEN=봇토큰
# this 3 checks (if) are not necessary but should be convenient
if [ "$1" == "-h" ]; then
echo "Usage: `basename $0` \"text message\""
exit 0
fi
if [ -z "$1" ]
then
echo "Add message text as second arguments"
exit 0
fi
if [ "$#" -ne 1 ]; then
echo "You can pass only one argument. For string with spaces put it on quotes"
exit 0
fi
curl -s --data "text=$1" --data "chat_id=$CHANNEL_ID" 'https://api.telegram.org/bot'$BOT_TOKEN'/sendMessage' > /dev/null
편집기에서 나와서 실행권한 부여
$ chmod +x telegram-send.sh
테스트 메시지 전송
$ ./telegram-send.sh "Test message"

메시지가 잘 왔네요.
실행파일을 Path가 지정된 곳으로 보내서 편리하게 이용
# 파일을 path가 잡힌곳으로 이동
$ sudo mv telegram-send.sh /usr/bin/telegram-send
# root 소유로 변경
$ sudo chown root:root /usr/bin/telegram-send
테스트 해 봄
$ telegram-send "Test message: PATH 경로로 옮긴 실행파일"

잘 왔음.
이제 다른 프로그램에서 쉽게 호출 가능.
하드디스크 남은 용량 텔레그램으로 보내기
import subprocess
import platform
machine = platform.uname().node
message=""
result = subprocess.check_output(["df", "-h", "/"])
lines = result.decode("utf-8").split("\n")
for line in lines:
if "/" in line:
message="Remaining disk space:{} - {}".format(machine, line.split()[3])
print(message)
break
a = subprocess.check_output(["telegram-send", "{}".format(message)])
크론탭에 등록
# 매분 실행
* * * * * /usr/bin/python3 /home/ubuntu/get_hdd.py
# 1시간마다 실행
*/1 * * * * /usr/bin/python3 /home/ubuntu/get_hdd.py
'IT일반' 카테고리의 다른 글
실거래가 공공api를 크롤링하여 웹사이트 만들기 (0) | 2023.07.04 |
---|---|
macOS Ventura 13.4.1 업데이트 이후 hosts 파일 잠김 수정 불가 (2) | 2023.06.28 |
SPA(nextjs)에서 페이지 이동시 url 도 표시해주기 (0) | 2023.01.30 |
카프카 Kafka (AWS MSK) EC2에서 토픽 생성 실패 (0) | 2022.12.26 |
AWS RDS 외부접속 안될때 (0) | 2022.11.14 |
댓글