TT Utilities bot




TeamTalk utilities


Introduction

TTUtilities is an advanced, Multifeatured, highly customizable bot for TeamTalk5, It contains many features that enhance server moderation, user engagement, and entertainment capabilities. Developed by Blind Masters team , TTUtilities is a free and open-source project, empowering server administrators with a robust toolset to manage their communities effectively

This bot enhances your TeamTalk server experience by providing a range of moderation, entertainment, and administrative features. It’s designed to be easy to use and customize, making it suitable for both casual and serious TeamTalk communities.

One of the bot’s most powerful features is its advanced moderation capabilities. The bot can automatically detect and handle various user behaviors, such as jailing users with specific usernames or nicknames, kicking or banning users based on nickname length or blacklisted words, and even implementing duration-based bans or kicks.

Moreover, the bot can facilitate language translation, making it easier for users from diverse backgrounds to connect and communicate effectively. This feature can be enabled for individual users or set to automatically translate channel messages. This allows administrators to maintain a clean and respectful environment within their TeamTalk5 servers with minimal manual intervention.

TTUtilities also excels in user engagement and entertainment. The bot can send random messages at specified intervals, enriching the server’s atmosphere and keeping users engaged. Users can get real-time weather updates, It also has a built-in Wikipedia search function, allowing users to access information directly. Additionally, The bot integrates with a powerful text-to-speech engine, allowing users to have text messages read aloud, including support for language detection and customizable voice settings.

Beyond its core functionalities, The bot offers a unique private channel feature, enabling two users to create a hidden, password-protected channel for private conversations. Furthermore, the bot includes a media player with YouTube integration, allowing users to play direct links for audio streams, Search in youtube, Downloading videos, And controlling playback, This makes it a multifeatured bot for automation, Moderation, And other tasks.

Features

  • Highly customizable configuration file: Allowing administrators to easily create the configuration and configure nearly every feature in the bot.
  • VPN or proxy detection, With country restrictions.
  • Actions for users with no names.
  • Automatically detecting inappropriate language in all channel messages, Names, And channels created by users.
  • Lots of commands for moderation, Making some moderation tasks even available on other clients such as android and IOS
  • Weather info: Get real-time weather info, Including temperature, Wind info, Cloud, Rain, And local time
  • Wikipedia search to get a summary about any topic in wikipedia
  • Supports uploading intire html page files about your wikipedia query
  • SSH control to execute quick commands on your server
  • Advanced text to speech system, with over 100 voices and many customization, and language detection
  • Sending random announcements or messages at intervals, completely customizable
  • Smart jail system with jail flood protection for users who try to bypass the jail within a specified period.
  • Smart duration baced kicking or banning for users.
  • Custom exclusion list for usernames, IP addresses and nicknames.
  • Automatic translation with 2 customizable modes
  • Fully functional media player, With support for downloading videos, Playing direct links, And search in youtube.
  • Offline message system for offline users.
  • Supports windows and linux.

Download

There are 2 versions. Please download according to your platform.

Download for windows (64 Bit only)
Download for linux

Setup

Running on windows using the compiled version

Follow the below instructions carefully to avoid any errors.

After downloading the bot: Decompress the downloaded file. You’ll find a subfolder named “windows”, Inside it you’ll find everything related to the windows version. Click on TTUtilities.exe to start setting up the bot.

Once you open the bot for the first time: It will open up a friendly GUI to configure bot settings. Please pay attention to each option to avoid undesired behavior.

Linux

You will need to do some work in order to run the bot on linux, See below.

Currently: The bot has been tested on ubuntu 22.0 so not sure about other distributions.

  • Open the terminal and connect to your ssh server
  • Switch to the root account
  • Download the file by running the following command
  • wget https://blindmasters.org/TTUtilities/TTUtilities-linux.zip

  • Extract the downloaded file
  • unzip TTUtilities-linux.zip

  • Change to the extracted file by running:
  • cd linux

  • Run the file setup.sh with ./setup.sh. This will install some necessary packages in order for the bot to work correctly
  • Run the following command to configure the bot if you don’t have a config file:
  • python3 TTUtilities.py

This will start up the bot and guide you to configure it. There are various sections and settings, Please pay attention to avoid undesired behavior.

