YouLearn è un bot Telegram che ti permette di ottenere trascrizioni e riassunti di video YouTube in modo semplice e veloce.
- 📝 Trascrizione automatica di video YouTube
- 📚 Generazione di riassunti utilizzando AI (OpenAI GPT-4 o Deepseek)
- 🎥 Supporto per video standard e Shorts
- 🔒 Accesso limitato a utenti autorizzati
Il bot è disponibile solo per utenti autorizzati. Per richiedere l'accesso:
-
Trova il tuo Telegram ID usando uno dei seguenti metodi:
- Avvia il bot @userinfobot o @myidbot su Telegram
- Invia un messaggio al nostro bot - ti risponderà con il tuo ID anche se non sei autorizzato
- In alternativa, puoi trovare il tuo ID visitando web.telegram.org, accedendo al tuo account e cercando il numero nella barra degli indirizzi
-
Contatta l'amministratore fornendo:
- Il tuo Telegram ID
- Il motivo per cui desideri utilizzare il bot
- Il tuo nome/username Telegram
Per configurare il bot, è necessario impostare le seguenti variabili d'ambiente:
# Configurazione base
TELEGRAM_TOKEN=your_bot_token
OPENAI_API_KEY=your_openai_api_key
DEEPSEEK_API_KEY=your_deepseek_api_key
# Whitelist utenti (ID separati da virgola)
ALLOWED_USERS=123456789,987654321,200074582
# Configurazione proxy (opzionale)
USE_PROXY=false
PROXY_USERNAME=your_proxy_username
PROXY_PASSWORD=your_proxy_password
PROXY_HOST=gate.smartproxy.com
PROXY_PORT=10001
# Modalità debug (opzionale)
DEBUG_MODE=false
FORCE_PROXY=false- Avvia il bot su Telegram
- Invia un link YouTube (video standard o Shorts)
- Scegli se vuoi:
- 📝 La trascrizione del video
- 📚 Un riassunto del contenuto
- Il bot utilizza la YouTube Transcript API per ottenere le trascrizioni
- I riassunti possono essere generati usando OpenAI GPT-4 o Deepseek
- È possibile configurare un proxy per aggirare eventuali limitazioni geografiche
- La modalità debug permette di testare il funzionamento con e senza proxy
- Python 3.8+
- Un token per un bot Telegram (ottenibile tramite @BotFather)
- Una chiave API OpenAI (per la trascrizione con Whisper e i riassunti con gpt-4o-mini)
- Opzionale: Una chiave API Deepseek (per riassunti alternativi)
- Opzionale: Un account SmartProxy per bypassare i blocchi di YouTube
-
Clona il repository:
git clone https://github.com/tuousername/youlearn-bot.git cd youlearn-bot -
Installa le dipendenze:
pip install -r requirements.txt -
Copia il file
.env.examplein.enve inserisci le tue credenziali:cp .env.example .env -
Modifica il file
.envcon le tue chiavi API e configurazioni.
Il bot supporta l'uso di SmartProxy per bypassare i blocchi di YouTube. Per configurarlo:
- Ottieni un account su SmartProxy
- Configura le seguenti variabili nel file
.env:USE_PROXY=true PROXY_USERNAME=your_username PROXY_PASSWORD=your_password PROXY_HOST=gate.smartproxy.com PROXY_PORT=10001
Il proxy verrà utilizzato solo per le chiamate a YouTube (download trascrizioni e audio), risparmiando traffico.
- Crea un'app su Heroku
- Configura le variabili d'ambiente nell'interfaccia di Heroku (Settings > Config Vars)
- Collega il repository GitHub e deploy
-
Avvia il bot:
pipenv shell python bot.py -
Invia un link YouTube al bot su Telegram
-
Scegli tra le opzioni disponibili:
- 📝 Trascrizione: ottieni la trascrizione completa del video
- 📚 Riassunto OpenAI: genera un riassunto utilizzando il modello gpt-4o-mini di OpenAI
- 📚 Riassunto Deepseek: genera un riassunto utilizzando il modello di Deepseek
Il bot supporta due modelli AI per la generazione di riassunti:
- OpenAI (gpt-4o-mini): Un modello potente e compatto di OpenAI, ottimo per riassunti dettagliati e ben strutturati.
- Deepseek: Un'alternativa che può offrire prospettive diverse o essere utilizzata quando OpenAI non è disponibile.
Puoi configurare uno o entrambi i modelli. Il bot mostrerà solo le opzioni per i modelli configurati.
Su Heroku, YouTube tende a bloccare i download di audio. Per questo motivo:
- Il bot tenterà prima di ottenere le trascrizioni direttamente da YouTube
- L'uso del proxy può aiutare a superare questi blocchi
- Per i video senza trascrizioni disponibili, il download dell'audio potrebbe comunque fallire
MIT
- Estrazione di trascrizioni direttamente da YouTube
- Trascrizione automatica con l'API Whisper di OpenAI quando i sottotitoli YouTube non sono disponibili
- Generazione di riassunti utilizzando OpenAI GPT o Deepseek
- Supporto sia per video YouTube standard che per Shorts
- Interfaccia utente Telegram semplice con pulsanti inline
- Ottimizzato per il deploy su Heroku
- Python 3.11+
- FFmpeg (installato nell'ambiente di deploy)
- Token di Telegram Bot
- OpenAI API key (usata sia per la trascrizione che per il riassunto)
- Deepseek API key (opzionale, per riassunti alternativi)
- Account Heroku (per il deploy)
- Clona il repository:
git clone <repository-url>
cd youlearn- Installa le dipendenze richieste:
pip install -r requirements.txt- Crea un file
.envnella root del progetto e aggiungi le tue chiavi API:
TELEGRAM_TOKEN=your_telegram_bot_token
OPENAI_API_KEY=your_openai_api_key
DEEPSEEK_API_KEY=your_deepseek_api_key # opzionale- Avvia il bot:
python bot.pyIl progetto è ottimizzato per Heroku, con particolare attenzione alla dimensione dello "slug" (limite 500 MB).
-
Crea una nuova app su Heroku
-
Configura le variabili d'ambiente necessarie:
TELEGRAM_TOKEN: il token del tuo bot TelegramOPENAI_API_KEY: la tua API key OpenAI (usata sia per Whisper che per GPT)DEEPSEEK_API_KEY: la tua API key Deepseek (opzionale)
-
Collega il repository a Heroku e deploita:
# Dopo esserti loggato con heroku login
heroku git:remote -a your-heroku-app-name
git push heroku main- Attiva il worker:
heroku ps:scale worker=1Questo progetto include varie ottimizzazioni per Heroku:
- Utilizzo delle API anziché dei modelli locali: utilizziamo l'API Whisper di OpenAI anziché eseguire localmente il modello, riducendo drasticamente la dimensione dello slug
- Nessuna dipendenza pesante come PyTorch
- Include un file
.slugignoreper escludere file non necessari - Utilizza cartelle temporanee di sistema per file temporanei
- Rimuove automaticamente i file audio dopo la trascrizione
- Avvia il bot su Telegram cercandolo per nome
- Invia il comando
/startper iniziare - Invia l'URL di un video YouTube
- Scegli "Trascrizione" o "Riassunto" dai pulsanti
- Attendi l'elaborazione e ricevi il risultato
Il bot supporta:
- Video YouTube standard
- YouTube Shorts
- Gestione di trascrizioni lunghe (inviate in più messaggi)
- La trascrizione con l'API Whisper è molto più veloce rispetto al modello locale
- La generazione del riassunto dipende dalla disponibilità dell'API key OpenAI
- Se è disponibile solo l'API key Deepseek, il bot utilizzerà quella per i riassunti
- Per video molto lunghi, la trascrizione/riassunto potrebbe essere troncato a causa dei limiti API
- L'API Whisper di OpenAI ha un costo di circa $0.006 per minuto di audio
- L'API GPT-3.5-turbo ha un costo di circa $0.002 per 1000 token
- Calcola i costi in base all'utilizzo previsto
[Inserisci la tua licenza qui]