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 💖
56 lines
1.5 KiB
TOML
56 lines
1.5 KiB
TOML
# 💕 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"
|
|
#}
|