「LINE Bot TypeScript」と検索したあなたは、急に「LINEで自動返信Botを作って」と頼まれ、Node.jsやTypeScriptの知識があいまいなまま、LINE Developersの画面や公式アカウントの違いに戸惑っていませんか?
「Webhookって何?」「SDKってどれを使えばいい?」と、用語や設定の多さに焦るのは自然です。この記事では、LINE Bot TypeScriptの全体像から最小構成の実装まで、初心者がつまずきやすいポイントを先回りして解説します。まずは「どこから手をつければいいか」だけ押さえて、安心して一歩目を踏み出しましょう。
書き手プロフィール
名前: 佐伯 真琴
肩書き: Web運用・自動化コンサルタント
専門領域: Webサービス連携、業務自動化、初心者向け技術解説
主な実績: 中小企業向けのWeb運用改善支援、問い合わせ対応フロー設計、技術記事の監修
スタンス: 専門用語を急に並べず、最小構成で試してから必要な仕組みを順番に理解できるよう寄り添います。
LINE BotをTypeScriptで作る全体像

結論から言うと、LINE Bot TypeScriptでの開発は「LINE Developersで設定→Webhookサーバー構築→Bot SDK導入→イベント処理実装」という流れが基本です。最初は全体の流れが見えず混乱しやすいですが、まずは「LINE Developersでチャネルを作成し、Webhook URLを設定する」ことから始めましょう。なお、この記事の情報は2026年5月21日時点のLINE Developers公式情報とNode.js向けSDKの公開情報を前提にしています。
LINE Bot TypeScriptの開発フローは以下の通りです。
- Messaging API設定を確認し、LINE公式アカウントとMessaging APIチャネルを作成する
- Webhook設定でURLを登録する
- Node.js+TypeScriptプロジェクトを用意する
- @line/bot-sdkをインストールする
- 環境変数にチャネルシークレット・チャネルアクセストークンを設定する
- ExpressなどでWebhookサーバーを構築する
- イベントをTypeScriptで処理する
- Botの動作確認を行う
初心者が混乱しやすいのは「LINE公式アカウント」と「LINE Developers」の違い、Webhookの意味、SDKのバージョン、環境変数の扱いです。LINE開発全体の流れから整理したい場合は、先にLINE開発の全体像を確認しておくと理解しやすくなります。まずは「LINE Developersでチャネルを作る」「Webhookサーバーを立てる」この2点に集中しましょう。全部を一度に理解しなくても、最小構成で動かせればOKです。
LINE Messaging APIとBot SDKの基本
LINE Bot TypeScriptで開発する際、最初に整理したいのが「Messaging API」と「Bot SDK」の関係です。Messaging APIは、LINEが提供するBot用の公式API群で、ユーザーからのメッセージ受信や返信、プッシュ通知などを実現します。
Bot SDK(@line/bot-sdk)は、Node.jsやTypeScriptでMessaging APIを扱いやすくするためのライブラリです。TypeScriptでも型定義を利用できるため、イベント型やレスポンス型を確認しながら実装できます。
ただし、SDKのバージョンによって記述方法が異なる場合があります。公式ドキュメントやGitHubのリポジトリを確認し、現在のバージョンに合った書き方で進めることが大切です。また、ExpressやHonoなど、Webhookサーバーの構築方法によってもサンプルコードが異なります。まずはExpressベースで始めると情報が多く、初心者でも確認しやすいでしょう。
Messaging APIとBot SDKの役割を整理しておくことで、実装時の混乱を防げます。
開発前に準備するもの
LINE Bot TypeScriptの開発には、事前にいくつかの準備が必要です。まず、LINE Developersのアカウントを用意し、Messaging APIチャネルを新規作成します。
必要なものは以下の通りです。
- LINE Developersアカウント
- LINE公式アカウント(Bot用)
- Messaging APIチャネル
- チャネルシークレット
- チャネルアクセストークン
- Node.jsとTypeScriptの実行環境
- Webhookを受け取るサーバー
- ローカル開発時に使うトンネルツール(ngrokなど)
チャネルシークレットはWebhook署名検証に、チャネルアクセストークンはBotからの返信やプッシュ通知に使います。どちらも外部に漏れないように管理してください。
ローカル開発の場合、ngrokなどで一時的に外部公開しWebhookをテストできます。ただし、開発用URLは変わることがあるため、本番運用では固定URLを使える環境を検討しましょう。公開範囲やログの扱いにも注意が必要です。
LINE DevelopersでWebhookを設定する流れ

