Wie stellen Sie einen Telegram-Bot bereit?
In dieser Anleitung erstellen wir einen Bot von Grund auf und stellen ihn bei EliteHost bereit. Grundkenntnisse reichen aus – Linux- oder VPS-Erfahrung ist nicht erforderlich.
Telegram‑Bot erstellen
in Telegram @BotFather öffnen Sie es und /newbot — senden Sie den Befehl. BotFather fragt Sie nach zwei Angaben:
- Bot-Name — der Name, den Benutzer sehen (z. B.:
Mein Bot) - Username —
_botmuss enden mit (z. B.:mening_botim_bot)
Nach der Erstellung erhalten Sie von BotFather token gibt. Es sieht so aus:
7123456789:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsawTeilen Sie Ihren Token mit niemandem
Bot-Code schreiben
Unten finden Sie fertige Beispiele für die beliebtesten Bibliotheken. Benennen Sie die Datei main.py (Python) oder index.js Benennen Sie es (Node.js) — das System findet es automatisch.
aiogram 3.xEmpfohlen
# main.py
import asyncio
import logging
import os
from aiogram import Bot, Dispatcher, types
from aiogram.filters import CommandStart
from aiogram.client.default import DefaultBotProperties
from aiogram.enums import ParseMode
logging.basicConfig(level=logging.INFO)
# Token muhit o'zgaruvchisidan olinadi — kodga yozmang!
TOKEN = os.getenv("BOT_TOKEN")
if not TOKEN:
raise RuntimeError("BOT_TOKEN o'zgaruvchisi topilmadi")
dp = Dispatcher()
@dp.message(CommandStart())
async def start(message: types.Message) -> None:
await message.answer(
f"Salom, <b>{message.from_user.full_name}</b>! 👋\n"
"Men EliteHost'da ishlayapman."
)
@dp.message()
async def echo(message: types.Message) -> None:
await message.answer(message.text or "Matn yuboring")
async def main() -> None:
bot = Bot(TOKEN, default=DefaultBotProperties(parse_mode=ParseMode.HTML))
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run(main())pyTelegramBotAPI
# main.py
import os
import telebot
TOKEN = os.getenv("BOT_TOKEN")
bot = telebot.TeleBot(TOKEN)
@bot.message_handler(commands=["start"])
def start(message):
bot.reply_to(message, "Salom! Men EliteHost'da ishlayapman.")
@bot.message_handler(func=lambda m: True)
def echo(message):
bot.reply_to(message, message.text)
# infinity_polling — tarmoq uzilsa avtomatik qayta ulanadi
bot.infinity_polling(skip_pending=True)python-telegram-bot
# main.py
import os
from telegram import Update
from telegram.ext import Application, CommandHandler, ContextTypes
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
await update.message.reply_text("Salom! Men EliteHost'da ishlayapman.")
def main() -> None:
app = Application.builder().token(os.getenv("BOT_TOKEN")).build()
app.add_handler(CommandHandler("start", start))
app.run_polling()
if __name__ == "__main__":
main()Node.js (Telegraf)
// index.js
import { Telegraf } from 'telegraf';
const token = process.env.BOT_TOKEN;
if (!token) {
throw new Error("BOT_TOKEN o'zgaruvchisi topilmadi");
}
const bot = new Telegraf(token);
bot.start((ctx) => ctx.reply("Salom! Men EliteHost'da ishlayapman."));
bot.on('text', (ctx) => ctx.reply(ctx.message.text));
bot.launch();
// To'g'ri to'xtatish
process.once('SIGINT', () => bot.stop('SIGINT'));
process.once('SIGTERM', () => bot.stop('SIGTERM'));Abhängigkeitsdatei wird vorbereitet
Für Python-Projekte requirements.txt — erstellen. Es listet die von Ihnen verwendeten Bibliotheken mit ihren Versionen:
aiogram==3.15.0Und für Node.js — package.json:
{
"name": "mening-botim",
"version": "1.0.0",
"type": "module",
"main": "index.js",
"dependencies": {
"telegraf": "^4.16.3"
}
}Version festlegen
aiogram==3.15.0 — legen Sie eine genaue Version fest. Andernfalls kann Ihr Bot beim Aktualisieren der Bibliothek unerwartet ausfallen.ZIP-Archiv wird erstellt
Ihr Projektordner sollte so aussehen:
mening-botim/ ├── main.py ← Einstiegsdatei ├── requirements.txt ← Abhängigkeiten ├── handlers/ ← zusätzliche Module (optional) │ └── admin.py └── data/ ← Datendateien (optional)Ordner in Markieren Sie die Dateien und erstellen Sie ein ZIP-Archiv (nicht den Ordner selbst — das System erkennt aber beide Varianten).
Nicht zum Archiv hinzufügen
- ·
venv/,.venv/— virtuelle Umgebung - ·
node_modules/— auf dem Server installiert - ·
.env— Token über das Panel eingeben - ·
__pycache__/,.git/
Wird zu EliteHost hochgeladen
- Im Dashboard Neuer Server → Bot-Hosting – Tarif wählen
- Wählen Sie eine Umgebung: Python, Node.js, Go, PHP, Java, .NET, Rust, Bun oder Ruby
- Version wählen (Python 3.12 empfohlen)
- ZIP-Datei hochladen
Nach dem Hochladen Elite AutoDeploy analysiert das Archiv und zeigt Ihnen das Ergebnis:
Umgebungsvariablen festlegen
Einstellungen → Umgebungsvariablen Wechseln Sie zum Bereich und geben Sie die erforderlichen Werte ein:
BOT_TOKEN=7123456789:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw ADMIN_ID=123456789 DATABASE_URL=sqlite:///data/bot.dbDiese Werte sind in der Datenbank gespeichert AES-256-GCM wird verschlüsselt und nur innerhalb des Containers entschlüsselt.
Starten und prüfen
🚀 Bot starten – klicken Sie auf den Button. Das System wird nacheinander:
- Server wird erstellt (~30 Sekunden)
- Lädt die Dateien hoch
- Installiert Abhängigkeiten
- Startet den Bot
Der gesamte Vorgang Live-Logs wird angezeigt. Wenn es fertig ist, senden Sie Ihren Bot in Telegram an /start .
Antwortet der Bot nicht?
Häufige Fehler
Unauthorized / 401Grund: BOT_TOKEN ist ungültig oder wurde widerrufen.
Lösung: Holen Sie einen neuen Token von @BotFather und aktualisieren Sie ihn im Bereich Umgebungsvariablen.
ModuleNotFoundError: No module named 'aiogram'Grund: Die Bibliothek ist nicht in der Datei requirements.txt aufgeführt.
Lösung: Fügen Sie sie zu requirements.txt hinzu und klicken Sie auf „Abhängigkeiten neu installieren“.
Konflikt: durch eine andere getUpdates-Anfrage beendetGrund: Ein Bot mit demselben Token läuft bereits woanders.
Lösung: Stoppen Sie die Kopie auf Ihrem Computer oder einem anderen Server.
Killed / MemoryErrorGrund: Der Bot hat das RAM-Limit des Tarifs überschritten.
Lösung: Wechseln Sie zu einem höheren Tarif oder verlagern Sie große Datenmengen in eine Datenbank.