Important note: If you want the bot to run in background and starts whenever the server reboots: You can create a service file for the bot, A service file template is included with the bot, You may edit this file as you wish and copy it into /etc/systemd/system directory.

Running the bot from source

Directly running on windows

Follow the below instructions to setup your bot on windows

1: Install git, necessary for installing some libraries, Download git 64 bit for windows from here

Download git 32 bit for windows from here

2: You need to install python. The recommended version is 3.11, Please do not install the latest version as there are some issues with some dependencies in the latest version.

Download python V 3.12, 64 bit for windows

Please note: when installing python: make sure that the option “add python to path” check box is checked to avoid problems, and to make things much easier for you to execute scripts directly thrugh the command prompt.

3: After completing the above steps: go to the directory where you downloaded the project and open the command prompt in the current directory by:

  • Pressing f4, type “cmd” and press enter
  • Press the right click button or the application key on an empty space, and choose “Open PowerShell window here”, In the new window: type cmd and press enter

4: Install the requirements file using this command

pip install -r requirements.txt

This will install all libraries needed for the bot, Wait for it to finish, and then you can close this window.

Configuring and running the bot

weather API: sign up to get one from here

The bot will guide you through the configuration process the first time you run it. It will ask you a series of questions to set up the bot’s settings. Alternatively, you can use the default config file: “config_default.ini” after you modify it in the bot’s directory. This file contains various sections to configure different aspects of the bot’s behavior.

Server section: Server info

Most options are self explanatory, The only option you may pay attention to is if your server is encrypted

encrypted: Set to True or choose encrypted when asked if your server uses encryption, otherwise False.

Exclusion settings: For excluding IP addresses, Usernames, Or nicknames.

ips: A comma-separated list of IP addresses to exclude from bot actions. Note that the stats IP address is excluded by default.

Similarly: usernames and nicknames for exclusion section do the same purpose.

Bot settings: This list has an extensive list of settings for customizing the main bot’s features.

  • nickname: The nickname the bot will use on the TeamTalk5 server.
  • client_name: The client name displayed for the bot (e.g., “TTUtilities Bot”).
  • gender: Self explanatory.
  • default_channel: The channel path the bot will join after logging in. The default is the root channel: “/”.
  • channel_password: The password for the default channel (if any).
  • status_message: The status message displayed for the bot.
  • vpn_detection: Set to True or answer y when asked to enable VPN detection and automatically ban users using VPNs, Otherwise answer n or uncheck the check box if you’re using the windows version to disable this feature.
  • prevent_noname: Set to True or answer Y when asked to kick users who join without setting a nickname, Otherwise answer n or uncheck the check box to disable this feature.
  • noname_note: The message sent to users kicked for not having a nickname. Leave it as default if you disabled this feature.
  • intercept_channel_messages: Set to True to intercept all channel messages for all users. Useful for detecting bad words in any channel and enabling certain commands to work regardless of the bot’s current channel.
  • jail_users: A comma-separated list of usernames to be jailed. These users will be automatically moved to the jail channel.
  • jail_names: Similar to jail_users, but this list targets nicknames.
  • jail_channel: The channel path to use as the jail.
  • jail_timer_seconds: The timeout in seconds for the jail system. If a jailed user tries to join another channel, they will be moved back to the jail, and this timer will start.
  • jail_flood_count: The number of times a jailed user can try to leave the jail channel within the jail_timer_seconds before being banned.
  • random_message_interval: The time interval in minutes to send random messages from the messages.txt file. Set to 0 or leave it as default to disable.
  • char_limit: The maximum allowed nickname length. Users with longer nicknames will be kicked or banned based on char_limit_mode. Set to 0 to disable.
  • char_limit_mode: Determines the action taken for exceeding char_limit (1 for Kick, 2 for Ban).
  • blacklist_mode: Determines the action taken for using blacklisted words which considered to be inappropriate language (1 for Kick, 2 for Ban).
  • video_deletion_timer: The time in minutes after which uploaded videos are automatically deleted. Set to 0 to disable automatic deletion.
  • banned_countries: A comma-separated list of countries from which users will be banned.

