Was macht Telegram Reel Publisher?
Automatisiert das Hochladen und Streamen von studiofertigen vertikalen MP4-Videos (bis zu 50 MB) direkt an Telegram – unter Verwendung der standardmäßigen Telegram Bot API-Endpunkte und ohne externe npm-Abhängigkeiten.
flowchart LR
A[Gerendertes Reel MP4] --> B[telegram_bot.js]
B --> C[Telegram Bot API /sendVideo]
C --> D[Benutzer- / Kanalchat]
D --> E[Interaktive Befehle /reels, /day1, /status]
Verwendungszweck
- Sie haben ein MP4-Video gerendert (insbesondere 1080x1920 9:16 vertikale Reels) und möchten es sofort an Telegram ausliefern.
- Sie möchten einen interaktiven Telegram-Bot, bei dem Benutzer Reels auf Abruf anfordern können.
- Sie möchten eine automatisierte Pipeline-Zustellung nach Abschluss des Video-Renderings.
Voraussetzungen
- Node.js 18+ (verwendet natives
fetch,FormDataundBlob). - Ein Telegram-Bot-Token von
@BotFather. - Eine Ziel-
chat_id(wird automatisch erfasst, wenn ein Benutzer/startdrückt).
Konfiguration: telegram_config.json
{
"bot_token": "IHR_BOT_TOKEN_HIER",
"chat_id": "IHRE_CHAT_ID_HIER",
"bot_name": "Peak Lyrics",
"bot_username": "PeakLyricsBot",
"auto_upload": true
}
Einrichtung und automatische Verknüpfung
Führen Sie das Setup-Skript mit Ihrem Bot-Token aus:
node setup_telegram.js <IHR_BOT_TOKEN>
- Überprüft das Token mit
getMe. - Gibt Ihren Bot-Link aus (
https://t.me/<bot_username>). - Wartet darauf, dass der Benutzer in Telegram
/startdrückt. - Erfasst und speichert die
chat_idautomatisch intelegram_config.json. - Liefert sofort ausstehende Reels aus.
Direkter API-Upload-Workflow
const fs = require('fs');
const path = require('path');
async function sendReelVideo(videoPath, { day, songTitle }, chatId, botToken) {
const blob = await fs.openAsBlob(videoPath);
const form = new FormData();
form.append('chat_id', chatId);
form.append('video', blob, path.basename(videoPath));
form.append('caption', `🎬 <b>Tag ${day}</b>: <i>${songTitle}</i>\n✨ 1080x1920 Studioqualität\n⏱ Wort-für-Wort synchronisiert`);
form.append('parse_mode', 'HTML');
form.append('supports_streaming', 'true');
form.append('width', '1080');
form.append('height', '1920');
const res = await fetch(`https://api.telegram.org/bot${botToken}/sendVideo`, {
method: 'POST',
body: form
});
return await res.json();
}
Den interaktiven Bot-Listener ausführen
node telegram_bot.js listen
Reagiert auf:
/startoder/help- Übersicht und Menü/day1- Liefert Tag 1 Reel aus/day2- Liefert Tag 2 Reel aus/reels- Liefert die gesamte Seriensammlung aus/status- Bot-Status und Chat-Link-Status