/telegram-id

How to get an id on Telegram Messenger

GNU General Public License v3.0GPL-3.0

How to get an id to use on Telegram Messenger

The ultimate guide

Attention

This guide aims on bot developers. If you don't develop Telegram Chatbots or don't use Telegram CLI, this guide is not for you. Don't expect to get phone numbers or to join groups by their id. Both are impossible.

Telegram Web

Available on https://web.telegram.org/?legacy=1#/login (have to use the legacy Telegram web client)

Follow the steps displayed to log in the app.

Web User ID

It's not possible to find the user ID using this method. So, the easiest way to do it is talking to @userinfobot. If you need to find somebody else's ID, forward a message to the bot.

This bot is not mine! Use it on your own risk!

Web Group ID

Click on the group you want and see the url displayed on your browser.

If it's a public group, you can simply use it's @name as an id.

If it's private group, the url must be like:

https://web.telegram.org/#/im?p=g331054

If this is the case, then the group ID is -331054. Always negative!

For private super groups the url must be like:

https://web.telegram.org/#/im?p=s1041843721_16434430556517118330

If this is the case, then the group ID whois be 1041843721. But it's important to know that super group IDs are always a 13 characters negative integer, so the correct ID is -1001041843721.

Web Channel ID

Click on the channel you want and see the url displayed on your browser.

If it's a public channel, the ID is @name of the channel.

If it's a private channel then the url must be similar to:

https://web.telegram.org/#/im?p=c1018013852_555990343349619165

If this is the case, then the channel ID would be 1018013852. It's important to know that channel's IDs are always negative and 13 characters long! So add -100 to it, making the correct ID -1001018013852.

Telegram-CLI

The best way I found to get ids is using Telegram-CLI.

It's available on https://github.com/vysheng/tg

Install and run it. I recommend using bot mode -b, but it's optional.

Run Telegram CLI:

bin/telegram-cli -k tg-server.pub -b

Wait for it do load and then paste a bot token.

The output must be similar to this:

root@prod:/usr/src/tg# bin/telegram-cli -k tg-server.pub -b
change_user_group: can't find the user telegramd to switch to
Telegram-cli version 1.4.0, Copyright (C) 2013-2015 Vitaly Valtman
Telegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show_license' for details.
Telegram-cli uses libtgl version 2.1.0
Telegram-cli includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit. (http://www.openssl.org/)
I: config dir=[/root/.telegram-cli]
[/root/.telegram-cli] created
[/root/.telegram-cli/downloads] created
hash: 

CLI User ID

To get a user id, ask the user to send any message do the bot and observe it on Telegram CLI window.

The message must appear similar to this:

[11:07]  Gabriel R F »»» /start

Then, on Telegram CLI, type:

user_info Gabriel_R_F

Note that spaces are replaced by _.

The output will be something like this:

User Gabriel R F @GabrielRF (#9083329):
        phone: (null)
        offline (was online recently)

There you go! The user id, on this example, is 9083329.

CLI Group ID

Add the bot to the group. On Telegram CLI, a message will be printed.

[11:12]  test Gabriel R F added user test

Then, on Telegram CLI, type

chat_info test

Where test is the group's name. Note that spaces are replaced by _.

The output on Telegram CLI will be similar to:

Chat test updated admin members
Chat test (id 148228539) members:
                test invited by Gabriel R F at [2016/03/29 11:12:30]
                Gabriel R F invited by Gabriel R F at [2016/03/29 11:11:18] admin

So, the id for the example group is -148228539.

Group ids are always a negative integer, so remember to add the - while using it on the Telegram API.

CLI Channel ID

Finally, to get a channel id, add the bot as a channel administrator.

On Telegram CLI type:

channel_info test

where test is the channel's name. The output must be like this:

Channel test (id 1035716040):
                2 participants, 2 admins, 0 kicked

Here is the trick. Every channel id is a 13 characters negative integer. So the id for this channel is -1001035716040 and not 1035716040 as printed.

Telegram App

You can use the app directly to generate a direct link to the message and it will contain the group/channel information.

App User ID

It is not possible to get user ID from the app itself. Have to get it from a bot or CLI

App Group ID

Tap/click on the group you want and hold/right click on a message. Copy the message link.

If it's a public group, you can simply use it's @name as an id.

If it's private group, it is not possible to get a link. Have to use CLI or Web method

For private super groups the link must be like:

https://t.me/c/1041843721/200

If this is the case, then the group ID whois be 1041843721. But it's important to know that super group IDs are always a 13 characters negative integer, so the correct ID is -1001041843721.

App Channel ID

Tap/click on the channel you want and hold/right click on a message. Copy the message link.

If it's a public channel, the ID is @name of the group.

If it's a private channel then the url must be similar to:

https://t.me/c/1018013852/193

If this is the case, then the channel ID would be 1018013852. It's important to know that channel's IDs are always negative and 13 characters long! So add -100 to it, making the correct ID -1001018013852.

Questions?

Talk to me on Telegram Messenger! @GabrielRF