How to obtain the chat_id of a private Telegram channel?

Solution 1:

I found the way to write in private channels.

  1. You should convert it to public with some @channelName

  2. Send message to this channel through Bot API

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

  3. As response you will get info with chat_id of your channel.

    {
      "ok" : true,
      "result" : {
        "chat" : {
          **"id" : -1001005582487,**
          "title" : "Test Private Channel",
          "type" : "channel"
        },
        "date" : 1448245538,
        "message_id" : 7,
        "text" : "123ds"
      }
    }
    
  4. Now you can convert Channel back to private (by deleting channel's link) and send message directly to this chat_id "-1001005582487"

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

Solution 2:

update #2 :

Found another one easiest way : Just send to @username_to_id_bot (https://t.me/username_to_id_bot) bot your invite link to your private channel, it will return it's ID. Simplest level : maximum! :)

ps. I am not an owner of this bot.

ps2. Bot will not join your group, but to be sure in security, just revoke your old invitation link if it is matter for you after bot using.

Original post :

Make channel public cannot be done by user with exist at least 5 public groups/channels, so...problem not solved. Yes, you can revoke one of them, but for now, we cannot retrieve chat id other way.

revoke

Did anybody found solution for that case?

update

I found crazy solution :

  1. login under your account at web version of Telegram : https://web.telegram.org
  2. Find your channel. See to your url, it should be like https://web.telegram.org/#/im?p=c**1055587116**_11052224402541910257
  3. Grab "1055587116" from it, and add "-100" as a prefix.

So... your channel id will be "-1001055587116". Magic happen :)

Solution found here : https://github.com/GabrielRF/telegram-id#web-channel-id

Solution 3:

Open the private channel, then:

  • on web client:

    • look at the URL in your browser:
    • if it's for example https://web.telegram.org/#/im?p=c1192292378_2674311763110923980
    • then 1192292378 is the channel ID
  • on mobile and desktop:

    • copy the link of any message of the channel:
    • if it's for example https://t.me/c/1192292378/31
    • then 1192292378 is the channel ID (bonus: 31 is the message ID)
  • on Plus Messenger for Android:

    • open the infos of the channel:
    • the channel ID appears above, right under its name

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