feat: Implement multi-voice support and management
Refactor the TTS handling to support multiple, user-selectable voices. This replaces the previous single-voice system. Key changes: - Introduce VoiceManager to handle loading and managing voices from a dedicated oices/ directory. - Add slash commands (/voice list, /set, /current, /refresh) for users to manage their personal TTS voice. - Implement on-demand voice loading to improve startup time and memory usage. - Remove the old ts_handler.py and single voice .wav files in favor of the new system. - Update configuration to specify a voices directory instead of a single file path.
This commit is contained in:
37
pockettts.service
Normal file
37
pockettts.service
Normal file
@@ -0,0 +1,37 @@
|
||||
[Unit]
|
||||
Description=Pocket TTS Discord Bot
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
# Replace with your username
|
||||
User=YOUR_USERNAME
|
||||
Group=YOUR_USERNAME
|
||||
|
||||
# Replace with the actual path to your bot directory
|
||||
WorkingDirectory=/home/YOUR_USERNAME/PocketTTSBot
|
||||
|
||||
# Use the Python from the virtual environment
|
||||
ExecStart=/home/YOUR_USERNAME/PocketTTSBot/venv/bin/python bot.py
|
||||
|
||||
# Restart on failure
|
||||
Restart=on-failure
|
||||
RestartSec=10
|
||||
|
||||
# Give the bot time to gracefully shutdown
|
||||
TimeoutStopSec=30
|
||||
|
||||
# Logging
|
||||
StandardOutput=journal
|
||||
StandardError=journal
|
||||
SyslogIdentifier=pockettts
|
||||
|
||||
# Security hardening (optional but recommended)
|
||||
NoNewPrivileges=true
|
||||
ProtectSystem=strict
|
||||
ProtectHome=read-only
|
||||
ReadWritePaths=/home/YOUR_USERNAME/PocketTTSBot/voices
|
||||
PrivateTmp=true
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user