2015-11-22 49 views
33

我使用curl来更新我的公共频道。这种语法:如何获取专用电报频道的chat_id?

卷曲-X POST “https://api.telegram.org/bot144377327:AAGqdElkZ-77zsPRoAXXXXXXXXXX/sendMessage” -d “chat_id = @ MyChannel &文本=我的示例文本”

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

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

谢谢

+0

为什么你需要频道的chat_id?所有发送方法到频道使用字符串“@channel_name” –

+0

嗨@pengrad与curl命令我问我的机器人发送消息给MyChannel。 对于公共频道,chat_id等于其URL的最后部分:在https://telegram.me/MyChannel中,chat_id是“MyChannel”。 私人频道只邀请https://telegram.me/joinchat/AJhkwTviqL_7HWcGZgottQ这样的网址,chat_id不是“AJhkwTviqL_7HWcGZgottQ”。 因此,我正在寻找私人频道的chat_id。 – aborruso

回答

78

我找到了在私人渠道写信的方法。

  1. 你应该把它
  2. 发送信息转换为公众提供一些@channelName此通道通过机器人API

    https://api.telegram.org/bot111:222/[email protected]&text=123

  3. 由于响应你会得到你的频道的chat_id信息。

    { “OK”:真实, “结果”:{ “聊天”:{ “ID”:-1001005582487, “称号”: “测试专用通道”, “类型”: “通道” }, “日期”:1448245538, “MESSAGE_ID”:7, “文”: “123ds” } }

  4. 现在你可以转换频道回到私人(删除频道的链接)并直接发送消息给此chat_id “-1001005582487”

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

+1

我投了你的问题,我感谢你的细节!我在这里困惑地投票你的答案,因为更多的是黑客:-)。顺便说一句,我的一般问题是:什么是私人频道的需要?也许团体(最近的超级团体)是更好的方式?在电报中,关于私人频道的文件不清楚。 –

+0

哇,真是太棒了! – Groosha

+1

我试过了,它只工作了几分钟。我认为,因为一旦频道变得私密,有一个时间框架仍然可以公开访问:之后,如果您尝试再次将其设置为公开,则必须重新定义频道ID。 – roibeart

4

你也能做到这一点:

步骤1)转换你的私人频道公共频道

步骤2)设置CHANNELNAME此通道

第3步)然后你可以改变这个频道私人

步骤4)现在使用您在步骤3中设置的@ChannelName发送您的消息

注意:对于第1步,您可以将您的一个公共频道更改为私人短时间。

27

使渠道公开不能由用户完成至少存在5个公共团体/渠道,所以...问题没有解决。是的,您可以撤销其中的一个,但现在,我们无法以其他方式检索聊天ID。

revoke

有没有人发现这种情况下的解决方案?

更新

我找到了疯狂的解决方案:你的帐户下

  1. 登录在电报的网络版本:https://web.telegram.org
  2. 找到您的频道。看到你的网址,它应该像https://web.telegram.org/#/im?p=c _11052224402541910257
  3. 从它抓取“1055587116”,并添加“-100”作为前缀。

因此......您的频道ID将为“-1001055587116”。魔术发生:)

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

+1

即使我的新频道切换私人/公共/私人设置' @ channel_username',但是它是私有的,'@ channel_username'不适合我!我已经使用您的发布解决方案,并且工作 – MohaMad

+0

这应该已经被接受的答案 – ivange94

9

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

/添加my_id @ get_id_bot

里面聊天

+0

谢谢,最佳答案! – realmag777

+0

根据我的测试,bot应该作为管理员添加到频道中。 –

1

无需将频道转换为公开,然后将其设为私人。

  1. 找到您的私人频道的ID。 (有许多方法来 做到这一点,例如看this SO answer

  2. 卷曲-X POST “https://api.telegram.org/botxxxxxx:yyyyyyyyyyy/sendMessage” -d “chat_id = -100 CHAT_ID &文本=我的示例文本”

    更换xxxxxx:yyyyyyyyyyy与你的机器人ID,并用步骤1中找到的频道ID替换CHAT_ID。所以如果频道ID是1234,它将是chat_id = -10。

全部完成!