PHPでTelegramボットを作ってみた!その手順まとめ

Telegram は日本じゃあまり人気ありません。

でも開発APIとかは充実してるので、ボット作成はかなりしやすいです。

つい最近も Telegram でボットを作りたい場面があったので、
ここでは PHP を使ってTelegramボットを作る手順をまとめてみました。

では早速、その手順をコード例付きで紹介していきます。

1.まずはボット専用アカウントを作成しよう

ボット作成には、 botfather を利用する必要があります。

これは 全ボットを管理する親玉ボットみたいなもの です。

 

ではまず、次URLにアクセス

@botfather : https://telegram.me/botfather

▼ネタアカウントに見えるけど、公式
Telegramボットを作るには botfather を利用する必要あり。いくつかの質問に答えるだけで、すぐに作れる

アクセスすると、botfather のテレグラムアカウントが開くはず

 

開いたら会話をスタート( /start )させて、次手順を試してください。

  1. まずはボット新規作成の開始
    チャット欄に /newbot  と入力すればボット作成がスタートする
  2. ボット名を入力する
    次に botfather から作成したいボット名の入力を求められる。
    これは後から変えられるので、 Hoge Bot  みたいに適当に入力
  3. ボットのユーザー名を入力
    その次はボットのユーザー名の入力( @ から始まるやつ)
    この名前は必ず最後が bot で終わらないとダメ
  4. 表示されたAPIトークンをメモしておく
    例えば 123456789:e0t3gfawzPgo3JDj-FmDLlJsKeevfqj9  みたいな形式

▼APIトークンは必ずメモしておくこと!

botfatherが表示してくれたAPIトークンは必ず記録しておく

最後の API トークンまでコピーできたら、ボット作成は完了です。

2.ユーザーにボット追加してもらう "アクション" を用意

ではボット作成ができたら、次のステップです

それはボットを追加してもらうアクションを用意すること

一番確実なのは、リンクから Telegram を開いて追加してもらうこと ですね。

 

例えばボット名が hoge_bot  なら、次のリンクを作ればOK

とりあえずボット登録のフォームとか用意しておいて、
そこに「必ずボット追加して!」みたいなリンクを表示しておけばいいと思います。

ボット追加してもらうのは必須作業

3.ユーザーの chat_id を取得して保存

chat_id っていうのは Telegram でのユーザーIDみたいなもの です。(少し違うかも...)

その chat_id を取得してデータベースに保存するのが次のステップ

この ID がボットからメッセージを自動送信するのに必要になります。

 

その取得については、まず次みたいなフォームを作成

このフォームに @ユーザー名 を入力してもらいます。

 

そしてこのフォームから送信されたら、 chat_id  を取得するスクリプトを実行

例えば上フォームの場合、 get-chat-id.php  というスクリプトを書きました。

必ず '【API TOKENに置き換え】'  を各自のAPIキーで置き換えるのを忘れずに!

まあスクリプトについては深く解説しません。

メッセージを送るだけなら、 chat_id  を取得して保存するだけでいいので

あと上コードだとファイルに chat_id  を保存してますが、
まともなサービスならDBとかに保存しておいてください。(管理も楽)

4.Telegramボットからメッセージを送るPHP例

以上の手順が終わればほぼ最終段階

あとはPHP側から chat_id を使ってメッセージを送るだけです。

 

本当はDB保存がいんだけど、
例えば telegram-chat-ids.txt  ファイルに chat_id  を保存してるとしましょう。

 

このファイルから chat_id  を1つずつ読み出し、
ボットからメッセージを自動送信するのが次のコード例

必ず '【API TOKEに置き換え】'  を置き換えるのを忘れずに!(2回目)

本当はデータベースに chat_id  を保存するですが、今回はファイルを使ってます。

あとは次の Rest API を呼び出せば任意のユーザーにメッセージを送れます。

ポイントとしては botXXX:YYYYY  みたいに bot のあとにAPIキーを渡すこと

あと chat_id  を必ず指定することくらいですかね、そんなに難しくないです。

 

あとはこのスクリプトを Cronジョブ にしとけば、全自動のボットが作れるはず

レンタルサーバーとかでもCronは使えます。

会員サイトとかだと、ユーザーに手軽にメッセージを送るのに役立つかもしれません。

ここまでのまとめ - Telegramボットは作るの超簡単!

ここまでまとめて気づいたけど、Telegramって本当にボットが作りやすい!

Twitter もそこそこ楽に作れるけど、Telegram は本当に簡単ですね。

Facebook とか LINE だとアカウント取得すら難関なので
気軽にボット作成したいなら、Telegramボット に挑戦することをオススメします。

以上、PHP で Telegramボット を作る手順についてでした。ではではバイバイ(^^)/~~~

PHP

Commentsこの記事についたコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください