안녕하세요. 말아탕입니다.
벌써 2024년의 마지막이 왔습니다.
올 한해 너무 고생많으셨습니다.
지난번 https://seoinsung.tistory.com/77을 통해 개인의 텔레그램 연동을 간단하게 진행했습니다.
오늘은 채널을 생성을 하고, 메시지를 보내는 실습을 하겠습니다.
텔레그램을 켜고, 왼쪽 상단의 三을 눌러 채널 만들기를 선택합니다.
채널명과 설명을 적어 만들기를 선택합니다.
공개 채널과 비공개 채널이 있는데 상황에 맞게 진행합니다. 저는 공개 채널로 만들었습니다!
채널을 만들고 나면 관리자로써 채널을 관리가 가능합니다.
생성한 채널을 들어가고, 우측에 메뉴를 눌러 채널관리에서 관리자를 텔레그램 봇을 관리자로 추가할 수 있습니다.
(지난번에 제가 만든 BOT을 추가 예정입니다)
제가 만들었던 GW_BOT을 추가 및 설정하고 저장을 눌러 관리자로 추가합니다.(@gw_bot)
자 이제 지난번에 말씀드렸던 건데, 채널의 chat_id를 얻기를 하겠습니다.
봇을 채널의 관리자 목록에 추가했으면, 채널에 첫 번째 메시지를 보내야 합니다.
이 메시지는 봇을 통해 전송할 수 있습니다.
채널에 들어가서 hello를 보냅니다.
위의 코드를 실행하여 채널의 chat_id를 얻습니다.
(이 chat_id를 얻으려면 채널에 들어가서 꼭 첫 번째 메시지를 보내야 합니다. 그 이유는 봇에게 채널에서 받은 메시지에 대한 업데이트를 요청해서 chat_id를 받기 때문입니다.)
출력값을 보면 길게 나오는데 "id"를 확인하시면 됩니다. 그림처럼 음수(-) 값이 출력이 됩니다.
바로 이 값이 채널의 chat_id 값입니다.
자, 이제 알아낸 chat_id 값을 추가한 코드를 이용하여 메시지를 전송하겠습니다.
import requests
BOT_TOKEN = '-'
CHAT_ID = '-111111111' # 채널의 chat_id
url = f'https://api.telegram.org/bot{BOT_TOKEN}/sendMessage'
def send_message(message):
payload = {
'chat_id': CHAT_ID,
'text': message
}
response = requests.post(url, data=payload)
print(response.json()) # 응답 결과 출력
send_message("Hello, my channel!")
제가 만든 채널에서 메시지 확인이 가능합니다.
오늘 중요한 부분은,
채널의 관리자 권한을 가진 후 봇을 추가를 하고 채널에 메시지(첫 메시지)를 보낸 상태에서 chat_id를 확인
그리고 얻은 chat_id를 통하여 메시지를 전송할 수 있습니다.
다음에 할 내용은 제가 분석하고 있는 Medusa 랜섬웨어의 데이터를 추출하고 알림 자동화를 하고,
텔레그램을 통해 데이터 시각화 하는 실습을 하겠습니다.
'인프라 > 보안' 카테고리의 다른 글
로컬에서 Telegram Desktop API 연동 방법 (0) | 2024.12.22 |
---|---|
VMware 이란? / VMware WorkStation 설치 방법 (1) | 2024.08.31 |
와이어샤크(Wireshark) 개념 / 설치 방법 (0) | 2024.08.25 |
악성메일 모의훈련이란? (2/2) (0) | 2023.07.01 |
악성메일 모의훈련이란? (1/2) (0) | 2023.05.06 |