Heim > Artikel > Web-Frontend > Bereitstellen Ihrer Telegram-Bots auf Cloudflare-Workern: Eine Schritt-für-Schritt-Anleitung
Sind Sie bereit, einen Telegram-Bot zu erstellen, ohne sich um die Verwaltung von Servern kümmern zu müssen? Mit Cloudflare Workers können Sie Ihren Bot in wenigen Minuten bereitstellen und dabei eine leistungsstarke, skalierbare Plattform nutzen, die Ihnen die ganze schwere Arbeit abnimmt. In diesem Leitfaden führen wir Sie durch den gesamten Prozess – von der Einrichtung Ihrer Entwicklungsumgebung bis zur Bereitstellung eines voll funktionsfähigen Telegram-Bots – und verwenden dabei eine einfache, leicht verständliche Vorlage in TypeScript. Lassen Sie uns eintauchen und Ihren Bot zum Laufen bringen.
Cloudflare Workers ist eine serverlose Plattform, die es Entwicklern ermöglicht, JavaScript-, TypeScript- oder Python-Code am Rande, nahe bei Ihren Benutzern, mit minimaler Latenz auszuführen. Durch die Nutzung dieser Plattform können Sie einen Telegram-Bot bereitstellen, der nicht nur blitzschnell, sondern auch hoch skalierbar ist. Sie müssen sich nicht um die Verwaltung von Servern, die Skalierung oder den Umgang mit komplexer Infrastruktur kümmern – Cloudflare kümmert sich um alles für Sie.
Lassen Sie uns nun in den Prozess eintauchen.
Bevor wir mit der Erstellung beginnen, müssen Sie Wrangler installieren, das Befehlszeilentool von Cloudflare zur Verwaltung von Workern:
npm install wrangler
Tipp: Wenn Sie npm nicht installiert haben, können Sie es ganz einfach erhalten, indem Sie Node.js von nodejs.org herunterladen und installieren.
Sobald Wrangler eingerichtet ist, navigieren Sie zu dem Verzeichnis, in dem sich Ihre Worker-Dateien befinden sollen. Führen Sie den folgenden Befehl aus, um Ihren Worker zu erstellen:
npm create cloudflare@latest MY_WORKER_NAME
Ersetzen Sie MY_WORKER_NAME durch Ihren bevorzugten Namen für den Arbeiter. Wenn Sie Wrangler zum ersten Mal verwenden, werden Sie aufgefordert, sich über ein Browserfenster mit Ihrem Cloudflare-Konto zu verbinden und sich zu authentifizieren – folgen Sie einfach den Anweisungen.
Wenn Sie nach der Vorlage gefragt werden, wählen Sie Vorlage aus einem GitHub-Repo aus und geben Sie Folgendes ein:
https://github.com/m-sarabi/cloudflare-telegram-bot
Wählen Sie dann Typoskript aus, wenn Sie dazu aufgefordert werden.
Gehen Sie unbedingt zu diesem Repository und geben Sie ihm bitte einen Stern ⭐️.
Während der Einrichtung werden Sie gefragt, ob Sie Git zur Versionskontrolle verwenden und Ihren Worker sofort bereitstellen möchten. Ich schlage vor, für beide Nein auszuwählen und zu warten, bis wir alles konfiguriert haben.
Sie sollten die Meldung sehen: ERFOLGREICH Anwendung erfolgreich erstellt!
Als nächstes richten wir Umgebungsvariablen in der Datei wrangler.toml in Ihrem Projektverzeichnis ein. Fügen Sie also diese Zeilen zur Datei hinzu:
[vars] SECRET = "<SECRET>" TOKEN = "<API_TOKEN>"
Nachdem Sie diese Variablen festgelegt haben, führen Sie diesen Befehl in Ihrem Projektverzeichnis aus:
npm run cf-typegen
Dieser Befehl generiert die Datei worker-configuration.d.ts neu und spiegelt Ihre neu festgelegten Variablen wider.
Jetzt kommen wir zum spaßigen Teil: dem Codieren des Bots! In diesem Beispiel erstellen wir Folgendes:
Szenario: Wenn ein Benutzer den /start-Befehl sendet, zeigt der Bot eine Nachricht mit einer Schaltfläche an. Beim Drücken der Schaltfläche entfernt der Bot sie und sendet eine Folgenachricht.
Alle Update-Handler-Funktionen befinden sich im Verzeichnis src/Telegram/handlers.
Wir beginnen damit, dass wir auf den Befehl /start mit einer Nachricht und einer Inline-Schaltfläche antworten. Ändern Sie src/Telegram/handlers/handleMessage.ts wie folgt:
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' }] ] } }); } }
Dieses Code-Snippet sendet eine Nachricht mit einer Inline-Tastaturtaste unter Verwendung der tg.sendMessage-Methode.
Wenn der Benutzer die Inline-Taste drückt, möchten wir, dass der Bot diese Aktion bestätigt. Ändern Sie 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.' }); } } }
Dieser Code wartet auf die Datenabfrage „accept_rules“ und entfernt bei Übereinstimmung die Inline-Schaltfläche und sendet eine Folgenachricht mithilfe der Methode tg.editMessageReplyMarkup.
Sobald Ihre Bot-Logik eingerichtet ist, ist es an der Zeit, Ihren Worker bereitzustellen und ihn über einen Webhook mit Telegram zu verbinden.
Nach der Bereitstellung und Registrierung können Sie mit Ihrem Bot über Telegram interagieren. Klicken Sie zunächst auf Start (oder senden Sie /start), und Sie sollten die Willkommensnachricht mit der Inline-Schaltfläche sehen.
Das Erstellen und Bereitstellen von Telegram-Bots war dank Cloudflare Workers noch nie so einfach. Indem Sie diesem Leitfaden folgen, haben Sie die Leistungsfähigkeit der serverlosen Technologie genutzt, um einen Bot zu erstellen, der nicht nur skalierbar und schnell, sondern auch einfach zu warten ist.
Ganz gleich, ob Sie einen einfachen Bot für den persönlichen Gebrauch erstellen oder etwas Komplexeres für ein Unternehmen bereitstellen, diese Vorlage bietet eine solide Grundlage. Viel Spaß beim Codieren!
Das obige ist der detaillierte Inhalt vonBereitstellen Ihrer Telegram-Bots auf Cloudflare-Workern: Eine Schritt-für-Schritt-Anleitung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!