# Telegram ボットの作り方

手順ごとに：@BotFather、/newbot、トークン、コマンド、ボタン、コードの実行。

https://shiba-bank.com/ja/guides/create-telegram-bot

2026年10月2日 更新 · 7 分で読めます

Telegram ボットは、公式ボット [@BotFather](https://t.me/botfather) とのチャットで作ります。`/newbot` を送り、ボットに名前を付けて、`bot` で終わるユーザー名を選びます。BotFather は、あなたのプログラムがボットを操作するためのキーである、トークンを返します。ボットを作るのに費用はかかりません。Telegram は、ボットのプラットフォームについて、ユーザーにも開発者にも料金を取りません。ただし、BotFather がするのはボットの登録だけです。ボットが誰かに返事をするには、パソコンかサーバーで動くプログラムが必要です。

## BotFather でボットを作る方法

1. [@BotFather](https://t.me/botfather) を開いて「開始」をタップします。
2. `/newbot` コマンドを送ります。
3. ボットの**名前**、つまり表示名を入力します。
4. **ユーザー名**、つまりボットのアドレスを入力します。`@my_shop_bot` のような形です。5〜32文字で、ラテン文字、数字、アンダースコアだけが使え、`bot` で終わる必要があります。
5. BotFather が**トークン**を送ってきます。これでボットが作られました。

> **重要:** 名前はあとから `/setname` で変えられますが、Telegram のドキュメントによると、ユーザー名は作成後に変更できません。慎重に選んでください。

## トークンとは何か、どう守るか

トークンは、数字と文字がコロンで区切られた形をしています。持っている人はボットを完全に操作できるため、Telegram は、安全な場所に保管し、直接のアクセスが必要な人にだけ共有するよう勧めています。

- トークンを、公開のコード、GitHub、チャットに載せないでください。
- 漏れた場合は、Telegram のドキュメントにあるとおり、BotFather の `/token` コマンドで新しいトークンを発行します。そのあと、プログラムが使っているすべての場所で更新します。
- トークンはボット専用です。`api_id` と `api_hash` は、ユーザーとしてサインインするプログラム向けの別のキーです（取得方法は、英語とロシア語のガイド「Telegram api_id and api_hash: how to get them on my.telegram.org」で説明しています）。

## BotFather で設定すること

`/mybots` を送ると、自分のボットの設定を操作するメニューが開きます。[BotFather のミニアプリ](https://t.me/botfather?startapp)でも同じことができます。ボットの見た目は、個別のコマンドでも設定できます。

- `/setname` — ボットの名前。
- `/setdescription` — ボットの説明。512文字までの短いテキストです。
- `/setabouttext` — 「概要」（About）の情報。120文字までの、もっと短いテキストです。
- `/setuserpic` — ボットのプロフィール画像。
- `/setcommands` — コマンドの一覧。`/` を入力すると、Telegram が候補として表示します。
- `/setjoingroups` — ボットをグループに追加できるかどうか。
- `/setprivacy` — ボットがグループで受け取るメッセージの範囲。
- `/deletebot` — ボットを削除して、ユーザー名を解放します。

## ボットに返事をさせる

ボットは、[Bot API](https://core.telegram.org/bots/api) を通じて Telegram と通信するプログラムです。すべてのリクエストは `https://api.telegram.org/bot<token>/METHOD` に送られます。メッセージの受け取り方は2つあり、同時には使えません。

- **getUpdates**（ロングポーリング）：プログラムが Telegram に新しいメッセージを問い合わせます。公開アドレスが要らないので、始めるにはいちばん簡単です。
- **Webhook**：Telegram があなたのサーバーにメッセージを送ります。HTTPS と、ポート 443、80、88、8443 のどれかが必要です。

コードは、HTTP リクエストを送れる言語なら、どの言語でも書けます。人気のライブラリには、Python の aiogram と python-telegram-bot、JavaScript の grammY と Telegraf があります。公式のチュートリアルでは、Java のボットを例に説明しています：[BotFather から「Hello World」まで](https://core.telegram.org/bots/tutorial)。ボットは、パソコンの電源が入っている間だけ自分のパソコンで動かすことも、VPS で動かして24時間動かし続けることもできます。

## ボットのボタンとコマンド

- **コマンド**は、ボットが処理する `/start` のような言葉です。候補の一覧は `/setcommands` で設定します。
- メッセージの下の**インラインボタン**は、チャットにテキストを送らず、ボットに押されたことを伝えるか、リンクを開きます。
- **返信キーボード**は、通常のキーボードの代わりに、用意した返答の候補を表示します。
- **ミニアプリ**は、Telegram の中で開く本格的なインターフェースです。

詳しくは[ボットの機能の概要](https://core.telegram.org/bots/features)をご覧ください。

## ボットでの支払い

ボットでのデジタル商品やサービスの支払いは、Telegram Stars で行います。請求書には通貨 `XTR` を使い、決済プロバイダーは要りません。設定方法は、英語とロシア語のガイド「Telegram Stars payments in your bot: how to accept Stars」で説明しています。ボットが集めた Stars は Fragment を通じて引き出します：[ボットから Stars を引き出す方法](https://shiba-bank.com/ja/guides/withdraw-stars-from-bot)。

> **ヒント:** プログラムから、ユーザーのために Stars や Premium を購入したいですか？ Shiba Bank ボットにはそのための API があります：[API ドキュメント](https://shiba-bank.com/api/docs)。

[すべて Telegram の中で — アプリを開く](https://t.me/barboskich_stars_bot?startapp=site_ai_ja)

## よくある質問

### コードを書かずに Telegram ボットを作るには？
@BotFather を通じて、1分でボットを登録できます。ただし、何かをさせるにはコードが必要です。Telegram 自身も、ボットを作るには、少なくともある程度のプログラミングのスキルが必要だと述べています。

### Telegram ボットを作るのにいくらかかりますか？
かかりません。Telegram は、ボットのプラットフォームについて、ユーザーにも開発者にも料金を取りません。ボットを自分のサーバーで動かす場合は、そのサーバーの費用だけがかかります。

### BotFather とは何ですか？
ボットを作成して管理するための、Telegram の公式ボットです。名前、説明、画像、コマンド、トークンを扱います。

### BotFather のトークンを取得するには？
`/newbot` の直後にトークンが届きます。漏れた場合は、BotFather の `/token` コマンドで新しいトークンが発行されます。

### ボットにはどんなユーザー名を付けられますか？
5〜32文字で、ラテン文字、数字、アンダースコアが使え、`bot` で終わる必要があります。たとえば `my_shop_bot` です。

### Telegram ボットにボタンを追加するには？
ボタンはボットのコードで定義します。メッセージの下のインラインボタンと、返信キーボードがあります。`/` メニューのコマンド一覧は、BotFather の `/setcommands` で設定します。
