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

Shareこの記事をシェアしよう!

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

2件のコメント
  • Bellwood

    コメント失礼いたします。
    現在、telegramにAI botを作成できる方法、人を探しているのですが、例えばchatGPTを組み込むことは簡単にできるのでしょうか?GoogleがGeminiというAIを開発していますが、コードが公開された場合、telegram上に作成することは可能なのでしょうか?

    11月 8, 2023 6:40 pm
    • ぴー助

      コメントありがとうございます。

      簡単かどうかはその人の知識に依ります。chatGPTで公開されているAPIのみを利用するなら難易度は高くなるでしょうが、PHP・Pythonなどで公開されているライブラリを探せば簡単に組み込める方法もあるかもしれません、Geminiについては知らないです

      11月 10, 2023 3:38 pm

コメントを残す

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

CAPTCHA


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