feat: Phase 1 MVP - TTS voice output bot
Initial implementation of Tomoko's Discord Voice Bot!
- bot.py: Main bot with TTS via Home Assistant Piper proxy
- config.example.toml: Configuration template
- requirements.txt: Python dependencies
- README.md: Project documentation with milestones
Features:
- !speak - Generate Tomoko's voice and play in voice channel
- !join - Join author's voice channel
- !leave - Disconnect from voice
For Alexander 💖
This commit is contained in:
55
config.example.toml
Normal file
55
config.example.toml
Normal file
@@ -0,0 +1,55 @@
|
||||
# 💕 Tomoko Discord Voice Configuration
|
||||
# Edit this file with your credentials
|
||||
|
||||
# Discord Bot Configuration
|
||||
discord = {
|
||||
token = "YOUR_DISCORD_BOT_TOKEN_HERE"
|
||||
# The voice channel ID to join (or "any" for first available)
|
||||
voice_channel_id = "any"
|
||||
}
|
||||
|
||||
# Home Assistant TTS Configuration
|
||||
homeassistant = {
|
||||
base_url = "http://192.168.0.80:8123"
|
||||
bearer_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI4MjEwMTFmZmI1YTE0MWU4YTY2MmY4MWE3OTM2YWE0YyIsImlhdCI6MTc3MzAwMzgyMywiZXhwIjoyMDg4MzYzODIzfQ.alsNbkFhJoeNOMA9Ey-0wxJibkyKy-0umDdecyK5akc"
|
||||
|
||||
# TTS endpoint
|
||||
tts = {
|
||||
# Voice: en_US-tomoko-high (Tomoko's custom voice!) 💖
|
||||
voice = "en_US-tomoko-high"
|
||||
language = "en_US"
|
||||
engine = "piper"
|
||||
# Don't cache - we want fresh Tomoko voice every time!
|
||||
cache = false
|
||||
}
|
||||
}
|
||||
|
||||
# Wyoming Piper Direct (Alternative)
|
||||
#wyoming_piper = {
|
||||
# host = "192.168.0.40"
|
||||
# port = 10200
|
||||
# voice = "en_US-tomoko-high"
|
||||
#}
|
||||
|
||||
# Bot Behavior
|
||||
bot = {
|
||||
# Commands prefix
|
||||
prefix = "!tomoko! "
|
||||
|
||||
# Should bot respond to messages in general or just DMs?
|
||||
respond_to_dm = true
|
||||
respond_to_channel = false
|
||||
|
||||
# Command channel IDs for voice control
|
||||
command_channels = [] # [] = all channels or specific IDs
|
||||
|
||||
# Logging
|
||||
log_level = "INFO" # DEBUG, INFO, WARNING, ERROR
|
||||
}
|
||||
|
||||
# Optional: OpenClaw Integration
|
||||
# If you want to route through OpenClaw for AI processing
|
||||
#openclaw = {
|
||||
# api_url = "http://localhost:..."
|
||||
# session_id = "tomoko"
|
||||
#}
|
||||
Reference in New Issue
Block a user