Update 1.1.0 : Settings rewrite
The next major update of A.T.O.S. is coming soon to your servers! A big rewrite of the settings allowing more possibilities, with a more intuitive interface.
Anyway, the !tset
command is changing, not only that, but don’t worry, your old settings will be converted (if it doesn’t bug).
Changes on !tset
The old system worked like this: admins set up global settings on the server (channels, roles, delays, registrations), in addition to parameters specific to a game (ruleset, ranking).
That system had many limits:
- Only the settings under
!tset games
could change from one game to another, others are fixed - To create a configuration, you had to put the name of the game on Challonge, impossible to create multiple rulesets for one same game, not to mention unavailable games
- It was painful to use this command, with quotes everywhere
Now we’re changing this.
Deletion of the !tset games
command
All commands under !tset games
are moved under !tset
, !tset channels
and !tset roles
.
Before | After |
---|---|
!tset games baninfo |
!tset baninfo |
!tset games counters |
!tset counters |
!tset games ranking |
!tset ranking |
!tset games role |
!tset roles player |
!tset games ruleset |
!tset channels ruleset |
!tset games stages |
!tset stages |
!tset games show
is removed, !tset settings
will display everything.
Info
Small change with the stage list (!tset stages
and !tset counters
), before you had to use quotes for the list, now you only need to separate elements with commas.
- Before:
!tset games stages Battlefield "Final Destination" "Pokémon Stadium 2"
- After:
!tset stages Battlefield, Final Destination, Pokémon Stadium 2
All those settings are now global on the entire server by default. But then, you’re surely wondering how you can have multiple configurations like before? There is now a new system…
Added configurations
Explainations
Now, you can create different configs, with the name you want, and you can edit any setting under this configuration.
When you create a tournament, you can choose which configuration to use. The settings of this config will then be used, the rest will use the default config.
Example
Suppose you are setting up ATOS for the first time, and decide to configure the following settings:
- Announcement channel:
#announcements
- Registrations channel :
#registrations
- Participant role:
Registered
- Delay before DQ: 10 minutes
This is the default configuration. You can then decide to add another config named “Melee” for example, and change the following settings:
- Announcement channel:
#melee-announcements
- Delay before DQ: 15 minutes
If you add a tournament with the Melee configuration, the settings used are the following:
- Announcement channel:
#melee-announcements
- Registrations channel :
#registrations
- Participant role:
Registered
- Delay before DQ: 15 minutes
As you can see, the bot will first use what you setup in your config, then the default settings will be used for the rest.
You can have as many configs as you want, not necessarily using the name of a specific game. The entirety of the different parameters can be setup under a config.
Warning
The only exception is !challongeset
which remains global to the server, without possible config, due to technical reasons.
The !tset config
config
It is therefore with this command that you can manage your configurations, with the following commands:
Command | Description |
---|---|
!tset config add |
Add a new configuration |
!tset config remove |
Delete one of the configurations |
!tset config list |
List the available configurations |
!tset config rename |
Rename a configuration |
!tset config clone |
Clone an existing configuration |
Try !tset config add MyConfig
to create a configuration.
Info
For using a name with spaces, use quotes : !tset config add "my long config"
Settings
Then, to setup a parameter under your config, you need to use the “flag” --config
, or -c
, after your command. Examples:
!tset delay 30m --config Melee
!tset channels ruleset #rules --config LoL
!tset roles participant Registered in tournament -c "Super Smash Bros. Ultimate"
!tset baninfo -c LoL
(removing text)
Use quotes if there are spaces in the name of your config.
Always put that --config
at the end of your command. If you don’t specify a config, you are editing the default parameters.
Then, to see your settings, it’s the same commande !tset settings
! Without specifying a config, you will see default parameters. Else, do !tset settings --config "Your config"
to see the parameters of your config.
Durations
A small change affecting the register
, twostageregister
, checkin
, warntime
and delay
commands.
Those commands asked for a delay in minutes for different things. However, it wasn’t easy having to calculate how many minutes would be 3 days and 5 hours, so here again we changed the system a bit (and thanks for Red’s tools).
Now, to express a duration, you have to specify the unit in addition. For example, 10 minutes becomes 10m
. Examples:
- 30 seconds :
30s
- 5 minutes :
5m
- 2 hours :
2h
- 3 days :
3d
- 1 week :
1w
And it’s possible to stack those units, for example 2d5h30m
= 2 days + 5 hours + 30 minutes
Examples with registrations: !tset register 1d2h 10m
= Starting 1 day and 2 hours before, ending 10 minutes before the beginning of the tournament.
Info
To disable a delay, instead of putting 0
, put 0s
instead. It is still possible to disable some delays individually like this.
The tester role
Small note apart on a function that already existed, but that was never announced: there is now a connection tester role which will be mentioned for any lag test request with !lag
.
For that, use the command !tset roles tester
Thanks to Xyleff for implementing this feature!
The !setup
command
The usage of that command doesn’t change (or almost) but most importantly have new features.
Usage of configurations
Like other commands, to use your config when adding the tournament, do !setup https://challonge.com/randomtournament --config "your config"
Note however that, like the previous system, if the name of your config matches the name of the game on Challonge, that config will be automatically used without specifying something.
Late setup
Before, the bot blocked the setup of a tournament if the date of an event (like registrations start) was passed, forcing the re-setup of that setting to continue.
Now, the bot will tell about those passed events, and will prompt you to continue the setup after all. Those events will therefore be skipped, and you can instead start them using manual commands, like !register start
or !checkin start
for example.
Setup an ongoing tournament
It’s now possible! You may have had to reset an ongoing tournament due to a problem, and you were forced to reset the bracket to relaunch the bot.
Now, if you use !setup
on a tournament already launched on Challonge, the bot will prompt you to “resume” immediatly the tournament, that is to say the registrations will be skipped and the bot will gather participants from Challonge.
If the name of the participants matches Discord names, everything will go well, else the lost participants will be disqualified (but the bot will prompt a second time, with the name of the lost participants).
Data migration
What you had already configured will be imported.
If you had a single configured game with !tset games
, everything will be imported in the default config.
If you had more than one game configured, then the settings will all be imported under new configurations with a matching name. Check this with !tset config list
.
Release date
I will update ATOS on sunday 7th, march at 10 a.m. CET.
I’m giving this date since there may have issues at the beginning, so prevent having an ongoing tournament at the same time. Documentation will be updated at the same time, meanwhile refer to this article to see the changes and be prepared.
Why this update?
The settings system came to its limits when I thought about how to add teams mode (2vs2), as well as message template.
Those changes are setting up the bases for the next part ; next update will be the integration of teams, ATOS won’t be limited to 1v1 anymore!
Observe the complete list of commits on the pull request.
And a huge thanks to DiXaR and the Smash @ Lyon server for helping me test this big update!