Éditeur de Reels Telegram
Automatise le téléchargement et le streaming de vidéos verticales MP4 de qualité studio (jusqu'à 50 Mo) directement vers Telegram en utilisant les points de terminaison standard de l'API du bot Telegram, sans aucune dépendance npm externe.
flowchart LR
A[Rendered Reel MP4] --> B[telegram_bot.js]
B --> C[Telegram Bot API /sendVideo]
C --> D[User / Channel Chat]
D --> E[Interactive Commands /reels, /day1, /status]
Quand l'utiliser
- Vous avez rendu une vidéo MP4 (en particulier des reels verticaux 1080x1920 9:16) et souhaitez la livrer immédiatement à Telegram.
- Vous souhaitez un bot Telegram interactif où les utilisateurs peuvent demander des reels à la demande.
- Vous souhaitez une livraison automatisée dans un pipeline après la fin du rendu vidéo.
Prérequis
- Node.js 18+ (utilise les API natives
fetch,FormDataetBlob). - Un jeton de bot Telegram provenant de
@BotFather. - Un
chat_idcible (obtenu automatiquement lorsqu'un utilisateur clique sur/start).
Configuration : telegram_config.json
{
"bot_token": "YOUR_BOT_TOKEN_HERE",
"chat_id": "YOUR_CHAT_ID_HERE",
"bot_name": "Peak Lyrics",
"bot_username": "PeakLyricsBot",
"auto_upload": true
}
Configuration et liaison automatique
Exécutez le script de configuration avec votre jeton de bot :
node setup_telegram.js <YOUR_BOT_TOKEN>
- Vérifie le jeton avec
getMe. - Affiche votre lien de bot (
https://t.me/<bot_username>). - Attend que l'utilisateur appuie sur
/startdans Telegram. - Capture et enregistre automatiquement le
chat_iddanstelegram_config.json. - Livre immédiatement les reels en attente.
Flux de travail de téléchargement direct via API
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>Day ${day}</b>: <i>${songTitle}</i>\n✨ 1080x1920 Studio Quality\n⏱ Word-by-word synced`);
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();
}
Exécution de l'écouteur de bot interactif
node telegram_bot.js listen
Répond à :
/startou/help- Présentation et menu/day1- Livre le Reel du Jour 1/day2- Livre le Reel du Jour 2/reels- Livre la collection complète de la série/status- État du bot et statut de la liaison de chat