当前位置: 首页 > 知识库问答 >
问题:

如何获取专用电报通道的chat\u id

经景辉
2023-03-14

我使用curl更新我的公共频道。这种语法:

curl -X POST "https://api.telegram.org/bot144377327:AAGqdElkZ-77zsPRoAXXXXXXXXXX/sendMessage" -d "chat_id=@MyChannel&text=my sample text"

但是私人频道的chat_id是什么?它不是你在私人邀请中的那个。

因为现在我们可以在所有方法中传递通道用户名(格式为@channelusername)来代替chat\u id(而不是forwardMessage中的from\u chat\u id)。但是我管理的私人频道的@channelusername是什么?

共有3个答案

狄奕
2023-03-14

打开私人频道,然后:

>

  • 在Web客户端上:

    • 查看浏览器中的URL:
    • 例如https://web.telegram.org/#/im?p=c1192292378_2674311763110923980
    • 然后,1192292378是通道ID

    在移动和桌面上:

    • 复制频道任何消息的链接:

    适用于Android的On Plus Messenger:

    • 打开频道的信息:
    • 频道ID出现在上面,就在其名称下方

    警告使用电报机器人API时,请确保添加-100前缀:

    • 如果通道ID例如为1192292378
    • 那么你应该用-1001192292378

  • 薛兴德
    2023-03-14

    最简单的方法:

    只需将您的邀请链接发送到您的私人频道,即“username\u to\u id\u bot”(https://t.me/username_to_id_bot)机器人。它将返回其ID。最简单的级别:max!:)

    另外,我不是这个机器人的所有者。

    PS 2。机器人不会加入你的群,但要确保安全。只要撤销你的旧邀请链接,如果这是你的事后使用机器人。

    更麻烦的方式:

    至少存在五个公共组/频道的用户无法公开频道,因此......问题没有解决。是的,您可以撤销其中一个,但目前,我们无法以其他方式检索聊天ID。

    疯狂的解决方案:

    1. 使用您的帐户登录Telegram的web版本:https://web.telegram.org
    2. 找到你的频道。查看您的URL。应该是这样的https://web.telegram.org/#/im?p=c**1055587116**u 11052224402541910257
    3. 从中抓取“1055587116”,并添加“-100”作为前缀

    所以您的频道id将为“-1001055587116”。魔术发生了:)

    解决方案在Web Channel ID中找到。

    封锐藻
    2023-03-14

    我找到了在私人频道写作的方法。

    >

    通过Bot API向该通道发送消息:

    https://api.telegram.org/bot111:222/sendMessage?chat_id=@通道名称

    作为响应,您将获得带有频道chat\u id的信息。

    json prettyprint-override">{
      "ok" : true,
      "result" : {
        "chat" : {
          **"id" : -1001005582487,**
          "title" : "Test Private Channel",
          "type" : "channel"
        },
        "date" : 1448245538,
        "message_id" : 7,
        "text" : "123ds"
      }
    }
    

    现在您可以将频道转换回私有(通过删除频道的链接)并直接向chat_id“-1001005582487”发送消息:

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

     类似资料:
    • 但是私有通道的是什么?不是你私人邀请里的那个。 因为现在我们可以在所有方法中传递通道用户名(格式为@channelusername),而不是forwardMessage中的from_chat_id。但是我管理的私人频道的@ChannelUsername是什么?

    • 如何使用注册为频道管理员的机器人访问电报频道消息? 我试图从电报频道获取所有信息,并在ASP.NET网页上显示出来(c#) 当新消息直接发送到机器人时,我能够获得更新: 但它不适用于该频道。

    • 在我们的小型初创公司中,我们使用GitLab进行开发,使用Telegram进行开发人员和PO之间的内部沟通。由于PO希望立即看到进度,因此我们设置了GitLab Pipeline,以便在每次提交后将预览版部署在Web服务器上。现在我们想扩展管道。这样在部署后通过Telegram组发送通知。 所以问题是,这可能吗?如果可能,怎么可能? 编辑:因为我已经实现了,这不是一个真正的问题。我想把答案贴在这里

    • 我已经设置了一个电报网络钩子使用node.js/express: 当我获取时,我可以收到我的机器人控制台: 现在我想从机器人程序接收数据,这样当用户访问时https://telegram.me/mybot?start=xyz并按bot,bot应该在的帖子中收到 以下是我收到邮件的路线: 但当用户访问时,我发现机器人中什么也没有发生https://telegram.me/mybot?start=xy

    • 请求header GET /v1/activities/{频道id}/report Authorization:Bearer {ACCESS TOKEN} Content-Type:application/json 注: 请将上方的{ACCESS TOKEN}替换为您的ACCESS TOKEN 请将"{频道id}"替换您需要获取的频道id 返回 { "id": 1928, "name":

    • 我一直在使用Telegram机器人,并试图从组中获取成员列表,但我不知道我必须使用哪些方法。 https://gram.js.org/beta/classes/TelegramClient.html#getParticipants和我找到了这个文件,但不知道如何使用它。