TsPy - TeamSpeak 3 Plugin
Krachtige Python Scripting voor TeamSpeak 3
Download van GitHub🎯 Overzicht
TsPy is een professionele TeamSpeak 3 client plugin die Python scripting mogelijkheden naar je TeamSpeak client brengt. Schrijf aangepaste scripts om taken te automatiseren, reageer op gebeurtenissen en creëer interactieve audio monitoring.
✨ Belangrijkste Functies
Python 3.10+ Integratie
Volledige embedded Python interpreter met aangepaste ts3api
module
Audio Monitoring
Real-time audio niveau visualisatie met PyGame UI
Event Systeem
Reageer op TeamSpeak events (verbindingen, berichten, spraakstatus, etc.)
Command Systeem
Uitbreidbaar command systeem met /tspy
commando's
Moderne Architectuur
Schone, modulaire C11 codebase met CMake build systeem
Uitgebreid Logging
Professioneel logging systeem voor debugging
📋 Vereisten
Build Vereisten
- ✅ CMake 3.20 of hoger
- ✅ Visual Studio 2022 (MSVC 19.39+)
- ✅ TeamSpeak 3 Client (API versie 26)
- ✅ Python 3.10+ (development libraries)
Runtime Vereisten
- ✅ TeamSpeak 3 Client
- ✅ Python 3.10+ (geïnstalleerd op systeem)
- ✅ PyGame (voor audio monitor):
pip install pygame
🚀 Snel Starten
De Plugin Bouwen
# Navigeer naar de project directory
cd E:\Projects\HamRadio\TsPy
# Configureer CMake (alleen eerste keer)
cmake -S . -B build -G "Visual Studio 17 2022" -A x64
# Bouw de plugin
cmake --build build --config Release
# Installeer naar TeamSpeak plugins folder
.\install.ps1
De Plugin Gebruiken
- Start TeamSpeak - De plugin laadt automatisch
- Check status:
/tspy status
in chat - Laad een script:
/tspy python load <script_naam>
- Probeer audio monitor:
/tspy python load audio_monitor
🐍 Python Scripting
Beschikbare API Functies
De ts3api
module biedt deze functies:
import ts3api
# Informatie
client_id = ts3api.get_client_id(server_id)
name = ts3api.get_client_name(server_id, client_id)
# Berichten versturen
ts3api.print_message("Hallo TeamSpeak!")
ts3api.send_channel_message(server_id, "Hallo kanaal!")
ts3api.send_server_message(server_id, "Hallo server!")
# Audio (v1.5.0+)
level = ts3api.get_audio_level(server_id) # Retourneert dB (-60 tot 0)
ts3api.start_recording(server_id)
ts3api.stop_recording(server_id)
# Logging
ts3api.log("Debug bericht", level=0) # 0=INFO, 1=WARNING, 2=ERROR
Event Handlers
Je scripts kunnen deze event handlers implementeren:
def on_connect(server_id, client_id):
"""Wordt aangeroepen wanneer je verbindt met een server"""
print(f"Verbonden met server {server_id}")
def on_disconnect(server_id):
"""Wordt aangeroepen wanneer je verbinding verbreekt"""
print(f"Verbinding verbroken van server {server_id}")
def on_client_move(server_id, client_id, old_channel, new_channel):
"""Wordt aangeroepen wanneer een client van kanaal wisselt"""
print(f"Client {client_id} verplaatst naar kanaal {new_channel}")
def on_text_message(server_id, from_id, to_id, target_mode, message):
"""Wordt aangeroepen bij een tekstbericht"""
print(f"Bericht van {from_id}: {message}")
def on_talk_status_change(server_id, status, client_id):
"""Wordt aangeroepen wanneer iemand start/stopt met praten"""
if status == 1: # STATUS_TALKING
print(f"Client {client_id} is aan het praten")
💡 Voorbeeld Scripts
Simpele Groeter
# greeter.py
import ts3api
def on_connect(server_id, client_id):
ts3api.send_channel_message(
server_id,
"Hallo iedereen! 👋"
)
Echo Bot
# echobot.py
import ts3api
def on_text_message(server_id, from_id,
to_id, target_mode, message):
if not "(auto-reply)" in message:
reply = f"Echo: {message}"
ts3api.send_channel_message(
server_id,
reply
)
🎤 Audio Monitor
Het audio_monitor.py
voorbeeldscript biedt een real-time audio monitoring UI
Functies
- ✅ VU Meter - Real-time microfoon niveau visualisatie (-60dB tot 0dB)
- ✅ Kleurcodering - Groen (veilig), Geel (luid), Rood (clipping)
- ✅ Opname Controle - Klik op knop om spraakopname te starten/stoppen
- ✅ Spraak Status - Live lijst van momenteel pratende clients met indicatoren
Gebruik
# Kopieer eerst het voorbeeld naar je scripts folder:
Copy-Item "examples\audio_monitor.py" "$env:APPDATA\TS3Client\plugins\scripts\"
# Laad het vervolgens in TeamSpeak:
/tspy python load audio_monitor
Een PyGame venster opent met real-time audio monitoring. Druk op ESC of sluit het venster om te stoppen.
⚙️ Beschikbare Commando's
Commando | Beschrijving |
---|---|
/tspy help |
Toon beschikbare commando's |
/tspy status |
Toon plugin status |
/tspy python status |
Toon Python engine status |
/tspy python load <script> |
Laad een Python script |
/tspy python reload <script> |
Herlaad een actief script |
/tspy python unload <script> |
Verwijder een script |
🐛 Probleemoplossing
Plugin laadt niet
- Zorg dat TeamSpeak volledig afgesloten is voor installatie
- Check de TeamSpeak client log:
%APPDATA%\TS3Client\logs\
- Verifieer dat Python 3.10+ geïnstalleerd is en in PATH staat
Python scripts werken niet
- Verifieer Python engine status:
/tspy python status
- Check plugin log:
%APPDATA%\TS3Client\plugins\tspy_plugin.log
- Zorg dat scripts in:
%APPDATA%\TS3Client\plugins\scripts\
staan
Audio monitor problemen
- Installeer pygame:
pip install pygame
- Check microfoon permissies in TeamSpeak
- Verifieer dat je verbonden bent met een server
Build fouten
- Zorg dat Visual Studio 2022 geïnstalleerd is
- Update CMake naar laatste versie
- Verifieer dat Python development libraries geïnstalleerd zijn
- Check Python versie:
python --version
📊 Versie Geschiedenis
v1.5.0 (Huidig) - Audio Monitoring
- ✅ Audio API: get_audio_level, start_recording, stop_recording
- ✅ Spraak status events voor real-time spreker detectie
- ✅ PyGame audio monitor met VU meter en opname controle
- ✅ Kleurgecodeerde visualisatie van audio niveaus
v1.4.0 - Event Systeem Compleet
- ✅ Volledige event dispatcher voor Python scripts
- ✅ 6 event types: connect, disconnect, client_move, text_message, talk_status
- ✅ Loop preventie voor bot berichten
v1.3.1 - Python Commando's
- ✅
/tspy python
commando systeem - ✅ Script laden/herladen/verwijderen
- ✅ Python engine status rapportage
v1.3.0 - Python Integratie
- ✅ Embedded Python 3.10+ interpreter
- ✅ Aangepaste ts3api module met TeamSpeak functies
- ✅ Auto-loading van tspy_init.py
Klaar om te Beginnen?
Download TsPy vandaag en breng Python scripting naar je TeamSpeak!
GitHub Repository Releases