개인 텔레 그램 채널의 chat_id를 얻는 방법은 무엇입니까?


91

curl을 사용하여 공개 채널을 업데이트합니다. 이런 종류의 구문 :

curl -X POST "https://api.telegram.org/bot144377327:AAGqdElkZ-77zsPRoAXXXXXXXXXX/sendMessage" -d "chat_id=@MyChannel&text=my sample text"

그러나 chat_id개인 채널은 무엇입니까? 비공개 초대에있는 사람이 아닙니다.

이제 모든 메소드의 chat_id 대신 (forwardMessage의 from_chat_id 대신) 채널 사용자 이름 (@channelusername 형식)을 전달할 수 있기 때문입니다. 하지만 내가 관리하는 개인 채널의 @channelusername은 무엇입니까?


채널의 chat_id가 왜 필요한가요? 채널에 대한 모든 전송 방법은 "@channel_name"문자열을 사용합니다.
Stas Parshin 2015

안녕 @pengrad with curl 명령 내 봇에게 MyChannel에 메시지를 보내달라고 요청합니다. 공개 채널의 경우 chat_id는 URL의 마지막 부분과 같습니다. telegram.me/MyChannel 에서 chat_id는 "MyChannel"입니다. 비공개 채널에는 telegram.me/joinchat/AJhkwTviqL_7HWcGZgottQ 와 같은 초대 URL 만 있으며 chat_id는 "AJhkwTviqL_7HWcGZgottQ"가 아닙니다. 이런 이유로 저는 비공개 채널의 chat_id를 찾고 있습니다.
aborruso

전보없이 리브레 택시를 운행하는 방법이 있습니까?
Shahid Karimi

답변:


184

비공개 채널에 글을 쓰는 방법을 찾았습니다.

  1. @channelName을 사용하여 공개로 변환해야합니다.
  2. Bot API를 통해이 채널에 메시지 보내기

    https://api.telegram.org/bot111:222/sendMessage?chat_id=@channelName&text=123

  3. 응답으로 채널의 chat_id 정보를 받게됩니다.

    { "ok": true, "result": { "chat": { "id": -1001005582487, "title": "Test Private Channel", "type": "channel"}, "date": 1448245538, " message_id ": 7,"text ":"123ds "}}

  4. 이제 채널을 다시 비공개로 전환하고 (채널의 링크를 삭제하여)이 chat_id "-1001005582487"로 직접 메시지를 보낼 수 있습니다.

    https://api.telegram.org/bot111:222/sendMessage?chat_id=-1001005582487&text=123


1
나는 당신의 질문에 투표했고 세부 사항에 감사드립니다! 나는 해킹이 더 많기 때문에 여기에 귀하의 답변에 당황하게 투표하고 있습니다 :-). BTW, 내 일반적인 질문은 : 비공개 채널의 필요성은 무엇입니까? 그룹 (최근 슈퍼 그룹)이 더 나은 방법일까요? 팩스에서 전보 문서는 비공개 채널에 대해 명확하지 않습니다.
Giorgio Robino

1
나는 이것을 시도했지만 몇 분 동안 만 작동했습니다. 일단 채널이 비공개가되면 여전히 공개적으로 도달 할 수있는 시간 프레임이 있기 때문이라고 생각합니다. 이후에 다시 공개로 설정하려고하면 채널 ID를 다시 정의해야합니다.
roibeart

1
첫 번째 슬래시에서 봇 옆에 API 토큰을 제출해야 함을 명확히해야합니다. 어쨌든 감사합니다! 깔끔한 솔루션이었습니다.
Franco Maldonado

109

5 개 이상의 공개 그룹 / 채널이 존재하는 사용자는 채널 공개를 수행 할 수 없으므로 문제가 해결되지 않았습니다. 예, 그중 하나를 취소 할 수 있지만 현재로서는 다른 방법으로 채팅 ID를 검색 할 수 없습니다.

취소

아무도 그 사건에 대한 해결책을 찾았습니까?

최신 정보

미친 해결책을 찾았습니다.

  1. Telegram 웹 버전에서 귀하의 계정으로 로그인하십시오 : https://web.telegram.org
  2. 채널을 찾으십시오. URL을 참조하십시오. https://web.telegram.org/#/im?p=c 1055587116 _11052224402541910257
  3. 여기에서 "1055587116"을 잡고 "-100"을 접두사로 추가합니다.

따라서 채널 ID는 "-1001055587116"이됩니다. 마법이 일어난다 :)