Playback related settings:

  • input_device: The ID of the audio input device to use. You can get a list of available devices using the bot’s audio device selection prompts during the initial configuration.
  • output_device: The index of the audio output device to use for playback. Similarly, you can get a list of available devices using the bot’s audio device selection prompts during initial configuration.
  • seek_step: The amount of time to seek forward or backward in seconds when using the seek commands.
  • default_volume: The default playback volume (0-100).
  • max_volume: The maximum allowed playback volume. It is set to 100 by default. We generally don’t recommend changing this value for normal cases.

telegram_bot_token: Your Telegram Bot token, which can be obtained by creating a bot using BotFather on Telegram. This is optional and is used for sending notifications to Telegram users. See the relevant section below.

Weather API key: used for getting real-time weather updates about a user or yourself. You can get one from

Remote ssh settings: Completely optional. If you don’t want this feature simplly skip this section.

  • hostname: The hostname or IP address of your SSH server.
  • port: The SSH port number (default is 22).
  • username: Your SSH username. We generally don’t recommend using a root account for security reasons.
  • password: Your SSH password.
  • allowed_ips: A comma-separated list of IP addresses that are authorized to execute SSH commands via the bot.

Account and detection settings:

  • detection_mode: Controls which accounts the bot will detect and apply actions to. (1 for Guest Accounts, 2 for All Accounts, 3 for Custom Username Account).
    • guest accounts: means that it will only take actions on users who login with the guest account
    • All accounts: will detect all accounts and take actions accordingly.
    • Custom username: If you have a public account that is different than the guest account: choose this option and enter your public account when configuring the bot
  • custom_username: If detection_mode is set to 3, this field specifies the custom username to detect.
  • authorized_users: A comma-separated list of usernames authorized to execute certain admin commands.
  • detect_server_admins: Set to True or answer Y to automatically detect and add server administrators to the list of authorized users, Otherwise set to False, Answer N or uncheck the check box on windows.

TeamTalk license: Skip this section if you don’t have a license for teamtalk sdk

  • license_name: The name associated with your TeamTalk sdk license.
  • license_key: The license key for your TeamTalk sdk license.

Once you do all the configurations: the bot will run, login to your server, and join the root channel

Feature explanation

Below are explanation for most of the bot’s features, Along with their related commands.

VPN or proxy detection

When enabled: This feature works by querying the IP address of each user when they login. It extracts this info and baced on that: A value is returned from the used API indecading wether if this is a proxy / VPN IP. If so: The bot bans the username associated with IP address.

Please note: If the username is a guest account or a custom username which you put in the config file: Only the IP address will be banned to prevent unnecessary behavior when banning public accounts.

This feature now works independently regardless of the detection mode. You can disable it at anytime from the config file by setting the value for “vpn_detection” to False. Also: If you set the detection mode to 3 and do not disable VPN detection: The bot will also still use this feature until you manually disable it.

Automated announcements

This feature works by getting the content of a defined file in the bot’s directory (messages.txt) to define custom messages or announcements that will be sent at specified intervals or periods of time.

Each message should be on a new line. Multiline messages are not allowed and will be treated as multiple messages. Additionally: You may include a random name in the message by putting {name} at any part of the message. The following example shows how to do that.

Hello {name}. We’re glad that you’re here.

This is the current and only supported variable you may use and it is optional. The file has a set of default messages you may use, or modify.

Important note: Please do not delete this file. If you wish to disable this feature: You can do so when asked about “random_message_interval” when creating the config, Or you can manually modify “random_message_interval” and set it to 0. Deleting the intire file may result in an error.

No-name inforcement

By default: When someone logs in to your server with the default no-name, Or has not set a name: The bot will automatically kick the user after sending a small note in a private message for the reason. This feature can also be disabled, We understand that not everyone know how to change their name, So the bot also allows you to set a custom note that will be sent to users when they enter with no name.

Default welcome messages

When someone logs in: The bot first does some checks on that user. If nothing is found: E.g not a proxy IP, and not a no-name, The bot sends a welcome message informing the server of where that user is from.

This feature takes the detection_mode setting into account, If you set the detection_mode to 3 and did not set a custom public user account: The bot will not send these welcome messages, But will still check the users baced on the configuration.

