Telegram Bots für Automationen - Sprachnachrichten zu Social Media Postings
Pascal Poredda
7. Januar 2025
Ein Telegram Bot, der Sprachnachrichten automatisch in Social Media Posts umwandelt. Das war eine Idee, die mir unterwegs kam, und ich dachte mir: Wie schwer kann das sein? Fazit: Ziemlich simpel.
Telegram Bots als Automatisierungswerkzeug
Telegram hat sich als Plattform für Automatisierungen etabliert, und das aus gutem Grund. Die Bot-API von Telegram bietet eine robuste und entwicklerfreundliche Grundlage für verschiedenste Automatisierungen. Im Vergleich zu anderen Messaging-Plattformen zeichnet sich Telegram durch:
- Eine ausgereifte und gut dokumentierte API
- Hohe Sicherheitsstandards
- Einfache Integration verschiedener Dienste
- Kostenlose Nutzung ohne Einschränkungen (look at you WhatsApp)
Diese Vorteile machen Telegram zur idealen Plattform für die Entwicklung von Automatisierungslösungen. Uptime Bots, Bilder generieren, Webseiten durchsuchen.. all das ist möglich.
Die Voice-to-Social-Media Pipeline
Unser Bot nutzt eine simple Pipeline, um Sprachnachrichten in (auf Wunsch) hochwertige Social Media Posts zu verwandeln:
- Sprachaufnahme: Nutzer senden eine Sprachnachricht an den Bot
- Transkription: OpenAI Whisper wandelt die Sprache in Text um
- Optimierung: GPT-4o verarbeitet den Text entweder direkt zu einem optimierten Social Media Post, oder gibt ihn so wieder, wie gesprochen.
- Draft: Automatische Erstellung eines Drafts in Typefully
Der gesamte Prozess läuft dabei in Sekundenschnelle ab, und erfordert minimale Nutzerinteraktion. Einfach nur eine Sprachnachricht senden, und schon hast du einen Post. So hab ich es mir vorgestellt.
Technische Komponenten im Detail
1// Beispiel für die Verarbeitung einer Sprachnachricht
2pub async fn transcribe_voice_note(path: PathBuf, api_key: String) -> anyhow::Result<String> {
3 let client = OpenAIClient::builder()
4 .with_api_key(api_key)
5 .build()
6 .ok()
7 .with_context(|| "")?;
8
9 let path = format!("{}", path.display());
10 dbg!(path.clone());
11 let req = AudioTranscriptionRequest::new(path, WHISPER_1.to_string());
12
13 let result = client.audio_transcription(req).await?;
14
15 Ok(result.text)
16}
17//....
18pub async fn make_summary(
19 from_user: String,
20 text: String,
21 api_key: String,
22 rewrite_enabled: bool,
23) -> anyhow::Result<String> {
24 let client = OpenAIClient::builder()
25 .with_api_key(api_key)
26 .build()
27 .ok()
28 .with_context(|| "")?;
29
30 let instructions = if rewrite_enabled {
31 SUMMARY_INSTRUCTIONS
32 } else {
33 FORMAT_ONLY_INSTRUCTIONS
34 };
35
36 let msgs = vec![
37 ChatCompletionMessage {
38 role: MessageRole::system,
39 content: chat_completion::Content::Text(instructions.to_string()),
40 name: None,
41 tool_calls: None,
42 tool_call_id: None,
43 },
44 ChatCompletionMessage {
45 role: MessageRole::user,
46 content: chat_completion::Content::Text(text),
47 name: Some(from_user),
48 tool_calls: None,
49 tool_call_id: None,
50 },
51 ];
52
53 let req = ChatCompletionRequest::new(GPT4_O_MINI.to_string(), msgs);
54
55 let result = client.chat_completion(req).await?;
56
57 let last_msg = result.choices.last();
58
59 match last_msg {
60 None => Ok("No summary available".to_string()),
61 Some(last_msg) => Ok(last_msg
62 .message
63 .content
64 .clone()
65 .unwrap_or("No content".to_string())),
66 }
67}
68
69
Hauptfunktionen
Der Bot bietet eine Reihe nützlicher Funktionen:
1. Kostenlose Nutzung
- 5 Minuten freie Transkriptionszeit
- Perfekt zum Testen und Evaluieren
- Keine Kreditkarte erforderlich
2. Flexible API-Integration
- Möglichkeit zur Nutzung eigener OpenAI API-Keys
- Integration mit Typefully für das Scheduling von Posts
- Option das umschreiben zu aktivieren / deaktivieren
3. Datenschutz und Sicherheit
- Automatische Löschung von Sprachnachrichten
- Verschlüsselte Übertragung
- Nutzung eigener OpenAI API Keys
Praktische Anwendungsfälle
Der Bot eignet sich besonders für:
-
Content Creator unterwegs
- Schnelles Festhalten von Ideen
- Direkte Umwandlung in Post-Drafts
- Keine zusätzliche App erforderlich
-
Mehrsprachige Inhalte
- Automatische Spracherkennung
- Unterstützung verschiedener Sprachen
- Konsistente Formatierung
Technische Umsetzung
Der Bot wurde mit modernsten Technologien entwickelt:
- Rust für maximale Performance und Sicherheit
- SQLX für effiziente Datenspeicherung
- Docker für einfache Deployment-Optionen
Die Architektur wurde mit Fokus auf:
- Performance
- Robustheit
- Sicherheit
entwickelt.
Fazit und Ausblick
Die Kombination aus Telegram Bot, KI-gestützter Spracherkennung und automatisierter Post-Erstellung eröffnet neue Möglichkeiten für effizientes Content posting on the go. Die Zeitersparnis ist beachtlich:
- Keine manuelle Transkription mehr
- Automatische Formatierung und Optimierung
- Direkte Integration in den Publishing-Workflow
- Gedanken schnell und effektiv in Social Media Content umwandeln
Nächste Schritte
Der Bot kann theoretisch viel weiter entwickelt werden.
"Die Zukunft der Content-Erstellung liegt in der intelligenten Automatisierung von Workflows."
Möchten Sie den Bot selbst testen? Er ist sofort einsatzbereit und kostenlos für die ersten 5 Minuten Transkriptionszeit. Gehen Sie auf Telegram und starten Sie einfach mit dem Befehl /start
und entdecken Sie, wie einfach das ganze funktioniert.
Der Source Code ist auf Github verfügbar. Alternativ kannst du den Bot auch direkt auf Telegram testen.