获取TELEGRAM频道/群组ID

7

假设我已加入TELEGRAM群组...

我只是一个典型的群组成员(因此无法在群组中使用任何机器人..?),所以我无法找出获取群组ID的方法。


有很多方法可以做到这一点。 最简单的方法是:下载 Telegram 的分支应用 Plus Messenger。在该频道的“关于”页面中,它会显示每个频道的 ID。 - tashakori
9个回答

25

最新更新
只需将您的频道信息简单地转发到此机器人:https://telegram.me/getidsbot

更新
1:前往https://web.telegram.org
2:进入您的群组并找到群组链接(https://web.telegram.org/#/im?p=g154513121
3:复制 g 后面的数字,并在数字前加上一个短横线“-” -154513121
4:向群组发送您的消息 bot.sendMessage(-154513121, "你好")
我已经测试过了,可以正常工作。

Node.js:
请尝试使用TelegramBot#getChat()函数。

bot.getChat("@channelusername").then(function(chat) {
    // 'chat' is a Chat object
    console.log(chat.id);
});

请查看API getChat()方法和Chat对象。

希望对你有所帮助。


2
你有看过问题吗?转发消息不会返回该群组的ID。你能提供一个显示群组ID的截图吗? - T.Todua
1
我找不到那个链接...群组链接以这样的方式结尾:../im?p=@GroupSlugName - T.Todua
这个基于Web的Telegram解决方案真是太棒了,非常感谢! - To Kra

12

有一个非官方的Plus Messenger客户端适用于安卓用户,你可以在群组/频道信息中看到ID。

超级群组和频道会显示像1068773197这样的数字,对于机器人而言是-1001068773197(带有-100前缀)。

如果你只想获取频道/用户ID,请将消息转发给@RawDataBot


1
我看到频道ID,但没有群组ID(在它们的标志下面)。 - T.Todua
此外,请阅读以下内容 - https://dev59.com/4qPia4cB1Zd3GeqP5unk#45414642?noredirect=1#comment77809100_45414642 - T.Todua

6

有很多方法可以做到这一点。

最简单的方法:下载Plus Messenger,它是Telegram的一个分支。它在该频道的“关于”页面中显示每个频道的ID。

https://play.google.com/store/apps/details?id=org.telegram.plus&hl=en

感谢@Sean:

超级群组和频道看起来像1068773197,对于机器人来说是-1001068773197(带有-100前缀)。


上述方法适用于频道,对于群组,您可以使用以下方法:只需将该聊天中的一条消息转发给@RawDataBot。它会用包含聊天ID的JSON数据回复你。

我在长按标志后看到了频道ID,但找不到群组ID。 - T.Todua
对于群组,您可以使用像Sean提到的@RawDataBot这样的机器人。 - tashakori
1
不需要这样做。只需将聊天中的单个消息转发给此机器人,它将向您发送包含聊天ID的JSON数据。 - tashakori
1
很不幸,@RawDataBot 错误地返回了 CHAT_ID。请截图说明您是如何获得该信息的,我会奖励您的答案。我已经从不同的群组转发了几条不同的消息,但在所有回复中都看到了相同的 CHAT_ID。 - T.Todua
你还不清楚我的问题吗?我一直在问同样的问题,如何获取我加入的群组聊天的ID? - T.Todua
显示剩余2条评论

5

通过代码:

如果您是某个群组的成员,每当该群组有任何活动时,您都应该收到来自该群组的 更新。更新将包含一个聊天列表元素,您可以从中获取一个频道,其中包含以下相关字段:

id: group_id, 
title: "the_group_title", 
username: "group_username"

这对于机器人是正确的,使用getUpdates,但普通用户呢?我在那些群组中没有机器人。 - T.Todua
我不是指机器人,而是指一个简单的Telegram API客户端,通过代码从Telegram服务器接收更新。 - Charles Okwuagwu
你最好展示一点代码,这样可能会更好。 - Scott

4

根据我的经验,目前有两个流行的库:

python-Telethon            --->Telegram Client Library(uses api_id,api_hash) 
python-Telegram-bot        ---->Telegram Bot (uses api token)

有许多方法可以获取用户ID、组ID和频道ID。 使用Telethon客户端库可获取这些ID。

from telethon import TelegramClient,sync
api_id="xxx" #get from telegram website
api_hash="yyy" #get from telegram website
client=TelegramClient(session_object,api_id,api_hash) 
client.start()
#To get the channel_id,group_id,user_id
for chat in client.get_dialogs():
    print('name:{0} ids:{1} is_user:{2} is_channel{3} is_group:{4}'.format(chat.name,chat.id,chat.is_user,chat.is_channel,chat.is_group))

这段代码将会打印频道、群组和用户的名称和ID,并检查这些ID是属于频道、群组还是用户。
通常情况下,频道ID以负数开头(例如:-1001109500936),以“-100”开头;群组ID正常且以负数开头;用户ID以正数开头。
另一种方法是使用“Plus Messenger”应用程序查看所有群组、频道和用户的ID。
另一个简单的方法是:
client=TelegramClient(session,api_id,api_hash)
client.start()
destination_entity_name="Type User(may be bot) or group or channel name"
entity=client.get_entity(destination_entity_name)
print(entity.stringify()) #All paratmeters
print(entity.id)       #user(bot also considered as user) or group

1
这可以通过使用tg-messenger-cli实现:https://github.com/vysheng/tg 我还没有尝试过,但我朋友为他的女儿制作了一些自动化消息。应该非常灵活。

我无法在我的电脑上安装独立服务器以获取ID :( 我只想要一个简单的方式,就像其他人建议的那样。不过还是非常感谢! - T.Todua

1

经过数小时的努力,我成功使用CuteGram应用程序找到了GROUPS的ID。

在该应用程序中打开群组,并点击“COPY”图标,这将打开一个文件夹,在地址栏中您将看到ID。


1
https://github.com/Aseman-Land/Cutegram 是一个可用的链接,原始链接已失效。 - vissi

0
每个聊天室都有一个Chat ID号码与之相关联。无论是私人的还是公共的,也不管涉及多少人。
您可以通过浏览器、移动应用程序或桌面应用程序访问Telegram。从那里,您可以联系一个机器人来查找您的频道、群组或个人聊天的聊天ID。以下是如何操作:
方法1 - 使用@jsondumpbot
  1. 点击@jsondumpbot或在Telegram上搜索JSON Dump Bot。
  2. 将该频道的一条消息转发给JsonDumpBot电报机器人。 您应该会看到类似于:

enter image description here

这是你转发的频道/群组

方法二 - 使用Telegram Web

  1. 进入https://web.telegram.org
  2. 点击你的频道
  3. 查看URL,找到类似c12112121212_17878787878787878的部分
  4. 删除下划线和c12112121212后面的内容
  5. 删除前缀字母12112121212
  6. 在前面加上-100,变成-10012112121212
  7. 这就是你的频道ID。

-1

邀请您的机器人加入您的群组

并使用您的机器人发送 /myid 命令

然后使用 GetUpdates API,您将获得您的群组ID


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接