-
Notifications
You must be signed in to change notification settings - Fork 0
sl config
This guide will give you a detailed information how to configure the script to your needs.
A good start to configure a script is to understand its functionality. Here are a few small points which are important if you want to set everything up correctly.
- The script checks all clients it has to list and their online status right when the script starts to build an initial list that is displayed in the selected channel. After that, different events trigger a new check. To mention some events: a client joins/leaves, a client switches rooms, a client sets themself to mute/deaf/away, etc [...]
- Since there is no way of retrieving usernames from offline clients, the script stores each relevant client in a storage so their name and information is also available if the client is not online. This means that a client you want to list has to be online at least once while the bot is running with the script while the client has a relevant staff group.
- Groups that are set up but don't have any clients stored by the script are considered empty. There is a config option to display those with a custom text. Otherwise they will be skipped and not be displayed in the channel.
- Clients that are listed within a staff group are sorted by their status (online, away, offline) and alphabetically.
- The script detects a lot of misconfiguration and provides standard values. Just make sure to fill out each field marked with (*). If there is a severe error that affects the script's functionality, it will be written in the log and the script won't be executed.
- Last but most important thing: the staff groups you define in the configuration are prioritized from top to bottom. There is a config option to choose if a client should be displayed in the staff group with the highest priority only or in all of the relevant groups.
The first section is all about the general options. You configure every basic aspect of the script here.
Please click the option you want to configure to get more information.
Display-Channel
Details:
- required option | default value:
none - enter the channel ID
- you can also select the channel from a dropdown menu if the bot is connected to the TeamSpeak server
Info:
- defines the channel in the TeamSpeak where the list should be displayed in
- it will use the channel description for it
- all other parameters of the channel such as the name, the codec and others are untouched
Clickable-Names
Details:
- optional option | default value:
Yes - select
YesorNo
Info:
- defines if usernames in the list should be formatted as hyperlinks
- hyperlink usernames can be used to edit groups, send messages and other actions right from the list
- uses the same menu as when you rightclick a client in TeamSpeak by yourself
- if you choose no, it will just use plain text
Show-Multiple-Groups
Details:
- optional option | default value:
No - select
YesorNo
Info:
- defines if clients with multiple relevant staff groups should be displayed in all of them
- if you choose no, the client will only be shown in the group with the highest priority from the config (the one that comes first)
Away-Status
Details:
- optional option | default value:
No - select
YesorNo
Info:
- defines if the script should check for the away status of clients to display it instead of online or offline
- you can configure what counts as away later and also format how it looks like
Advanced Options:
-
the following options are only shown if you selected
Yesfor the Away-StatusAway-Channels
Details:
- optional option | default value:
No - select
YesorNo
Info:
- defines whether a client is set to away if they enter any afk channel
Advanced Options:
-
the following option is only shown if you selected
Yesfor Away-ChannelsAFK-Channels
Details:
- required option | default value:
none - enter the channel IDs
Info:
- defines the afk channels on the TeamSpeak where clients that are away usually go
- if a client joins one of the channels, they will be set to away in the list
- required option | default value:
Away-Mute
Details:
- optional option | default value:
unchecked - check/uncheck the box
Info:
- defines if a muted client is counted as away
- deactivated microphone does not count towards this
Away-Deaf
Details:
- optional option | default value:
unchecked - check/uncheck the box
Info:
- defines if a client that set themself to deaf is counted as away
- deactivated speakers do not count towards this
- optional option | default value:
Remove-Command
Details:
- optional option | default value:
No - select
YesorNo
Info:
- defines if there should be a command to manually remove a client from the staff list & script database
- this can be used to manually remove a client from the database if you removed a group while they were offline for example
Advanced Options:
-
the following options are only shown if you selected
Yesfor the Remove-CommandCommand
Details:
- optional option | default value:
!remove - enter the command text
- it's case sensitive
Info:
- defines the phrase that should be the remove command
Server
Details:
- optional option | default value:
unchecked - check/uncheck the box
Info:
- defines if the bot should listen to the command when it's sent in the server chat
Channel
Details:
- optional option | default value:
unchecked - check/uncheck the box
Info:
- defines if the bot should listen to the command when it's sent in the channel chat
Private
Details:
- optional option | default value:
unchecked - check/uncheck the box
Info:
- defines if the bot should listen to the command when it's sent in the private chat
Clients
Details:
- semi-required option | default value:
none - enter the client UIDs
Info:
- defines if a client has the permission to use the remove command
- at least one client must be defined if no group is whitelisted for the command
- if no clients or groups are whitelisted, the feature will be disabled automatically
Groups
Details:
- semi-required option | default value:
none - enter the group IDs
Info:
- defines if a group has the permission to use the remove command
- at least one group must be defined if no client is whitelisted for the command
- if no clients or groups are whitelisted, the feature will be disabled automatically
Permission-Text
Details:
- optional option | default value:
You don't have permission to perform this command! - enter the message text
Info:
- defines the message that should be send to the command invoker if they don't have the required permission to execute the command
- this will be send in a private message
Missing-Argument-Text
Details:
- optional option | default value:
Not enough arguments! You have to add a client UID to the command! Usage: !remove <client UID> - enter the message text
Info:
- defines the message that should be send to the command invoker if they didn't provide any arguments to the command
- this will be send in a private message
Invalid-UID-Text
Details:
- optional option | default value:
"%arg%" is not a valid client UID! Make sure to send the correct one. - enter the message text
- available placeholders:
- %arg% - entered argument
Info:
- defines the message that should be send to the command invoker if the provided argument is not a valid client UID
- this will be send in a private message
Not-Found-Text
Details:
- optional option | default value:
The client (%uid%) was not found in the database! Make sure to send the correct UID. - enter the message text
- available placeholders:
- %uid% - uid of the target client
Info:
- defines the message that should be send to the command invoker if the target client was not found in the database
- this will be send in a private message
Success-Text
Details:
- optional option | default value:
The client (%uid%) was successfully removed! - enter the message text
- available placeholders:
- %uid% - uid of the target client
Info:
- defines the message that should be send to the command invoker if the target client was successfully removed from the database
- this will be send in a private message
- optional option | default value:
DB-Remove-Command
Details:
- optional option | default value:
No - select
YesorNo
Info:
- defines if there should be a command to manually drop the whole script database
- this can be used to manually reset the script without touching any of the config options
Advanced Options:
-
the following options are only shown if you selected
Yesfor the DB-Remove-CommandCommand
Details:
- optional option | default value:
!removedatabase - enter the command text
- it's case sensitive
Info:
- defines the phrase that should be the database remove command
Server
Details:
- optional option | default value:
unchecked - check/uncheck the box
Info:
- defines if the bot should listen to the command when it's sent in the server chat
Channel
Details:
- optional option | default value:
unchecked - check/uncheck the box
Info:
- defines if the bot should listen to the command when it's sent in the channel chat
Private
Details:
- optional option | default value:
unchecked - check/uncheck the box
Info:
- defines if the bot should listen to the command when it's sent in the private chat
Clients
Details:
- semi-required option | default value:
none - enter the client UIDs
Info:
- defines if a client has the permission to use the database remove command
- at least one client must be defined if no group is whitelisted for the command
- if no clients or groups are whitelisted, the feature will be disabled automatically
Groups
Details:
- semi-required option | default value:
none - enter the group IDs
Info:
- defines if a group has the permission to use the database remove command
- at least one group must be defined if no client is whitelisted for the command
- if no clients or groups are whitelisted, the feature will be disabled automatically
Permission-Text
Details:
- optional option | default value:
You don't have permission to perform this command! - enter the message text
Info:
- defines the message that should be send to the command invoker if they don't have the required permission to execute the command
- this will be send in a private message
Empty-Database-Text
Details:
- optional option | default value:
The database is already empty! - enter the message text
Info:
- defines the message that should be send to the command invoker if the script database is already empty
- this will be send in a private message
Success-Text
Details:
- optional option | default value:
The database was successfully dropped! %amount% entries have been removed. - enter the message text
- available placeholders:
- %amount% - amount of removed entries
Info:
- defines the message that should be send to the command invoker if the database was successfully dropped/removed
- this will be send in a private message
- optional option | default value:
The next section is all about how the staff list looks and what should be written into it.
Please click the option you want to configure to get more information.
Custom-Template
Details:
- optional option | default value:
No - select
YesorNo
Info:
- this is an advanced option and will change a lot in the script so read carefully
- defines if the script should use a custom template from the config to display the staff list
- if you use the custom template, you can configure every formatting aspect of the staff list yourself
- if you don't use the custom template, the list will be formatted in the default way
- you can still customize the list a bit
- specific strings such as the online, away and offline phrases are still editable
Preview:
-
these two preview images show how the staff list could look like, with and without the custom template
-
as you can see, the custom template offers editing nearly every aspect of the list
with custom template

