2015-11-22 52 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。

全部完成!