Nickname limits

Some users may put a very long nickname for several reasons. For example: Spamming, Insulting other users or general using of inappropriate language in their nicknames. For this reason: The bot includes a feature to limit the nickname length and bad words.

Nickname length inforcement is enabled by default, Unless you set it to 0 to disable it. If you set it to 30 for example: All names exceeding 30 characters will automatically be banned or kicked baced on the configuration. Similarly: The bot checks for bad words in the nickname, So if the nickname doesn’t exceed the specified length but includes a bad word: They will be banned or kicked accordingly.

You can of course customize the black listed words in the bot’s directory/blacklist.txt file. Please put each phrase on a new line. Also please do not delete this file. If you wish to completely disable bad words: You may modify this file by deleting it’s contents, But not the file itself.

Translation modes

Private translation mode: Can be enabled by using the command “/pt. When enabled: All private messages sent to the bot are translated into the specified target language, The bot will send the translated message indecading the name of the sender.

This is very useful in scenarios when you wish to speak in your native language but don’t want to translate each message and copy it using an external tool. Please note that there is an aproximitly 2 seconds cooldown to prevent abuse.

Channel translation mode: Can be enabled by using the command “/t. When enabled: All channel or broadcast messages are translated into the specified target language. There is also a 10 seconds cooldown when enabling or disabling this mode to prevent abuse.

Text to speech system

The bot has an advanced text-to-speech system that leverages Microsoft voices to provide high-quality, customizable voice synthesis directly within your TeamTalk server. It offers a variety of commands to control the voice, speech rate, pitch, volume, and even language detection. Users can personalize their listening experience and create unique vocal expressions.

Each user can customize their settings to their needs, And settings are saved for each user independently. Below are the list of related commands.

  • /say : Triggers the bot to speak the provided text in the current channel using the default or previously set voice and parameters.
  • You can also use ‘ as an alias for /say command for faster use.

  • /voice : Sets the voice name for subsequent text-to-speech. Use /get_voices to discover available options. Each user can set their own preferred voice.
  • /get_voices [optional:lang_code]: Displays a list of available voices. If lang_code is provided (e.g., “en-US”), only voices for that language are listed; otherwise, all voices are displayed.
  • Please be aware that if you don’t provide a language code when using this command: The bot will send too many messages at once. This is due to the fact that there are hundreds of voices for different languages. So please be careful when using this.

  • /ld: Toggles automatic language detection for text-to-speech. When active, the bot analyzes the text’s language and chooses a voice that best suits it.
  • When automatic language is active: The bot will use a random voice matching your language each time you request the bot to speak. If no matching microsoft voice is found: The bot uses google voice to speak in your language.

  • /rate : Adjusts the speech rate (speed). rate_value ranges from -100 (slowest) to 100 (fastest).
  • /pitch : Modifies the voice’s pitch. pitch_value ranges from -100 (lowest) to 100 (highest).
  • /volume : Sets the volume of the synthesized speech. volume_value should be a float between 0.1 (quietest) and 1.0 (loudest).

Important notes:

  • The bot and the user need to be in the same channel. Otherwise the bot will inform the user that they can’t use text to speech features outside the bot’s channel to prevent abuse. TeamTalk doesn’t support streaming to other channels other than the current channel.
  • Each user has their own settings for personalized experience: Rate, Pitch, Voice, And volume. Once the user logs out: All settings are deleted to prevent storing settings for none existing users.
  • For default settings: The bot uses a default public dictionary for all users until the user manually modifys the value. If someone changed the volume and you still haven’t modified anything in your settings: The first time you use the text to speech the bot will use the previously set volume. However: Once you change any value: No one can change it unless you logout and therefore your settings are deleted.
  • Use the command “/s” to stop any playing audio or stream. This includes text to speech, Youtube videos, And direct links.

Jail system

The jail system allows you to designate a specific channel as a “jail” and add usernames to a jail list. Any user whose username is on this list will be automatically moved to the jail channel upon joining the server. This is useful for temporarily isolating troublesome users without resorting to outright bans.

There are 2 ways to jail someone. Either by using the below commands, Or by editing the config file and specify the list of usernames / nicknames that will be automatically jailed when joining the server.