LINE Bot TypeScriptでBotを動かすには、LINE DevelopersでWebhookの設定が必須です。まず、Messaging APIチャネルを作成し、Webhook URLを登録します。
Webhookとは「LINEからBotサーバーにイベント通知を送る仕組み」です。BotはこのWebhook経由でユーザーからのメッセージや友だち追加イベントを受け取ります。
設定手順は以下の通りです。
- LINE Developersコンソールでチャネルを作成する
- チャネル基本設定から「チャネルシークレット」を確認する
- Messaging API設定から「チャネルアクセストークン」を発行または確認する
- Webhook設定欄にBotサーバーのURL(https必須)を入力する
- 「Webhookの利用」をONにする
- 「検証」ボタンで接続確認を行う
よくある失敗は「URLがhttpsでない」「サーバーが起動していない」「外部からアクセスできない」「署名検証でエラーになる」などです。Webhook URLはLINE側からアクセスできる必要があり、ローカル環境のURLをそのまま設定しても通常は動きません。
TypeScriptプロジェクトを作成する
LINE Bot TypeScriptの実装は、まずNode.js+TypeScriptのプロジェクト作成から始めます。最小構成で進める場合、以下の手順で十分です。
- 新しいディレクトリを作成し、
npm initでプロジェクトを初期化する - TypeScriptを
npm install typescript --save-devで導入する tsconfig.jsonを作成し、TypeScriptの設定を記述する- 必要な型定義(@types/nodeなど)もインストールする
TypeScriptの設定は、最初から細かく作り込む必要はありません。まずは「ビルドして動く」ことを優先し、細かい設定は後から調整しましょう。
初心者がつまずきやすいのは「tsconfig.jsonの設定」「型定義の不足」「ビルドエラー」です。エラーが出ても焦らず、エラーメッセージを一つずつ確認してください。
@line/bot-sdkをインストールする
LINE Bot TypeScriptでMessaging APIを扱うには、@line/bot-sdkのインストールが必要です。npmコマンドで導入できます。
npm install @line/bot-sdk
TypeScriptで型安全に扱うため、SDKに含まれる型定義を活用します。バージョンによって型やAPIの仕様が変わる場合があるため、公式ドキュメントやリポジトリの説明も確認しましょう。
また、ExpressやHonoなど、利用するフレームワークに応じて追加パッケージ(@types/expressなど)が必要な場合があります。エラーが出た場合は、依存パッケージの有無も確認してください。
環境変数を設定する
LINE Bot TypeScriptで安全にチャネルシークレットやアクセストークンを管理するには、環境変数の利用が基本です。.envファイルを作成し、以下のように記述します。
CHANNEL_SECRET=xxxxxxxxxxxxxxxx
CHANNEL_ACCESS_TOKEN=xxxxxxxxxxxxxxxx
TypeScriptからはdotenvパッケージを使って読み込む方法がよく使われます。環境変数をコード内に直書きすると、GitHubなどで誤って公開してしまうリスクがあります。必ず.gitignoreで.envを除外してください。
初心者がよくやりがちなのは「.envファイルのパスミス」「dotenvの読み込み忘れ」「変数名のタイプミス」です。Botが動かない場合は、コードより先に環境変数の設定を見直すと原因を見つけやすくなります。
ExpressでWebhookサーバーを作る
LINE Bot TypeScriptのWebhookサーバーは、Expressを使うとシンプルに構築できます。ExpressはNode.js用のWebアプリケーションフレームワークで、Webhookエンドポイントを作成しやすいのが特徴です。
基本の流れは以下の通りです。
- Expressアプリを作成する
/webhookエンドポイントを設置する- @line/bot-sdkのミドルウェアで署名検証を行う
- イベントを受け取って処理する
初心者が混乱しやすいのは「署名検証でエラーになる」「リクエストボディのパース方法」「エンドポイントのパスミス」です。まずは公式サンプルを参考に、最小構成でWebhookが受信できるか確認しましょう。
Express以外にもHonoなどの選択肢があります。特にサーバーレスで軽く動かしたい場合は、Cloudflare構成も候補になります。ただし、初心者が最初に仕組みを理解する段階では、情報量の多いExpressから始めると調べやすいでしょう。
WebhookイベントをTypeScriptで扱う
LINE Bot TypeScriptの強みは、Webhookイベントを型安全に処理できる点です。@line/bot-sdkでは、イベント型(Event、MessageEvent、FollowEventなど)を確認しながら実装できます。
Webhookイベントには、メッセージ受信、友だち追加、ブロック、グループ参加など複数の種類があります。イベントごとに型を分けて処理することで、バグや誤動作を防ぎやすくなります。
初心者がつまずきやすいのは「イベント型の使い分け」「型エラー」「イベントプロパティの見落とし」です。まずはメッセージイベントだけを処理し、徐々に他のイベント型にも対応していくと理解しやすくなります。
オウム返しBotを実装する
LINE Bot TypeScriptで最初に作るBotとして定番なのが「オウム返しBot」です。これは、ユーザーから受信したテキストメッセージを、そのまま返信するシンプルなBotです。LINE公式アカウントの標準機能とMessaging APIの違いから整理したい場合は、先に自動返信の基本を確認しておくと迷いにくくなります。
実装のポイントは以下の通りです。
- Webhookでメッセージイベントを受信する
- イベントがテキストメッセージか判定する
- 受信したテキストをReply APIで返す
TypeScriptでは、イベント型を確認しながら条件分岐することで、型安全かつ読みやすい実装が可能です。最初はテキストメッセージだけ対応し、慣れてきたら画像やスタンプなど他のタイプにも拡張していきましょう。
Botが動かない場合は「Webhookの設定」「署名検証」「アクセストークンの有効性」「サーバーの起動状況」などを順番に確認してください。焦って全部作り直すより、一つずつ切り分けるほうが原因を見つけやすくなります。
LINE Bot TypeScriptに関するよくある質問 (FAQ)
LINE BotをTypeScriptで作るときに、初心者がつまずきやすいポイントをQ&A形式でまとめました。
LINE Bot TypeScriptは初心者でも作れますか?
A
最小構成から始めれば、初心者でも作れます。
最初から複雑なAI連携やデータベース保存まで入れると難しくなります。まずはWebhookでメッセージを受け取り、固定文やオウム返しを返す構成から始めると理解しやすいです。
TypeScriptではなくJavaScriptでもLINE Botは作れますか?
A
JavaScriptでも作れますが、TypeScriptは保守性を高めやすいです。
小さな検証だけならJavaScriptでも十分です。一方で、イベントの種類が増えたり、複数人で管理したりする場合は、型を確認しながら実装できるTypeScriptのほうがミスを減らしやすくなります。
Webhook URLの検証に失敗する原因は何ですか?
A
多くはURL、サーバー起動、署名検証、環境変数のいずれかが原因です。
Webhook URLはhttpsで外部公開されている必要があります。ローカル開発ではngrokなどを使い、サーバーが起動しているか、パスが正しいか、チャネルシークレットが一致しているかを順番に確認してください。
チャネルアクセストークンはコードに書いても大丈夫ですか?
A
コードへの直書きは避け、環境変数で管理してください。
チャネルアクセストークンやチャネルシークレットは重要な認証情報です。GitHub、ブログ、スクリーンショット、共有メモなどに公開されないよう、.envファイルやホスティング環境のSecrets機能で管理しましょう。



コメント