without custom template

Next up, you should open the section depending on the option you chose for the template as you will have different options for each template setting.
All texts you can edit support BB code formatting, that's the same formatting style TeamSpeak uses. There is also an editor for it built into TeamSpeak if you edit a channel description and click on the pop-out editor.
where do I find the BB code editor

Custom-Template - Yes
-
the following options are only shown if you selected
Yesfor the Custom-TemplateUsername
Details:
- optional option | default value:
[B]%name%[/B] - enter the username format text
- available placeholders:
- %name% - the name of the client
Info:
- defines the format of a username and how it's shown in the staff list
- this is only a part of the whole line
- if you want to edit the whole line, you have to configure the User-Line option
- keep in mind that not all BB code formatting works if the usernames are clickable hyperlinks
Online-Phrase
Details:
- optional option | default value:
[COLOR=#00ff00][B]ONLINE[/B][/COLOR] - enter the online status format text
Info:
- defines the format of the status phrase if the client is online
- this is only a part of the whole line
- if you want to edit the whole line, you have to configure the User-Line option
Away-Phrase
Details:
- optional option | default value:
[COLOR=#c8c8c8][B]AWAY[/B][/COLOR] - enter the away/afk status format text
- this option is only shown if you selected
Yesfor the Away-Status
Info:
- defines the format of the status phrase if the client is away/afk
- this is only a part of the whole line
- if you want to edit the whole line, you have to configure the User-Line option
Offline-Phrase
Details:
- optional option | default value:
[COLOR=#ff0000][B]OFFLINE[/B][/COLOR] - enter the offline status format text
Info:
- defines the format of the status phrase if the client is offline
- this is only a part of the whole line
- if you want to edit the whole line, you have to configure the User-Line option
User-Line
Details:
- optional option | default value:
%name% [COLOR=#aaff00][B]>[/B][/COLOR] %status% - enter the user line format text
- available placeholders:
- %name% - the formatted username from the option Username
- %status% - the formatted online status from the options Phrase-Online, Phrase-Away & Phrase-Offline
- %lb% - a linebreak, same like pressing the Enter-key in a text file
Info:
- defines the format of a user line and how it's shown in the staff list
- this uses the earlier defined phrases as placeholders so it doesn't matter if you formatted them earlier or here but it is recommended to only format once to avoid interference
- this option can be used to align the line or for other options that are then applied to the whole line
- keep in mind that there is always a line break at each end of the lines by default so the next client in the next line
Group-Section
Details:
- optional option | default value:
[center]%group%%lb%%users%____________________[/center] - enter the group section format text
- available placeholders:
- %group% - the formatted group name, you can set this in the staff groups later
- %users% - the formatted user lines from the option User-Line
- %lb% - a linebreak, same like pressing the Enter-key in a text file
Info:
- defines the format of a whole group and how it's shown in the staff list
- this uses the earlier defined phrases as placeholders so it doesn't matter if you formatted them earlier or here but it is recommended to only format once to avoid interference
- this option can be used to align the whole group section or for other options that are then applied to the whole group
- you can also globally format the group name here, specific formats for each group name can be done later in the staff groups settings
- optional option | default value:
Custom-Template - No
-
the following options are only shown if you selected
Nofor the Custom-TemplateSeparator
Details:
- optional option | default value:
_______________________________________ - enter the separator format text
Info:
- defines the format of a separator and how it's shown in the staff list
- this is attached after each group section so they are separated in the list
Online-Phrase
Details:
- optional option | default value:
[COLOR=#00ff00][B]ONLINE[/B][/COLOR] - enter the online status format text
Info:
- defines the format of the status phrase if the client is online
- this is attached after the username and a dash to separate the name from the status
Away-Phrase
Details:
- optional option | default value:
[COLOR=#c8c8c8][B]AWAY[/B][/COLOR] - enter the away/afk status format text
- this option is only shown if you selected
Yesfor the Away-Status
Info:
- defines the format of the status phrase if the client is away/afk
- this is attached after the username and a dash to separate the name from the status
Offline-Phrase
Details:
- optional option | default value:
[COLOR=#ff0000][B]OFFLINE[/B][/COLOR] - enter the offline status format text
Info:
- defines the format of the status phrase if the client is offline
- this is attached after the username and a dash to separate the name from the status
- optional option | default value:
There are three more options for Text & Format that are not related to the template option.
Empty-Groups
Details:
- optional option | default value:
No - select
YesorNo
Info:
- defines whether an empty group is still shown in the list
- a group is considered empty if no client is assigned or stored to it
Advanced Options:
-
the following option is only shown if you selected
Yesfor the Empty-GroupsEmpty-Groups-Text
Details:
- optional option | default value:
[COLOR=#aa007f][size=12][B]%name%[/B][/size]\n[/COLOR][COLOR=#c8c8c8][B]NOT ASSIGNED[/B][/COLOR] - enter the empty group format text
- available placeholders:
- %group% - the formatted group name, you can set this in the staff groups later
- %lb% - a linebreak, same like pressing the Enter-key in a text file
Info:
- this will be the text that is written into the list if the group is considered empty
- a group is considered empty if no client is assigned or stored to it
- this text is not related to the template option, you have to format it on your own
- the name of the group is not displayed automatically, you have to add it with the placeholder
- this will let you customize the whole format of the section of the group
- optional option | default value:
Header
Details:
- optional option | default value:
No - select
YesorNo
Info:
- defines whether a header should be shown above the staff list
- this text is static and won't be updated when the staff list is refreshed by the script
- you can place normal channel info here that is not messed up by the script
Advanced Options:
-
the following option is only shown if you selected
Yesfor the HeaderHeader-Text
Details:
- optional option | default value:
This is the staff list of the server!\nYou can see if a specific team member is online, afk or offline. - enter the header text
- available placeholders:
- %lb% - a linebreak, same like pressing the Enter-key in a text file
Info:
- this will be the text that is written above the staff list
- this text is not related to the template option, you have to format it on your own
- there is no automatic linebreak at the end of the header to make it as customizable as possible
- optional option | default value:
Footer
Details:
- optional option | default value:
No - select
YesorNo
Info:
- defines whether a footer should be shown underneath the staff list
- this text is static and won't be updated when the staff list is refreshed by the script
- you can place normal channel info here that is not messed up by the script
Advanced Options:
-
the following option is only shown if you selected
Yesfor the FooterFooter-Text
Details:
- optional option | default value:
Have fun on our server! - enter the footer text
- available placeholders:
- %lb% - a linebreak, same like pressing the Enter-key in a text file
Info:
- this will be the text that is written underneath the staff list
- this text is not related to the template option, you have to format it on your own
- there is no automatic linebreak at the beginning of the footer to make it as customizable as possible
- optional option | default value:
The last section is all about the staff groups. You can set individual settings for each group here. These are the groups that are displayed in the staff list.
Please click the option you want to configure to get more information.
ID
Details:
- required option | default value:
none - enter the group ID
Info:
- if you don't enter an ID of a group or the ID does not refer to a valid group, the corresponding staff group will be skipped and not be listed
Name
Details:
- optional option | default value: name of the group
- enter the name
Info:
- if you leave this field empty, the script will use the normal name of the group
- this can be used to format the name for each group individually for example making it more colorful or giving it a different name in the list than it actually has on the TeamSpeak
Clients
Details:
- optional option | default value:
none - enter the client UIDs
Info:
- this list does not need the UIDs of clients that are already members of the main group
- this can be used if you want to list clients in the same section although they don't have the main group
Groups
Details:
- optional option | default value:
none - enter the group IDs
Info:
- this list does not need the ID of the main group
- this can be used if you want to list groups in the same section although they don't have the main group