Commands:

  • /jail : Adds the username associated with the specified nickname to the jail list and immediately moves the user to the jail channel.
  • /unjail : Removes the username associated with the specified nickname from the jail list. The user can then freely move around the server.
  • /jails: Displays the list of usernames currently on the jail list.

Important note: You need to configure the jail_channel path in the config file in order for the jail to work or create a channel for that.

Jail flood protection

This feature adds an extra layer of control to the jail system. It detects and punishes users who repeatedly attempt to leave the jail channel within a specified timeframe. Here’s how it works:

  1. A user on the jail list attempts to join a channel other than the designated jail.
  2. The bot immediately moves the user back to the jail channel.
  3. A timer starts, counting down from the configured jail_timer_seconds (default is 10 seconds).
  4. Within this timer, each time the user tries to leave again, the attempt is counted.
  5. If the user’s attempt count reaches the jail_flood_count (default is 5) before the timer runs out, the user is banned (by IP or username, depending on the account type) and kicked.

Note: “jail_timer_seconds”: This controls the duration of the timer when a user trys to leave the jail channel. If the timer runs out and the user trys to leave again: The timer and counts will start over.

Duration based kick / ban actions:

This system allows you to kick or ban users for a specific period, providing more flexibility than permanent actions.

You need to be in the authorized users list in order to perform the following commands for controling duration based actions.

When using these commands: The duration has to be in a spicific format explained below. Otherwise the bot will not recognize them.

When typing the duration: You may split the duration into parts like hours, minutes, seconds, days, weeks, months, and years. Each letter belongs to a time period. When typing multiple durations: You must separate them with a colon : . The following list shows time periods and their characters.

  • s: Seconds.
  • m: Minutes.
  • h: Hours.
  • d: Days.
  • w: Weeks.
  • mo: Months.
  • y: Years.

The duration should be a value, And then a letter for the time period. For example: 5s means a duration of 5 seconds. As said above: You can supply multiple durations. Let’s say that you want to ban someone for 5 hours, 48 minutes, and 30 seconds. In this case you will need to supply multiple duration as shown below.

5h:48m:30s

The bot will automatically order the duration, So you don’t need to worry if you don’t type the duration in order. For example: 48m:5h:30s will also work.

Below are the list of commands for duration based kicking or ban.

  • /db : Bans the user with the specified nickname by their IP address for the given duration.
  • /udb : Bans the user with the specified nickname by their username for the given duration. If the user is a guest account or is using a custom username, they will be banned by IP instead.
  • /dk : Kicks the user with the specified nickname for the given duration. The user will be kicked again if they rejoin within this time.
  • /clear will do the following:
    • If no target is provided: This command will clear the list of duration kicks and duration bans for all users. Note that this doesn’t affect manually banned users.
    • If a target is provided: (nickname or username) This command will only clear the duration ban or duration kick for the specified target.

Notification and offline message systems

Telegram notification monitor:

This feature lets you receive notifications on your Telegram account when a specific user logs into the TeamTalk server. This can be useful for tracking the activity of certain users or for being alerted when friends or colleagues come online.

In order for this to work correctly: The administrator, Or may be you: Must create a telegram bot by going to Bot father bot and create a bot there. Just send “/newbot” command and it will guide you to create your bot.

After you obtain your bot token, Which can be found in the final message after you go thrugh these simple steps: You need to copy this token and put it in the config file of the bot, Or when asked initially. This bot is essential because you can’t directly send a telegram message for a target username, The bot is the only way for doing this without logining to your telegram account.

You also need another bot to get your telegram ID for your account which you can receive notifications on. This is necessary because you can’t directly send messages to usernames, You need to get your account ID in order for the bot to successfully send you notifications about a user.

Unfortunately: The official telegram API doesn’t have methods to retrieve the chat ID using a username or any type. There are some alternatives to this but they are too complicated, You can google to learn more. It’s just for everyone to be aware of the current possibilities which you can perform using telegram_bot API.

Please go to Telegram bot raw to get your account ID. Send “/start” to the bot, You’ll find your ID in the second message. Make sure to copy your ID correctly.

