【问题标题】:Get TELEGRAM Channel/Group ID获取 TELEGRAM 频道/组 ID
【发布时间】:2018-01-06 21:58:35
【问题描述】:

假设,我加入了TELEGRAM 组...

我只是 GROUP 的典型成员(因此,不能在那里使用任何机器人......?)所以,我无法找到方法,如何获取 GROUP ID。

【问题讨论】:

  • 有很多方法可以做到这一点。最简单的一个:download plus messenger,它是电报的一个分支。它在该频道的“关于”页面中显示每个频道的 ID

标签: telegram


【解决方案1】:

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

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

有很多方法可以获取 user_id ,group_id,channel_id 。 要获取这些 id,请使用 Telethon 客户端库

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)开头 group id 正常,以负数开头 用户 id 以 positve 开头

另一种方法是使用“plus messanger app” 查看所有组、频道、用户 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

【讨论】:

    【解决方案2】:

    新更新
    只需将您频道中的消息转发到此机器人:(https://telegram.me/getidsbot)

    更新
    1:转到 (https://web.telegram.org)
    2:转到您的 Gorup 并找到您的 Gorup 链接(https://web.telegram.org/#/im?p=g154513121)
    3:在 g 之后复制那个数字并在那个之前放一个 (-) -154513121
    4:将您的信息发送给 Gorup bot.sendMessage(-154513121, "Hi")
    我现在测试并像魅力一样工作

    Node.js:
    尝试使用TelegramBot#getChat()

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

    参见API getChat() 方法和Chat 对象。

    希望对您有所帮助。

    【讨论】:

    • 你读过问题吗?转发消息不返回该组的 id。cna 你给一个显示组 id 的屏幕截图?
    • 我找不到那个链接...群组的链接以类似结尾:../im?p=@GroupSlugName
    • 该网络电报的绝佳解决方案,非常感谢!
    【解决方案3】:

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

    并使用您的机器人发送文本 /myid

    然后使用 GetUpdates api,您将拥有您的组 ID

    【讨论】:

      【解决方案4】:

      花了几个小时后,我能够使用 CuteGram 应用找到 GROUPS 的 ID。

      在那里打开组,然后单击“复制”图标,打开一个文件夹,在地址中您将看到 ID。

      【讨论】:

      【解决方案5】:

      通过代码:

      如果您是某个群组的成员,那么当该群组有任何活动时,您应该会收到来自该群组的updates。更新将包含一个chats 列表元素,您可以从中获得一个Channel,它具有以下相关字段:

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

      【讨论】:

      • 对于机器人来说是这样,使用getUpdates,但是普通用户呢?我在这些组中没有机器人..
      • 我不是指机器人,我指的是一个简单的 Telegram API 客户端,它通过代码从 Telegram 服务器接收更新
      【解决方案6】:

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

      最简单的一个:下载加信使,它是电报的一个分支。它会在该频道的关于页面中显示每个频道的 ID。

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

      感谢@Sean:

      Supergroup 和 Channel 看起来像 1068773197,对于机器人来说是 -1001068773197(带有 -100 前缀)。


      以上方法适用于频道,群组可以使用此方法:

      只需将该聊天中的一条消息转发给@RawDataBot。它会回复你一个包含 chatid 的 json 数据。

      【讨论】:

      • 我在它的标志下看到了频道 ID(长按标志后),但找不到 GROUP ID
      • 对于群组,您可以使用亲爱的 Sean 提到的 @RawDataBot 等机器人。
      • 如何将@RawDataBot 添加到 XYZ 组? (在那个 XYZ 组中,我不是管理员,只是成员)。
      • 不需要。只需将该聊天中的一条消息转发到此机器人。它将向您发送包含聊天 ID 的 json 数据。
      • 不幸的是,@RawDataBot 错误地返回 CHAT_ID 。请把你怎么得到的截图,我会奖励你的回答。我已经转发了来自不同组的几条不同的消息,但我在所有答案上看到相同的 CHAT_ID。
      【解决方案7】:

      Android 用户有一个unoficicl Plus Messenger 客户端,您可以在群组/频道信息中看到 ID。

      Supergroup 和 Channel 看起来像 1068773197,对于机器人来说是 -1001068773197(带有 -100 前缀)。

      如果您只是想获取频道/用户ID,请转发消息至@RawDataBot

      【讨论】:

      【解决方案8】:

      这应该可以使用 tg-messenger-cli 获得:https://github.com/vysheng/tg 我还没有时间尝试,但朋友已经为他的女儿发送了一些自动消息。应该是相当多才多艺的。

      【讨论】:

      • 我无法在我的电脑上安装独立服务器来获取 ID' :( 我只想要一个简单的方法,就像其他建议的那样。但是,谢谢!
      猜你喜欢
      • 1970-01-01
      • 2016-04-04
      • 1970-01-01
      • 2020-04-14
      • 2021-08-25
      • 2022-07-17
      • 2016-02-23
      • 2018-01-28
      • 1970-01-01
      相关资源
      最近更新 更多