# JavaScriptでTelegramボットを作成し、デプロイする

import ChangelogLayout from '@/src/components/Changelog/ChangelogLayout';


このチュートリアルでは、GrammYフレームワークとJavaScriptを使用して、Telegramボットを最初から開発し、Zeaburにデプロイする方法を説明します。

## GrammYフレームワークとは？

> GrammY - **Telegramボットフレームワーク**

![](https://cdn.sanity.io/images/z9meudi7/production/ecc5ffdc4eb23cff07da354e2220fca62ce684ab-1812x1282.png)

JavaScriptでTelegramボットを開発する選択肢は、node-telegram-bot-apiやGrammYなどがあります。最初のものはTelegramのNode.js SDKであり、GrammYは多くの機能を事前にパッケージ化した新興の成熟したフレームワークで、開発プロセスを簡素化します。

## Zeaburとは？

[Zeabur](https://zeabur.com)は、開発者がサーバーインフラを気にせずに、ワンクリックでサービスをデプロイできるデプロイメントサービスプラットフォームです。

Telegramボットを継続的に実行するには、2つの選択肢があります：

- ローカルで実行する。これにはコンピューターを常時接続し、起動させておく必要があります

- クラウドにデプロイする。開発完了後、Zeaburに1回クリックでデプロイし、継続的で安定したボットサービスを実現する

## ボットの作成とトークンの取得

Telegramでボットを作成するプロセスは非常にシンプルです。Telegramを開き、**BotFather**を検索します。チャットで、ガイドに従って `/newbot` コマンドを送信しボットを作成し、そのトークンをコピーします。

## プロジェクトの初期化

### 前提条件

- コンピューターにNode.js環境がインストールされていること

- npm/pnpmなどのパッケージマネージャーがインストールされていること

### 新しいプロジェクトの作成

まず、ボットのコードを保存するための新しいフォルダを作成します。次に、そのディレクトリ内でターミナルを開き、`npm init` コマンドを実行して、デフォルトのpackage.jsonを生成します。その後、`npm install grammy` でgrammyの依存関係をインストールします。

bot.jsファイルを作成：

この時点で、以下のコマンドでボットを実行できます：

```bash
node bot.js
```

ボットを実行した後、先ほど作成したTelegramボットにメッセージを送信すると、「Received: + あなたのメッセージの内容」と返信します。

## Zeaburへのデプロイ

開発が完了したら、ボットをクラウドにデプロイできます。簡単なワンクリックデプロイには、Zeaburをおすすめします。

まず、ZeaburのWebサイトにアクセスし、GitHubを使用して新しいアカウントを登録します。ダッシュボードに入ったら、新しいプロジェクトを作成し、希望するリージョンを選択します。ここでは香港のデータセンターを選びます。

![](https://cdn.sanity.io/images/z9meudi7/production/a130ccbf48b48b25ddf9d44c2c6063ccedb5f78d-3138x1924.png)

プロジェクトを作成したら、プロジェクトページで新しいサービスを作成し、GitHubリポジトリからデプロイを選択し、先ほど作成したボットのリポジトリを選択してインポートをクリックします。Zeaburが自動的にボットのデプロイを開始します。約1分待ってデプロイが完了したら、戻ってボットとチャットを楽しめます。

![](https://cdn.sanity.io/images/z9meudi7/production/71176c37034b9f4352caeb92d0a174f0345fed81-3138x1924.png)

## Telegramボットテンプレートのデプロイ

TelegramでChatGPTやGeminiを使用できるボットが欲しいだけなら、Zeaburのテンプレートマーケットから直接いくつかのボットをデプロイできます。例えば、[Gemini-Telegram-Bot](https://zeabur.com/templates/V2870T)や[ChatGPT-Telegram-Bot](https://zeabur.com/templates/R5JY5O)などです。デプロイをクリックすると、Zeaburが自動的に対応するリポジトリを作成します。デプロイ中にボットのトークンとAPIキーを入力するだけで、すぐに使い始められます。

![](https://cdn.sanity.io/images/z9meudi7/production/581a3bb5e62049921cdb416db6f57c3e40903dee-3138x1924.png)
