テレグラム:ボットとのチャットで携帯電話番号にメッセージを送信する

多くの人と同様、私はアスタリスクを使用して電話通信を整理しています。 加入者は内線番号に加えて、リダイレクトが行われる携帯電話番号も持っており、不在着信の場合にはSMSメッセージも送信されます。







従来、不在着信の通知は、SMSの形式で電子メールまたはモバイルに送信されていました。 Telegramの出現により、メッセンジャーにメッセージを送信することが可能になりました。 残念なことに、携帯電話番号にメッセージを送信することはできません。







それは私たちにとってより便利です 既に携帯電話番号を持っています(通知を受信したい数百のサブスクライバーがいます)。しかし、チャットIDを見つける必要があり、それぞれに独自のIDがあります。







解決策:小さなチャットボット。







チャットボットはユーザーを受け入れ、電話番号を尋ねます。 次に、受信した番号と対応するチャットIDがサーバーに保存されます。 これで、サービスの番号に通知を送信できます。サービスに関連付けられたボットは、この通知を対応するユーザーに電報で送信します。 安価(SMSの料金は支払わない)であると同時に、怒りもします。







二点







  1. ユーザーがボットに接続するまで、メッセージを送信できません。
  2. 番号を送信したユーザーの識別子と番号を送信したユーザーの識別子が比較されます。不一致の場合、ユーザーは指定された番号に関連付けられません。


アプリケーションは小さいですが、非常に便利です。 任意のメッセージ(以前にSMSまたは電子メールで送信された)を送信できます-呼び出しの通知、エラー、サーバーのクラッシュなど。







いくつかの詳細



送信は、ローカルで実行されているWebサーバーにHTTPリクエストを送信することにより行われます。Webサーバーは、チャットボットを同時に実装します。 サーバーはmongoデータベースでコンプライアンスを検索し、データをTelegramに送信します。 すべてがシンプルです。







Webサーバーはnodejsで作成されており、Telegramと対話するために素晴らしいtelegrafライブラリが使用されています。







ボットを作成してトークンを取得する方法には、すでに指示があります







メッセージを送信するには?



JSONメッセージを含むPOSTリクエスト







例:







curl -X POST \ http://localhost:3030/send/<number> \ -H 'content-type: application/json' \ -d '{"text": "Ahtung!!"}'
      
      





それは私にとってどのように機能しますか? 呼び出しが完了すると、アスタリスクは小さなスクリプトを呼び出して、呼び出しのステータスを調べ、必要に応じてメッセージを送信します。 以上です。







Githubソース: テレグラムアラート

インストールはリポジトリに記述されています。

クイックスタートをしたい人のために、docker-compose.ymlがあります







使用状況ビデオ(50秒)









提案? ご質問は?








All Articles