2015-11-22 3 views
33

curlを使用して自分のパブリックチャンネルを更新します。構文のこの種:プライベートテレグラムチャンネルのchat_idを取得する方法は?

カール-X POST "https://api.telegram.org/bot144377327:AAGqdElkZ-77zsPRoAXXXXXXXXXX/sendMessage" -d "chat_id = @ MyChannel &テキスト=私のサンプルテキスト"

しかし、プライベートチャンネルのchat_id何ですか?プライベート招待であなたが持っているものではありません。

チャットIDの形式でチャネルのユーザー名を渡すことができるようになりました(forwardMessageのfrom_chat_idの代わりに)。しかし私が管理するプライベートチャンネルの@channelusernameは何ですか?

ありがとうございました

+0

なぜチャンネルのchat_idが必要ですか?すべての送信方法をチャネルに使用する文字列 "@channel_name" –

+0

こんにちは、@ curlコマンドで@pengrad私はMyChannelにメッセージを送信するようボットに依頼します。 チャットIDは、URLの最後の部分と同じです。https://telegram.me/MyChannelでは、chat_idは「MyChannel」です。 プライベートチャンネルには、https://telegram.me/joinchat/AJhkwTviqL_7HWcGZgottQのような招待状のURLのみがあり、chat_idは「AJhkwTviqL_7HWcGZgottQ」ではありません。 私はプライベートチャンネルのchat_idを探しています。 – aborruso

答えて

78

私はプライベートチャンネルで書き込む方法を発見しました。

  1. あなたは、あなたのチャンネルのchat_idとの情報を取得します応答として

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

  2. ボットAPIを介してこのチャネルにいくつかの@channelName

  3. 送信メッセージで公衆にそれを変換する必要があります。

    { "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つの公開グループ/チャンネルが存在するユーザーはチャンネルを公開できません。問題は解決されません。はい、そのうちの1つを取り消すことはできますが、今のところチャットIDを他の方法で取得することはできません。

revoke

誰もがそのような場合のための解決策を見つけましたか?

私は狂った解決策を見つけた

更新:電報のウェブ版でアカウントの下で

  1. ログイン:https://web.telegram.org
  2. あなたのチャンネルを見つけました。あなたのURLを参照してください、それから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

私のテストによれば、ボットはチャネルの管理者として追加されるべきです。 –

1

チャンネルをパブリックに変換して非公開にする必要はありません。

  1. プライベートチャンネルのIDを確認してください。

  2. カール-X POST "https://api.telegram.org/botxxxxxx:yyyyyyyyyyy/sendMessage" -d "chat_id = -100 CHAT_ID &テキスト=私のサンプルテキスト"

    置き換える( への多数の方法は、例えばthis SO answerを参照して、これを行うあります) xxxxxx:yyyyyyyyyyyにボットIDを入力し、CHAT_IDを手順1で見つかったチャンネルIDに置き換えます。したがって、チャンネルIDが1234の場合はchat_id = -10となります。

すべて完了!