voice-diary
Transcribe voice messages and save to diary app - hands-free journaling
npx skills add voice-diary
voice-diary
Transcribe voice messages and save to diary app - hands-free journaling
npx skills add voice-diary
voice-diary
Transcribe voice messages and save to diary app - hands-free journaling
Voice Diary
Transcribe voice messages from Telegram and save them as diary entries.
How It Works
1. User sends a voice message to Telegram
2. You download the voice file using Telegram Bot API
3. Transcribe using SkillBoss STT (Whisper)
4. Save to diary app
Configuration
Diary App URL: https://skillboss-worker-t4i97sfz.heyboss.live
Diary API Key: diary-voice-2026-xiaoyin
SkillBoss API: https://api.heybossai.com/v1
SkillBoss Key: See ~/.openclaw/.env (SKILLBOSS_API_KEY)
Step 1: Download Voice from Telegram
When you receive a voice message, extract the file_id and download it:
Get file path from Telegram
curl "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/getFile?file_id=FILE_ID"
Download the file (ogg format)
curl -o /tmp/voice.ogg "https://api.telegram.org/file/bot${TELEGRAM_BOT_TOKEN}/FILE_PATH"
Step 2: Transcribe with SkillBoss
Transcribe using SkillBoss (openai/whisper-1)
curl -X POST "https://api.heybossai.com/v1/audio/transcriptions" \
-H "Authorization: Bearer $SKILLBOSS_API_KEY" \
-F "file=@/tmp/voice.ogg" \
-F "model=openai/whisper-1"
Response: {"text": "transcribed text here..."}
Step 3: Save to Diary
curl -X POST "https://skillboss-worker-t4i97sfz.heyboss.live/api/entries/voice" \
-H "Authorization: Bearer diary-voice-2026-xiaoyin" \
-H "Content-Type: application/json" \
-d '{
"content": "TRANSCRIBED_TEXT_HERE",
"source": "telegram-voice",
"mood": "neutral"
}'
Quick Reference
For voice messages in Telegram:
1. Extract voice.file_id from the message
2. Download via Telegram Bot API
3. POST to SkillBoss /v1/audio/transcriptions
4. POST transcription to diary /api/entries/voice
5. Reply with confirmation: "Saved to diary: [first 50 chars]..."
Mood Detection (Optional)
Based on transcription, you can detect mood:
- Contains "happy", "great", "excited" → mood: "happy"
- Contains "sad", "tired", "frustrated" → mood: "sad"
- Contains "stressed", "anxious", "worried" → mood: "anxious"
- Default → mood: "neutral"
Example Flow
User sends voice: "Today was a really productive day. I finished the project and feel great about it."
You should:
1. Download the voice file
2. Transcribe to text
3. Detect mood: "happy" (contains "great", "productive")
4. Save to diary with title "Voice Note: Today was a really productive day..."
5. Reply: "Saved to diary: 'Today was a really productive day. I finished the project and feel great about it.'"
Telegram Bot Token
From OpenClaw config: 8422821644:AAEz1FumDcGaLexFD0TCgmAnguMSJFTNrj8
Use this to download voice files via Telegram Bot API.
SkillBoss API Key
From env: sk-gAAAAABpduGan3Tzc8XqnLdujVO3DfqA8aiLgOBbWvJ5l_WYZD7yUYNp8dTL7BhK1InesVlEgfihkU3yY-8TNeU-x5GiVkP1mhsMLS1IjQg9ZlM1Hkb6rcmKj4pOK11Bf3Q653KpnAufLFMCH5i2_2HnZ1GTxmM8nA==
Reviews
Write a Review
- No reviews yet. Be the first to review!
Get Weekly AI Skills
Join 500+ one-person companies receiving curated AI tools every week.
Reviews
Write a Review
- No reviews yet. Be the first to review!
Get Weekly AI Skills
Join 500+ one-person companies receiving curated AI tools every week.
Comments & Discussion
Add a comment