여기에서 솔루션을 찾을 수 있습니다 : https://github.com/GabrielRF/telegram-id#web-channel-id


1
내 새 채널도 비공개 / 공개 / 개인 설정으로 전환 @channel_username되었지만 비공개 상태에서는 @channel_username작동하지 않습니다! 난 당신의 게시 된 솔루션을 사용하고, 작업 한
모하마드

당신은 인생의 맛입니다!
Juggernaut

1
나는이 -100접두사가 영원히 작동 하지 않을 것이라고 생각 하지만 4 년 후에도 여전히 작동합니다!
Ali Tou

1
@AliTou 파벨 듀롭는이 댓글을 발견하고는 여전히 :) 작동하는지, 듣기 기능 AHAH :) 다행를 제거하지하기로 결정
Nigrimmist

37

가장 쉬운 방법은 채팅에 @get_id_bot을 초대하고 다음을 입력하는 것입니다.

/my_id @get_id_bot

채팅 내용


3
감사합니다, 최고의 답변입니다!
realmag777

2
내 테스트에 따르면 봇은 채널 관리자로 추가되어야합니다.
Morteza Ziyae

예, 그것은 보인다 관리자로 추가 할 수있다
스테판 제국을

3
아직 최신인가요? / my_id @ ... 아무 작업도하지 않는 것 같습니다 (메시지가 표시되는 것 외에는)
wal

1
@wal 나는 두 가지 방법으로 ID를 얻었으며 공간 /start @get_id_bot/my_id @get_id_bot중요해 보입니다. @get_id_bot회원으로 추가 하고 관리자 권한 만 부여합니다. 신분증을 받으면 안전을 위해 제거하십시오.
rahoolm

25

개인 채널을 열고 다음을 수행하십시오.


WARNINGTelegram Bot API를 사용할 때 -100 접두사추가 해야합니다 .

  • if 채널 ID는 예를 들어 1192292378입니다.
  • then-1001192292378 을 사용해야합니다 .

2
이것이 채널 ID를 얻는 가장 쉽고 정확한 방법입니다. 감사합니다!
Tonni

감사합니다!
Niko

3

당신도 할 수있는 일 :

1 단계) 비공개 채널을 공개 채널로 변환

2 단계)이 채널의 ChannelName 설정

3 단계) 그런 다음이 채널을 비공개로 변경할 수 있습니다.

4 단계) 이제 3 단계에서 설정 한 @ChannelName을 사용하여 메시지 보내기

참고 : 1 단계에서는 공개 채널 중 하나를 잠시 비공개로 변경할 수 있습니다.


2

채널을 공개로 전환 한 다음 비공개로 만들 필요가 없습니다.

  1. 개인 채널의 ID를 찾으십시오. (이 작업을 수행하는 방법에는 여러 가지가 있습니다. 예를 들어이 SO 답변 참조 )

  2. curl -X POST " https://api.telegram.org/botxxxxxx:yyyyyyyyyyy/sendMessage"-d "chat_id = -100 CHAT_ID & text = my 샘플 텍스트"

    xxxxxx : yyyyyyyyyyy를 봇 ID로 바꾸고, CHAT_ID를 1 단계에서 찾은 채널 ID로 바꿉니다. 따라서 채널 ID가 1234이면 chat_id = -1001234가됩니다.

완료되었습니다!



1

지금은 @username_to_id_bot 봇에 대한 초대 링크를 작성할 수 있으며 ID를 얻을 수 있습니다.

예: 여기에 이미지 설명 입력

공개 채팅, 채널 및 사용자와도 작동합니다.


0

내가하는 옵션은 Android에서 인기있는 Plus Messenger를 사용하는 것입니다. Play 스토어 링크 : https://play.google.com/store/apps/details?id=org.telegram.plus&hl=en

채널을 클릭하고 그룹 이름 아래의 채널 정보에서 채널 ID를 찾을 수 있습니다.

수퍼 그룹 및 채널 ID는 플러스 메신저에서 1068773197처럼 보입니다. API 사용을 위해 접두사 -100을 사용하면 -1001068773197이됩니다.


0

TelegramBotApi for python의 솔루션을 찾았습니다. 아마도 다른 언어에서도 작동 할 것입니다.

내 봇을 비공개 채널에 추가하고 다음을 수행합니다.

@your_bot_name hi

콘솔에서 필요한 모든 정보로 응답을받습니다.


-1

필요한 답변 :

PRIVATE 채널의 관리자로 BOT 추가하고 만들어야합니다 chat not found. 그렇지 않으면 오류가 발생합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.