There are other ways you can retrieve your account ID, But this is the simplest method for quick use. If you are using “Unigram app” on windows: You can get your telegram ID without having to use external bots.

Below are the list of commands. They require your telegram ID.

  • /notify : Registers a notification request. When the user with the specified nickname logs in, you’ll receive a notification message on the Telegram chat with the provided telegram_chat_id.
  • /unotify : Registers a notification for a specific user by their username instead of their nickname. Useful when you want to be notified even if the user changes their nickname.

Example: /notify Friend123 123456789: You will receive a notification on Telegram when the user “Friend123” logs into the server. The message will be sent to the chat with ID 123456789.

Offline messaging system:

This system provides a way to send messages to users who are not currently online. These messages are stored by the bot and delivered to the target user the next time they log in.

Commands:

  • /pm : Stores a private message for the specified username. The message will be delivered as a private message to the target user when they next log in.
  • /messages: This command will send you the pending messages waiting to be delivered that are sent by you.

Note that you can’t send more than one offline message per user. You still can send multiple messages for multiple users, But you can’t send more than one message to a user until they login and receive your message. After that you can again send messages to that user. This is added to prevent abuse and sending lots of unnecessary messages. Please use with care.

Media player

The bot’s integrated media player brings YouTube audio playback directly to your TeamTalk server. This feature lets you stream music, podcasts, or any other audio content from YouTube, creating a shared listening experience for everyone in the channel.

While media player features are not that advanced, It’s more than enough for most users to play streams, Control playback, Getting information about a stream, Downloading the stream, And customizability.

Features:

  1. YouTube Search: You can directly search YouTube from within TeamTalk and play the first result. The bot retains the search results, allowing you to easily navigate through them.
  2. Playback Control: The bot offers commands for playing, pausing, seeking, and adjusting the volume of the playback.
  3. Playback History: TTUtilities maintains a history of recently played tracks, making it easy to revisit your favorites or see what’s been played recently.
  4. Getting info about a stream, Such as duration, Link, Elapsed time.

Before you use the media player: You must do the following:

  • Configure your input and output devices. On windows: You need a virtual sound card, Such as virtual audio cable. On linux: You need to install pulseaudio. All packages are automatically installed when you run the setup script on linux so you don’t need to do extra work.
  • Download virtual audio cable from here
  • On linux: Please run the setup script before running the bot. On windows: Install virtual audio cable or any virtual sound card program before running the bot.
  • When choosing the input device on linux: Make sure it’s set to pulse. Usually this is the first choice. When choosing output devices: Set it to auto select device.
  • On windows: If you’re using virtual audio cable: You need to set both input and output devices to line1, Virtual audio cable.
  • Run the bot after you install all requirements, And do not close the terminal. You should search for a video in order for the bot to login to your account. Use the command “/p “, This will not play anything at first run and instead you’ll see “yt-dlp” prompting you to go to the following link to add a new device: https://www.google.com/device . You should also see a code that you need to enter in your browser to complete sign in.
  • [youtube+oauth2] To give yt-dlp access to your account, go to https://www.google.com/device and enter code XXX-YYY-ZZZ

    This is what you should see in the terminal when playing a video for the first time. as said above: You need to open this link in your browser and enter the code.

  • If successful: The bot will play the requested video. You don’t need to do that again unless you wish to change your server machine.
  • After that you can close the terminal and run the bot directly either by using a service file or other ways. Please be careful when entering your login code for “yt-dlp” to avoid problems.

Media player commands:

Below are the list of commands for the media player.

  • /u : Play an audio / video from the provided link. If you provide a youtube link: It will also play the youtube video.
  • /p : Searches for the given query and plays the first result.
  • /p: Without a query: Pauses or resumes the playback of an audio stream or a youtube video.
  • /n: Plays the next track in the YouTube search results.
  • /b: Plays the previous track in the YouTube search results.
  • + [optional:amount]: Seeks forward in the playback. amount is in seconds; if omitted, the default seek step from the configuration is used.
  • -, “Dash” [optional:amount]: Seeks backward in the playback. If no value is provided: Uses the default value from the configuration.
  • /v: Sets the volume. Starting from 0 to the maximum allowed value. If no value is provided: Sends the current volume.
  • /gl: Sends the link of the currently playing track to the user.
  • /s: Stops the current playback, including both audio streams and any text-to-speech that might be running.
  • /d: Displays information about the current track’s duration, including total duration, elapsed time, and remaining time.
  • /r: Displays a list of recently played tracks, Up to 32 entries.
  • /r number: Plays the index from the playback history, If exists.
