Heim  >  Artikel  >  Web-Frontend  >  Bereitstellen Ihrer Telegram-Bots auf Cloudflare-Workern: Eine Schritt-für-Schritt-Anleitung

Bereitstellen Ihrer Telegram-Bots auf Cloudflare-Workern: Eine Schritt-für-Schritt-Anleitung

PHPz
PHPzOriginal
2024-08-19 18:32:031020Durchsuche

Deploying Your Telegram Bots on Cloudflare Workers: A Step-by-Step Guide

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.

? Warum sollten Sie sich für Cloudflare Workers für Ihren Telegram-Bot entscheiden?

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.

? Schritt-für-Schritt-Anleitung zum Erstellen Ihres Bots

Lassen Sie uns nun in den Prozess eintauchen.

?Erstellen Sie ein neues Worker-Projekt

  1. Richten Sie Ihre Entwicklungsumgebung ein

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.

  1. Erstellen Sie einen neuen Mitarbeiter mithilfe der Telegram-Bot-Vorlage

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 ⭐️.

  1. Git initialisieren und Bereitstellung überspringen

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!

? Richten Sie Ihren Telegram-Bot mit @BotFather ein

  1. Verwenden Sie den Befehl /newbot, um Ihren Bot zu erstellen.
  2. Folgen Sie den Anweisungen und notieren Sie sich das bereitgestellte API-Token.

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>"
  • GEHEIM: Ersetzen Sie mit einem zufälligen Token, das sicherstellt, dass Anfragen von Ihrem festgelegten Webhook kommen. Es kann 1–256 Zeichen lang sein, einschließlich A–Z, a–z, 0–9, _ und -.
  • API_TOKEN: Ersetzen Sie mit dem API-Token, den Sie von @BotFather erhalten haben.

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.

? Schreiben Sie Ihre Bot-Logik

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.

Behandeln Sie den Befehl /start

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.

Behandeln Sie das Drücken von Inline-Tasten

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.

? Registrieren Ihres Webhooks

Sobald Ihre Bot-Logik eingerichtet ist, ist es an der Zeit, Ihren Worker bereitzustellen und ihn über einen Webhook mit Telegram zu verbinden.

  1. Führen Sie „Wrangler Deploy“ aus, um Ihren Worker bereitzustellen.
  2. Navigieren Sie zu Ihrem Cloudflare-Dashboard und wählen Sie Mitarbeiter & Seiten.
  3. Klicken Sie neben Ihrem Projektnamen auf Besuchen.
  4. Fügen Sie in der URL-Leiste /registerWebhook hinzu (z. B. https://my-project.my-username.workers.dev/registerWebhook) und drücken Sie die Eingabetaste. Wenn Sie „Webhook registriert“ sehen, haben Sie es richtig gemacht!

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.

? Abschluss

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!

? Ressourcen und weiterführende Literatur

  • Cloudflare Workers-Dokumentation
  • Telegram Bot API
  • GitHub-Repository für die Vorlage

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn