telegram chat not found

samnaka·2022년 4월 5일
0

상황

telegram에 공지할 게 생겨서 telegram bot api를 사용했다.
텔레그램 방의 유형은 channel이 아닌 group 이었다.
chat_id를 찾아내기 위해 telegram web에 접속해서 개발자 도구로 data-peer-id를 구했다. 예를 들어 -12345678같은 값인데 이 채널에 메시지를 보내야했다.

문제

그런데 chat_id를 제대로 입력했는데도 chat not found라는 에러가 발생했다.
https://api.telegram.org/bot{accessToken}/sendMessage

똑같은 봇을 다른 그룹 방에 초대해서 메시지 전송 테스트를 했는데 잘 됐었다.

원인 파악

일단 문제가 되는 텔방에서 발생한 메시지를 읽어서 로그를 찍어야 한다. 메시지를 보내거나 보내져 있으면 aws cloudwatch logs insights에서 아래 쿼리를 날리고 chat 객체의 id를 확인한다.

fields @timestamp, @message
| filter @message like "chat"
| sort @timestamp desc
| limit 20

chat id 앞에 100을 붙여야했다.

다른 방법으로는 getUpdates를 호출하는건데 이건 명령어를 등록해놔서 에러가 났다.

해결

-12345678 -> -10012345678 로 수정

https://core.telegram.org/bots/api#sendmessage
https://stackoverflow.com/questions/32423837/telegram-bot-how-to-get-a-group-chat-id

profile
hot_hot

0개의 댓글