Usage examples:
  • Play a Song:/u https://www.youtube.com/watch?v=dQw4w9WgXcQ
  • Pause Playback:/p
  • Search and Play:/p Relaxing music
  • Seek Forward 10 Seconds:+10
  • Replay the 3rd Track from History:/r 3

Please note: Playback will stop automatically when a track ends. You can use /n to play the next track in the search results (if available) or start a new track manually.

Account creation

The bot provides an easy way to create user accounts on your TeamTalk server for administrators. It allows you to specify usernames, passwords, and user rights using a simplified numbering system. Here’s how it works:

Use the command /new to create an account with the given information and rights.

Please note that you need to surround arguments with <: Less than sign, and >: Grader than sign when typing the username, password, And user rights.

Note: [] is An optional space-separated list of numbers representing the user rights you want to assign to the new account.

User rights:

Each user right is associated with a number. Here’s a list of available user rights and their corresponding numbers:

  1. Multi Login: Allows the user to log in multiple times with the same username.
  2. View All Users: Grants the user permission to see all users on the server, regardless of their channel.
  3. Create Temporary Channel: Allows the user to create temporary channels that are deleted when empty.
  4. Ban Users: Gives the user the ability to ban other users from the server, either by IP address or username.
  5. Download Files: Allows the user to download files from the server’s file storage.
  6. Kick Users: Grants the user permission to kick other users from the server.
  7. Locked Nickname: Prevents the user from changing their nickname.
  8. Locked Status: Prevents the user from changing their status message.
  9. Modify Channels: Allows the user to modify existing channels, including their names, topics, and passwords.
  10. Move Users: Grants the user permission to move other users between channels.
  11. Operator Enable: Allows the user to become a channel operator, granting them additional permissions within that channel.
  12. Record Voice: Gives the user permission to record voice conversations on the server.
  13. TextMessage Broadcast: Allows the user to send broadcast text messages to all users on the server.
  14. TextMessage Channel: Allows the user to send channel messages.
  15. TextMessage User: Allows the user to send private text messages to other users.
  16. Transmit Desktop: Grants the user permission to share their desktop screen with other users.
  17. Transmit Desktop Input: Allows the user to transmit keyboard and mouse input while sharing their desktop.
  18. Transmit MediaFile: Allows the user to transmit both audio and video media files.
  19. Transmit MediaFile Audio: Allows the user to transmit audio media files only.
  20. Transmit MediaFile Video: Allows the user to transmit video media files only.
  21. Transmit VideoCapture: Grants the user permission to transmit video from their webcam.
  22. Transmit Voice: Allows the user to transmit their voice through the server.
  23. Update Server Properties: Gives the user permission to modify server properties.
  24. Upload Files: Allows the user to upload files to the server’s file storage.
  25. View Hidden Channels: Grants the user permission to see hidden channels on the server.
Usage examples:

To create a new account with the username “JohnDoe”, the password “password123”, and the ability to send text messages to channels and users, Use the following command:

/new <14 15>

All commands

This is a list of all supported commands compiled together if you want to quickly remember them.

Please note: When refering to : Do not put < or > when providing arguments unless otherwise noted. These marks are only used to indecade an argument passed to a command. The only exception to this rule is the “/new” command.

