テレグラムのボットは、アプリの中で五分で作れます
日本語の候補は「botとは」と「使い方」に寄っています。だから先に、ボットが何であるかから書きます。作る場所はアプリの中で、出てくる長い文字列がそのボットそのものです。消し方と作り直し方も一緒に。
Michael Chen日本語で調べると、候補は「botとは」と「使い方」に寄ります。作り方より先に、それが何なのかが分かっていない状態です。だから順番を逆にします。
ボットは、落としてくるプログラムではありません。テレグラムの中に作る、もう一つのアカウントです。人間のアカウントとの違いは、返事を書くのが人ではなく、あなたが用意した処理だという点だけです。
作る場所は、アプリの中です
ボットを作る手続きも、ボットとの会話で行います。BotFather という名前のボットを検索して開き、そこで話しかけます。
/newbotと送ります。- 表示名を聞かれます。これは日本語でも構いません。あとから変えられます。
- 次に利用者名を聞かれます。こちらは末尾が bot でなければ通りません。そして、あとから変えられません。
- 通ると、数字とコロンと英数字がつながった、長い文字列が返ってきます。
ここまでで作成は終わりです。三分から五分です。難しいのはこの先ではなく、いま返ってきた文字列の扱いです。
その文字列が、ボットそのものです
返ってきた文字列は、パスワードのようなものではありません。それ自体がボットです。持っている人は誰でも、そのボットとして振る舞えます。名前を変えることも、送信することも、受け取っている内容を読むこともできます。
だから、公開の置き場に上げた原稿の中に直接書いてはいけません。もっとも多い漏れ方がこれです。設定ファイルを分けて、公開しない側に置いてください。
そして、漏れたと思ったら作り直せます。BotFather に /token と送ると新しい文字列が発行され、古いほうはその時点で使えなくなります。ボット自体は残るので、名前も、話しかけてくれた人との会話も消えません。
グループに入れたのに、何も言いません
ここが実際にいちばん多い相談です。故障ではありません。グループに入ったボットは、初期設定では会話の全部が見えていません。
見えているのは、自分あてに送られた命令と、自分の発言への返信だけです。それ以外の普通の会話は、そもそも届いていません。だから何も返せません。
全部を読ませたい場合は、BotFather 側でその制限を外します。逆に言うと、読ませる必要がないなら外さないでください。初期設定のままのほうが、参加者にとって安全です。
こちらから話しかけることはできません
もう一つ、設計として決まっていることがあります。ボットは、まだ一度も自分に話しかけていない相手に、先にメッセージを送れません。
つまり通知を送る仕組みを作りたい場合、相手が一度そのボットを開始している必要があります。宛先の一覧を用意すれば送れる、という作りにはなっていません。案内を設計するときは、最初にこの一手を挟む前提で考えてください。
消したいとき、作り直したいとき
「telegram bot 削除」も生きた候補です。手順はどれも BotFather の中にあります。
/mybotsで、自分が作ったボットの一覧が出ます。忘れているものはここで見つかります。/tokenで文字列を作り直します。漏れたときはこれです。/deletebotでボットごと消します。利用者名は解放されますが、会話は戻りません。
作り直すか消すかで迷ったら、まず作り直してください。消してしまうと、話しかけてくれていた人との線が切れます。
動かし続けるには、置き場が要ります
最後に一つだけ。BotFather で作れるのはボットの登録までです。返事を書く処理は、どこかで動き続けている必要があります。自分のパソコンで動かしている間だけ返事をして、閉じたら止まります。
常時動かしたい場合は、常時動いている場所に置くことになります。最初の一つを作るだけなら、手元で動かして動作を確かめてから考えても遅くありません。
