如何获取私人电报频道的chat_id?

abo*_*uso 71 telegram-bot

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

>curl -X POST "https://api.telegram.org/bot144377327:AAGqdElkZ-77zsPRoAXXXXXXXXXX/sendMessage" -d "chat_id=@MyChannel&text=my sample text"
Run Code Online (Sandbox Code Playgroud)

chat_id私人频道是什么?这不是私人邀请中的那个.

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

Sta*_*hin 143

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

  1. 您应该使用@channelName将其转换为public
  2. 通过Bot API向此频道发送消息

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

  3. 作为回复,您将获得有关您频道的chat_id的信息.

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

  4. 现在您可以将频道转换为私人(通过删除频道的链接)并将消息直接发送到此chat_id"-1001005582487"

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

  • 您应该澄清,我们需要在第一个斜杠上的 bot 旁边提交 api 令牌。无论如何谢谢!这是一个巧妙的解决方案。 (3认同)

Nig*_*ist 86

由于存在至少5个公共组/频道的用户无法完成频道公开,所以......问题没有解决.是的,您可以撤销其中一个,但就目前而言,我们无法以其他方式检索聊天ID.

撤消

有没有人找到那个案子的解决方案?

更新

我发现疯狂的解决方案

  1. 在您的网站版本的电报上登录:https://web.telegram.org
  2. 找到你的频道.请参阅您的网址,它应该像https://web.telegram.org/#/im?p=c 1055587116 _11052224402541910257
  3. 从中获取"1055587116",并添加"-100"作为前缀.

所以...你的频道ID将是"-1001055587116".魔术发生:)

解决方案在这里找到:https://github.com/GabrielRF/telegram-id#web-channel-id

  • 看起来 telegram 改变了 URL 结构。以此为例:https://web.telegram.org/k/#-1779618123。通道 ID 为“-1001779618123”。(在“-”和给定数字“1779618123”之间添加“100”) (2认同)

Jur*_*emo 20

最简单的方法是在聊天中邀请@get_id_bot,然后输入:

/my_id@get_id_bot
Run Code Online (Sandbox Code Playgroud)

在聊天中

  • 谢谢,最佳答案! (3认同)
  • 根据我的测试,应该在频道中将bot添加为管理员。 (2认同)
  • 这仍然是当前的吗?/ my_id @ ...似乎什么也没做(除了出现该消息外) (2认同)

小智 7

现在你可以写一个邀请链接到机器人@username_to_id_bot,你将获得id:

例子:

在此输入图像描述

它还适用于公共聊天、频道甚至用户。


Pet*_*ter 6

您的私人频道的 id 是 XXXXXX 部分(在“p=c”和下划线之间)。要使用它,只需在它前面加上“-100”。因此,如果“XXXXXX”为“4785444554”,则您的私人频道 ID 为“-1004785444554”。


小智 5

打开私人频道,然后:


WARNING使用Telegram Bot API时,请确保添加-100前缀

  • if 频道ID例如是1192292378
  • then您应该使用-1001192292378

  • 哇!就像魅力一样起作用。你节省了我很多时间。谢谢。 (3认同)
  • 这个方法有效!这不是邀请链接,而是频道的 URL。当您打开 Web 客户端并导航到您的私人频道时,浏览器中的 URL 仍然具有此格式,因此可以从中派生私人频道 ID。惊人的! (2认同)

Sla*_*ser 5

其实,这很简单。

您需要做的就是:

  1. 邀请机器人加入频道/组(无论是否私密)。
  2. 发送频道/群组中的任何消息。
  3. getUpdates在浏览器中转到API URL:
    https://api.telegram.org/bot<BOT_TOKEN>/getUpdates
    
    Run Code Online (Sandbox Code Playgroud)

现在,看看结果。
您将看到一个 JSON 输出。在此 JSON 中,查找chat数据。通常,最新的更新在最后。

https://api.telegram.org/bot<BOT_TOKEN>/getUpdates
Run Code Online (Sandbox Code Playgroud)

您的聊天 ID 是-100987654321

  • 这是最安全的选项,无需将任何未知机器人添加到您的组中。 (4认同)