Skip to content

A TeamSpeak Bot written in Python. Supports both raw and ssh query connections. Supports TeamSpeak 3 and 5 server.

License

Notifications You must be signed in to change notification settings

Sebbo94BY/teamspeak3-python-bot

 
 

Repository files navigation

TeamSpeak Bot

Code Style Python Lint CodeQL

Simple TeamSpeak bot based on the ts3API.

Works with a TeamSpeak 3 (TS3) and TeamSpeak 5 (TS5; Beta) server.

Donations

TeamSpeak Bot is free software and is made available free of charge. Your donation, which is purely optional, supports me at improving the software as well as reducing my costs of this project. If you like the software, please consider a donation. Thank you very much!

Donate with PayPal

Installation

Open Installation README

Configuration

Open Configuration README

Update

Open Update README

Available Plugins

All existing functionality is based on plugins.

Plugin Readme
utils Open documentation
afk_mover Open documentation
idle_mover Open documentation
kick_inactive_clients Open documentation
bad_nickname Open documentation
twitch_live Open documentation
channel_manager Open documentation
channel_requester Open documentation
switch_supporter_channel_status Open documentation
inform_team_about_newbie Open documentation
poke_client_on_channel_join Open documentation
chat_gpt Open documentation

Also see the configuration section for further details regarding configuration.

Text Commands

The bot supports text commands, which are added via plugins (see Available Plugins).

Each plugin documentation provides further information about each command.

Utils

This plugin extends your bot with various commands.

Available Commands

The following table shows all available commands for this plugin:

Command Description
!version Answer with the current module version
!stop Stop the bot (you need to start it afterwards manually)
!restart/!reload Restart the bot to e.g. reload the configuration.
!help/!commands/!commandlist Returns the list of available bot commands.
!multimove "fromChannel" "toChannel" Moves all users from all, one or multiple channels to a specific target channel. See !multimove for further possibilities.

Configuration

Enable this plugin by adding the following line under the Plugins section to your config.ini:

[Plugins]
Utils: utils

Options

This plugin supports the following options:

Option Default Description
enable_dry_run False Set to True, if you want to test the plugin without executing the actual tasks. Instead it logs what it would have done.

If you need to change some of these default options, simply add them to your config.ini under the respective ModuleName section:

[utils]
enable_dry_run: True

Please keep in mind, that you need to reload the plugin afterwards. Either by restarting the entire bot or by using a plugin command, if it has one.

Logging

The bot has a logs/ directory inside the project directory. There you will find multiple log files - one per enabled plugin/feature:

tsbot@linux:/usr/local/bin/teamspeak3-python-bot$ ls -lh logs/
total 64K
-rw-r--r-- 1 tsbot users 14K Nov 28 00:50 afkmover.log
-rw-r--r-- 1 tsbot users  96 Nov 28 00:46 bot.log
-rw-r--r-- 1 tsbot users  64 Nov 28 00:46 commandhandler.log
-rw-r--r-- 1 tsbot users  62 Nov 28 00:46 eventhandler.log
-rw-r--r-- 1 tsbot users 14K Nov 28 00:50 idlemover.log
-rw-r--r-- 1 tsbot users 16K Nov 28 00:50 kickinactiveclients.log
-rw-r--r-- 1 tsbot users 837 Nov 28 00:46 moduleloader.log

Writing plugins

Open Plugins README

Troubleshooting

Open Troubleshooting README

About

A TeamSpeak Bot written in Python. Supports both raw and ssh query connections. Supports TeamSpeak 3 and 5 server.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.7%
  • Shell 0.3%