ホームページ > 記事 > ウェブフロントエンド > Telegram ボットを Cloudflare Workers にデプロイする: ステップバイステップガイド
サーバー管理の手間をかけずに Telegram ボットを構築する準備はできていますか? Cloudflare Workers を使用すると、すべての面倒な作業を引き受ける強力でスケーラブルなプラットフォームを活用して、ボットを数分でデプロイできます。このガイドでは、TypeScript のシンプルでわかりやすいテンプレートを使用して、開発環境のセットアップから完全に機能する Telegram ボットのデプロイまでのプロセス全体を説明します。早速ボットを立ち上げて実行してみましょう。
Cloudflare Workers は、開発者が最小限の遅延でユーザーに近いエッジで JavaScript、TypeScript、または Python コードを実行できるサーバーレス プラットフォームです。このプラットフォームを活用することで、超高速なだけでなく拡張性の高い Telegram ボットを展開できます。サーバーの管理、スケーリングの処理、複雑なインフラストラクチャの処理は必要ありません - Cloudflare がすべてを処理します。
それでは、プロセスを詳しく見ていきましょう。
構築を開始する前に、ワーカーを管理するための Cloudflare のコマンドライン ツールである Wrangler をインストールする必要があります。
npm install wrangler
ヒント: npm がインストールされていない場合は、nodejs.org から Node.js をダウンロードしてインストールすることで簡単に入手できます。
Wrangler をセットアップしたら、ワーカー ファイルを配置するディレクトリに移動します。次のコマンドを実行してワーカーを作成します:
npm create cloudflare@latest MY_WORKER_NAME
MY_WORKER_NAME をワーカーの任意の名前に置き換えます。 Wrangler を初めて使用する場合は、Cloudflare アカウントに接続し、ブラウザ ウィンドウ経由で認証するように求められます。指示に従ってください。
テンプレートの入力を求められたら、GitHub リポジトリからのテンプレート を選択し、次のように入力します。
https://github.com/m-sarabi/cloudflare-telegram-bot
次に、尋ねられたら、Typescript を選択します。
必ずこのリポジトリにアクセスして、スター ⭐️を付けてください。
セットアップ中に、バージョン管理に Git を使用するかどうか、またワーカーをすぐにデプロイするかどうかを尋ねられます。両方とも いいえ を選択し、すべての設定が完了するまで保留することをお勧めします。
次のメッセージが表示されるはずです: SUCCESS アプリケーションは正常に作成されました!
次に、プロジェクト ディレクトリ内の wrangler.toml ファイルに環境変数を設定します。したがって、次の行をファイルに追加します。
[vars] SECRET = "<SECRET>" TOKEN = "<API_TOKEN>"
これらの変数を設定した後、プロジェクト ディレクトリ内で次のコマンドを実行します。
npm run cf-typegen
このコマンドは、新しく設定した変数を反映して、worker-configuration.d.ts ファイルを再生成します。
さあ、楽しい部分に入りましょう ボットのコーディングです!この例では、これを作成します:
シナリオ: ユーザーが /start コマンドを送信すると、ボットはボタン付きのメッセージを表示します。ボタンを押すと、ボットはボタンを削除し、フォローアップ メッセージを送信します。
すべての更新ハンドラー関数は src/Telegram/handlers ディレクトリにあります。
まず、メッセージとインライン ボタンを使用して /start コマンドに応答します。 src/Telegram/handlers/handleMessage.ts を次のように変更します:
import { tg } from '../lib/methods'; export async function handleMessage(message: tgTypes.Message) { const messageText = message.text; const chatId = message.chat.id; if (messageText === '/start') { await tg.sendMessage({ text: 'Welcome to my bot! Press the button to accept my rules!', chat_id: chatId, reply_markup: { inline_keyboard: [ [{ text: 'I Accept', callback_data: 'accept_rules' }] ] } }); } }
このコード スニペットは、tg.sendMessage メソッドを使用してインライン キーボード ボタンを含むメッセージを送信します。
ユーザーがインライン ボタンを押したときに、ボットがこのアクションを認識するようにします。 src/Telegram/handlers/handleCallbackQuery.ts を変更します:
import { tg } from '../lib/methods'; export async function handleCallbackQuery(callbackQuery: tgTypes.CallbackQuery) { const data = callbackQuery.data; const messageId = callbackQuery.message?.message_id; const chatId = callbackQuery.message?.chat.id; if (messageId && chatId) { if (data === 'accept_rules') { await tg.editMessageReplyMarkup({ chat_id: chatId, message_id: messageId, reply_markup: undefined }); await tg.sendMessage({ chat_id: chatId, text: 'Thanks for accepting my rules.' }); } } }
このコードは、accept_rules データ クエリをリッスンし、一致するとインライン ボタンを削除し、tg.editMessageReplyMarkup メソッドを使用してフォローアップ メッセージを送信します。
ボット ロジックを配置したら、ワーカーをデプロイし、Webhook 経由で Telegram に接続します。
デプロイして登録すると、Telegram でボットと対話できるようになります。 Start をクリック (または /start を送信) して開始すると、インライン ボタン付きのウェルカム メッセージが表示されます。
Cloudflare Workers のおかげで、Telegram ボットの構築とデプロイがかつてないほど簡単になりました。このガイドに従うことで、サーバーレス テクノロジーの力を利用して、スケーラブルで高速なだけでなく、メンテナンスも簡単なボットを作成できます。
個人用の単純なボットを構築する場合でも、ビジネス向けにより複雑なものを展開する場合でも、このテンプレートは強固な基盤を提供します。コーディングを楽しんでください!
以上がTelegram ボットを Cloudflare Workers にデプロイする: ステップバイステップガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。