Resource icon

TeamSpeak 3 Modular Bot - C# BETA

No permission to download
Additional Requirements
.NET 4.6.1 or newer runtime & compiler
TS3 Modular Bot


A simple to use auto loading bot with many features!


This module requires the following modules/libraries:


Download latest version of Modular Bot and build it. After you are done, you have a working bot with examples


Create a file called __config.json__ and paste in this code and edit it by your login details...:
    "Username": "serveradmin",
    "Password": "password",
    "Host": "",
    "Port": 10011,
    "DisplayName": ".NET modular bot",
    "ServerPort": 9987
Injectable data types (in Command's parameter)

  • MessageReceivedEventArgs - whole received command
  • string[] or List<string> - All the parameters passed separated by space
  • uint - clientID of client who executed the command
  • PluginManager - Class used to manage plugins
  • MessageTarget - Enum value that contains on which type of chat the command was received
  • string
  1. if it has no default value set it is used as a required parameter
  2. if default value is null, it means that it is an optional parameter
  3. if name of the string is uniqueid then the bot injects invoker's UID
  4. if name of the string is clientnickname then the bot injects invoker's nickname
  5. if invoker didn't pass enough parameters it will execute the onFailedMessage string
Example Plugin
 //You must derive from Plugin class otherwise it will not be loaded.
 public class MyPlugin : Plugin
    public MyPlugin(QueryRunner queryRunner) : base(queryRunner)
    //Can be used for initializing since it is a constructor

    //Author of plugin; Not required
    public override string Author => "Only ME";

    //Limits execution for specified groups
    [ServerGroups("Server Admin", "Normal")]
    //Implements chat command itself
    //string Command - it is the command itself (if you want more on a single method, use more ClientCommand classes)
    //MessageMode = MessageMode.All - defines on which type of chat it will be triggered (it is bit based enum, so bitwise operators can be used)
    //string onFailedMessage = null - replied to a executing user when he does not input enough parameters (defined by string parameters without default value)
    [ClientCommand("hello", MessageMode.Private | MessageMode.Channel)]
    public void SendMessage(string clientNickname, uint clId, string input = null)
        Ts3Instance.SendTextMessage(MessageTarget.Client, clId,
            $"Hello {clientNickname}. {(input != null ? "You just said: " + input : "")}");
  • Like
Reactions: Cepkin
First release
Last update
0.00 star(s) 0 ratings

More resources from Najsr