developer tip

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

copycodes 2020. 11. 9. 08:14
반응형

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


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은 무엇입니까?


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

  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


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


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

/my_id@get_id_bot

채팅 내용


당신도 할 수있는 일 :

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

2 단계)이 채널의 ChannelName 설정

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

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

note:For Step 1 You Can Change One of Your Public Channel To Private For a short time.


No need to convert the channel to public then make it private.

  1. find the id of your private channel. (There are numerous methods to do this, for example see this SO answer)

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

    replace xxxxxx:yyyyyyyyyyy with your bot id, and replace CHAT_ID with the channel id found in step 1. So if channel id is 1234 it would be chat_id=-1001234.

All done!


Open the private channel, then:


WARNING be sure to add -100 prefix when using Telegram Bot API:

  • if the channel ID is for example 1192292378
  • then you should use -1001192292378

The id of your private channel is the XXXXXX part (between the "p=c" and the underscore). To use it, just add "-100" in front of it. So if "XXXXXX" is "4785444554" your private channel id id "-1004785444554".


The option that I do is by using the popular Plus Messenger on Android. The play store link is: https://play.google.com/store/apps/details?id=org.telegram.plus&hl=en

You can click on the Channel and in Channel info below the group name, you can find Channel Id.

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

참고 URL : https://stackoverflow.com/questions/33858927/how-to-obtain-the-chat-id-of-a-private-telegram-channel

반응형