あなたの質問は私には不明ですが、あなたの質問から理解しているとおり、私はあなたに何かを書いて助けてくれることを望みます。 chat_id
を取得し、それを使用して何かをchat
に送信することができます。私はサンプルコードを与えるだろうが、私は何かを説明する前に。
テレグラムのBot APIには、chat_id
とfrom_id
という2つの定義があります。
1-私たちがprivate
にいるときには、chat_id
とfrom_id
のどちらかとチャットしています。
2-た場合、当社のボットがgroup
メンバーであり、そしてchat_id
は、そのグループのIDで、その人のID(from_id
)グループに何かを送る(そしておそらく私たちのボットはそれを受け取るかもしれ異なるすぎるときprivacy_mode
がオフになっています)
私はあなたのボットは、プライベートチャットであると仮定します。 ユーザーがボットには何も送信した場合、その後、電報は)あなたのスクリプトを呼び出します(自分のBOTにそのメッセージを与えて、このサンプルコードは、そのユーザーに「こんにちはchat_id」を送信。(PHPで)
define('BOT_TOKEN','12345:abcde');//replace with your bot token
$command_prefix_url='https://api.telegram.org/bot' . BOT_TOKEN ;
$update = json_decode(file_get_contents('php://input')); //retrieves data sent by telegram
$chat_id=$update->message->chat->id; //retrives `chat_id`
$rep = json_decode(file_get_contents($command_prefix_url . '/SendMessage?chat_id=' .
$chat_id . '&text=' . urldecode('Hello '.(string)$chat_id))); //send something to that `chat_id` (sender)
更新:(起因する問題の版に)
まず、chat_id
はユニークで、そのユーザのための常に永続的である(プライベートチャット中) あなたのボットのユーザーがあなたのボットを離れ、再び再参加しても。 これまで電報にはbot
全員にchat_id
を知らせる方法が提供されていません。そのため、ユーザーについて知る最も良い方法は、chat_id
などの情報を保存することですデータベースからのメッセージrecycleからのユーザーからの時間)。
少なくともchat_id
を単純なデータベースに保存すると、ボットの購読しているユーザーの一覧が表示されます。 chat_id
は永久保存されているので、あなたが望むものをあなたのユーザーに送信することができます。
あなたの質問から分かるように、データベースを持っていないのにユーザーAがあなたのボットの登録済みユーザーである場合、彼女はあなたにメッセージを1つ送信するまで待つべきです彼女/彼chat_id
をデータベースに追加してください。今はいつでも何かを送ることができます。
私は質問を改定しました。私はそれがより明確であることを望みます。 –
受信したメッセージに返信しているので、古い会話にメッセージを送信します。私はGetAllChatsまたはそのようなものへのAPIの呼び出しを期待していた... –
@CristianTありがとう、更新されました! –