User related commands:

  • /weather [nickname]: Get the current weather for your location or for the specified nickname.
  • /search : Search Wikipedia and get a 10-sentence summary. Also provides a link to the Wikipedia page.
  • Note: When using this command, Please do not use 2 or 3 words. This command supports language detection. If you search for jupiter it might return you info not written with your language. Please avoid using very short queries.

  • /file : Download the Wikipedia page for the given query as an HTML file and upload it to your current channel.
  • /say or ‘ : Make the bot speak the given text using text-to-speech.
  • /voice : Sets the voice name for subsequent text-to-speech. Use /get_voices to discover available options. Each user can set their own preferred voice.
  • /get_voices [optional:lang_code]: Displays a list of available voices. If lang_code is provided (e.g., “en-US”), only voices for that language are listed; otherwise, all voices are displayed.
  • /ld: Toggles automatic language detection for text-to-speech. When active, the bot analyzes the text’s language and chooses a voice that best suits it.
  • /t source_lang target_lang: Toggle auto translation for channel messages. There is a cooldown of 10 seconds when using this command to prevent spam.
  • /pt source_lang target_lang: Enable or disable private translation feature.
  • /private : Creates a private, hidden channel with the specified user, password protected and limited to 2 users. The channel is automatically deleted when both users log out.
  • /who: Tells you how many users are from your country based on detected locations.
  • /whoall: Provides a summary of how many users are from each country, showing a count for each country.
  • /notify : Registers a notification request. When the user with the specified nickname logs in, you’ll receive a notification message on the Telegram chat with the provided telegram_chat_id.
  • /unotify : Registers a notification for a specific user by their username instead of their nickname. Useful when you want to be notified even if the user changes their nickname.
  • /users: List online users.
  • /pm : Stores a private message for the specified username. The message will be delivered as a private message to the target user when they next log in.
  • /messages: This command will send you the pending messages waiting to be delivered that are sent by you.

  • /dl [youtube_link]: Downloads the audio from the provided YouTube link (or the current playing video if no link is given) and uploads it to the current channel.
  • /s: Stops the current playback, including both audio streams and any text-to-speech that might be running.
  • /u : Plays an audio/video from the provided link. Supports YouTube links.
  • /p : Searches for the given query on YouTube and plays the first result.
  • /p: Without a query, pauses or resumes the playback of an audio stream or a YouTube video.
  • /n: Plays the next track in the YouTube search results.
  • /b: Plays the previous track in the YouTube search results.
  • + [optional:amount]: Seeks forward in the playback. amount is in seconds; if omitted, the default seek step from the configuration is used.
  • – [optional:amount]: Seeks backward in the playback. If no value is provided, uses the default value from the configuration.
  • /v [optional:volume]: Sets the volume. Starting from 0 to the maximum allowed value. If no value is provided: Sends the current volume.
  • /gl: Sends the link of the currently playing track to the user.
  • /d: Displays information about the current track’s duration, including total duration, elapsed time, and remaining time.
  • /r: Displays a list of recently played tracks, up to 32 entries.
  • /r : Plays the track at the specified index from the playback history, if it exists.
  • /myinfo: Retrieves and displays the user’s account information (username, nickname, IP address, status message).
  • /help: Provides a list of supported commands. This list may not be updates, So refer to the readme if you find something missing.

Admin related commands:

  • /reboot: Reboots the server (requires authorization and SSH configuration).
  • /exec : Executes a command on the server via SSH (requires authorization and SSH configuration).
  • /db : Bans the user with the specified nickname by their IP address for the given duration.
  • /udb : Bans the user with the specified nickname by their username for the given duration. If the user is a guest account or is using a custom username, they will be banned by IP instead.
  • /dk : Kicks the user with the specified nickname for the given duration. The user will be kicked again if they rejoin within this time.
  • /clear [optional_target]: Clears duration bans and kicks.
    • Without a target, clears all duration bans and kicks for all users.
    • With a target (nickname or username), clears the duration ban or kick only for the specified target.
  • /b : Sends a broadcast message to all users on the server.
  • /jail : Adds the username associated with the specified nickname to the jail list and moves the user to the jail channel.
  • /unjail : Removes the username associated with the specified nickname from the jail list.
  • /jails: Displays a list of usernames currently on the jail list.
  • /cn : Changes the bot’s nickname.
  • /cs : Changes the bot’s status message.
  • /cg : Changes the bot’s gender (m for male, f for female, n for neutral).
  • /save: Saves the bot configuration, including any changes made to settings like nickname, status message, etc.
  • /new []: Creates a new user account with the specified username, password, and user rights.

Contact us

If you have any questions, suggestions, code contributing or bug reports: feel free to contact us using one of the following ways:

Enjoy.


 
Live Chat

Hi, Your satisfaction is our top priority, we are ready to answer your questions...