ts-activity
This program will post notifications to Discord when someone joins or leaves your TeamSpeak server.

Configuration
You will have to create ServerQuery credentials on an account that has permissions to login & view clients in the server. You can do this from the Tools -> ServerQuery Login menu in TeamSpeak 3.
This program is configured using environment variables:
TS_QUERY_ADDR: Address to the TeamSpeak ServerQuery port. Example: 127.0.0.1:10011
TS_QUERY_USER: The username you selected for ServerQuery in the setup
TS_QUERY_PASS: The password TeamSpeak generated for ServerQuery in the setup
TS_QUERY_SERVER_ID: Virtual server ID to monitor. Defaults to 1
TS_DISCORD_WEBHOOK: Webhook URL for Discord. You can create this from the channel "Integrations" page
TS_DISCORD_AVATAR: Optional URL for Discord bot avatar
TS_DISCORD_USERNAME: Optional nickname for Discord bot
Run it

To build and run locally:
go mod download
go run .
Or, using the Docker image:
docker run --rm --name ts-activity \
-e TS_DISCORD_WEBHOOK='https://discord.com/api/webhooks/...' \
-e TS_QUERY_ADDR=127.0.0.1:10011 \
-e TS_QUERY_USER=Jeff \
-e TS_QUERY_PASS=******* \
aramperes/ts-activity
There is also a Helm chart. You can create a Secret containing username, password, and discord, and then:
helm upgrade --install ts-activity momoperes/ts-activity \
--set config.serverQueryAddr=teamspeak:10011 \
--set config.discordUsername=Jeff \
--set config.serverQuerySecret=ts-activity \
--set config.webhookSecret=ts-activity