Deprecated: Use of "parent" in callables is deprecated in /var/www/html/forum/src/vendor/league/flysystem-eventable-filesystem/src/EventableFilesystem.php on line 431
  • If you need help or want to discuss things, you now can also join us on our Discord Server!
  • A first preview of the unlimited version of SinusBot can be found in the Upcoming Changes thread. A version for Windows will follow, but we don't have a release date, yet.
Required SinusBot Version
0.13.0
Compatible Backends
  1. TeamSpeak 3
This script offers you options to manage users based on their country with manual and automatic functions.

some use case examples (more/multiple options are available if the full feature width used):
  • assign automatically country groups to users based on their country
  • automatically kick or ban users on join based on their country
  • move users to different start channels based on their country
  • multilinguale connect messages, user receiving them based on their country
  • multilinguale server rules, user receiving them based on their country

Configuration:
  • Country Settings List (it is not required to have all of these options set for each country)
    • Country Code (codes can be found here: http://laendercode.net/de/countries.html)
    • Groups
    • Client description
    • New Default Channel
    • Join Message (Poke or Private Chat) (Placeholder options)
    • Punishment (Kick or Ban and a custom reason)
    • Rules list (rule number and rule text)
    • Adjustable user commands
  • Welcome message mode
    • Offers you the option to choose between 4 different options how the welcome message works.
  • Rule mode
    • Offers you the option to choose between 4 different options how the rules works.
  • Rule listing mode
    • Offers 2 options how the rules are shown to the users
  • Rule list delay
    • Adjustable delay for the single message listing mode
  • Rule confirmation mode
    • Offers the option that the user needs to accept the rules by messaging the bot
  • Rule confirmation punishment
    • Configurable punishment for not accepting the rules
  • Admin Permission Restriction
    • Add the group ids which should be allowed to execute the admin commands.
  • Whitelist for automatic functions
    • Add the group ids which should be whitelisted from the execution impact of the automatic functions which are executed on connect.
  • Whitelist for admin functions
    • Add the group ids which should be whitelisted from the execution impact of the admin functions.
  • Debug option
    • This is logging informations which is useful for investigating on potential script error or just to keep an eye on the actions which has been taken by the automatism.

User commands:
  • !ignore
    • this command offers the users the option to not receive the welcome message anymore. It works as toggle, means if a user already ignoring the welcome message but want to receive in future he simply can execute the command again and he will received the welcome messages again.
  • !accept
    • this commands offers the user the option to accept the rules, based on what you configure it is require or optional for the user to accept them.

Administrative commands:
  • !cm_listall
    • this command will list all countries and the clients which are connected. (This function doesn't consider the whitelist)
  • !cm_listcountry <code>
    • this command will list all clients from the selected country.
  • !cm_pokecountry <code> <message>
    • this command will poke all clients from the selected country with your message.
  • !cm_msgcountry <code> <message>
    • this command will private message all clients from the selected country with your message.
  • !cm_movecountry <code>
    • this command will move all clients from the selected country into your channel.
  • !cm_kickcountry <code> <message>
    • this command will kick all clients if their country from the selected country and uses the <message> parameter as reason.
  • !cm_bancountry <code> <time> <message>
    • this command will ban all clients if their country from the selected country for <time> parameter seconds and use the <message> parameter as reason.
  • !cm_flushignorelist
    • this command will flush the list of users which decided to not want to receive the welcome message from the bot.
  • !cm_listignoringusers
    • this command will list all users (cached username) which decided to ignore the welcome message.
  • !cm_flushruleconfirmationlist
    • this command will flush the list of users which accepted the rules.
  • !cm_listruleconfirmations
    • this command will list all users (cached username) which accepted the rules.

Note:
You might experience the behavior that your settings are not getting applied to some clients.
The issue is based on the fact that the country allocation is based on the clients ip-adress and given that some ip-adresses might not be assigned to an country or due some old information to an wrong country.

Version history:
  • 1.0.0
    • Initial Release
  • 1.0.1
    • Fixed an issue if no channel has been selected which might stop other automatic functionalities.
  • 1.0.2
    • Fixed a bug with the client description
    • Fixed a whitelist lookup issue
  • 1.1.0
    • Fixed a bug which could have stopped some users to use administrative functions
    • Added a new function which is available as user command "!ignore"
    • Added a new admin command "!cm_flushignorelist"
    • Code optimization
  • 1.2.0
    • Fixed some wrong output strings
    • Added a new configuration option for the welcome message (welcome message mode)
    • Added a new admin command "!cm_listignoringusers"
    • Code optimization
  • 1.2.1
    • Fixed a bug which prevents the script from starting after upgrading from 1.1.0 to 1.2.0
  • 1.3.0
    • Added the option to configure placeholders for client values in the welcome message
  • 1.3.1
    • Fixed a bug which caused the poke message from !cm_pokecountry not being sent correctly
  • 1.4.0
    • Added a new function which offers the option to define rules for each country
    • Added a new configuration option for having the ignore welcome message command adjustable
    • Adding a new admin command "!cm_flushruleconfirmationlist"
    • Adding a new admin command "!cm_listruleconfirmations"
    • Output string adjustments
    • Code optimization

Credits:
This script is based on the idea from @VerHext and his script: CountryGroup
Thank you @VerHext for letting me take his script and implement modifications and new function to creates this resource.

Support:
I did some testing on the features and they all seamed to be working as intended. However there might be some issues on larger enviroments. In case you ran into an issue or having trouble with setting up these functions don't mind to contact me.

You can contact me here on the sinusbot forum (in the resource discussion thread or on private chat)

your thoughts and suggestions:
You got any ideas for improving existing features or creating additional features?
Just let me know and we will see what can be done :)
Author
Runningcore
Downloads
578
Views
5,746
First release
Last update
Rating
5.00 star(s) 5 ratings

More resources from Runningcore

Latest reviews

Excellent script, works well!
It would be ever better if you could add "tracking" balise like %firstconnection, %name or even track number of people online %totalonline and/or with a specific group %onlinegroup1
I'm just giving exemple but it would be super nice feature!
10/10 I would download again.

Having a server with a decent number of users and nationalities sometimes some people not understanding English, it was a linguistics barrier but thanks to this fantastic script it's no longer a problem, really well done.

Could you add a command to block the join message? like !ignore.

Well played.
Runningcore
Runningcore
Hello @Kir-à,

first, thank you for your review.
I added the requested feature to my list and will update the script soon, update should be out in the next few days.
Nice Script! The best Country script for TeamSpeak! Great work!
Top