last restart 2h ago
3.7 2020-03-26 Backend changes.
Update to Discord.js v12
We updated Discord.js to v12, because of some small bugs with the old version.
Update to Node.js to v12
We updated Node.js to v12, because of some small bugs with the old version.
Servercount updates on backupdb
As the bot will run distrubuted accross multiple machines, the server count stats for bot-index-websites have to be sent from the backup server, as only there lies all the information necessary.
Added a hotfix for a discord.js error
A known issue in the discord.js framework caused a random shard to not get ready sometimes. A workaraound now manually activates that shard after some time.
3.6 2020-03-12 No-XP roles, double XP weekends and command restructuring.
No xp roles
Added the possibility to set noxp roles with the setrole command.
Daily statistics about the bot/shard itself is now saved to the remote database to be able to better track its performance.
Bonusxp stat customizations
The bonus stat appearance will be customizable like the vote stat now - Name and emote can be customized.
Multi XP times.
You can activate multi xp for a limited amount of time using the two new setstat bonuspertextmessage and bonuxperfivevoiceminutes commands. These XP will be added within the bonus stat. Additionally to the normal XP, the set amount of bonus points will be added for each textmessage or five minutes in a voicechannel.
Command structure changes
The activityboard and noxp channel commands have been moved to the new setchannel main command and parsing structure has been adjusted for the setrole command.
To protect the bots data from many threats (like programmer mistakes), a backup schedule (offered by the hosting company) has been added to automatically create snapshots of the remote database server once a week.
The limit for the give and take commands has been increased from 1K to 10K. The limit for roleassignments has been increased from 50 to 100.
Give/Take points without mention
Like with the up and down commands, you can now give and take points without mentioning the user.
3.5 2020-02-20 Implementation of multiple user requested features II
Set command split
The set command was removed and insetad splitted into multiple commands, because it combined too many features. The setserver command will contain settings for the server in general, while the setsats command will customize the leveling system. The setrole command is responsible for setting up the roleassignments.
Custom roleassign messages
With the new setrole assignmessage command the message sent with the sendlevelupdates option is customizable.
Send levelupdeates only on new role
Enabling this option will let users direct/activityboard levelupmessages only trigger, whenever the user receives a new role.
Disable downvotes option
The downvote functionality can now be disabled to avoid harassment on your server.
Limits to roleassigments
Added very high limits for roleassigment to avoid hostile people trying to overload the bot. A max of 100 roleassigments in total and max 3 per level has been added.
Mention the bot for its prefix
When you mention the bot itself, it will respond in a friendly way now, showing you the prefix and help command.
Enable muted XP option
Allow users in voicechannels, who are muted, to still get XP as normal.
Customize toplist entries per page
Set the amount of users and channels shown in the top commands to get a longer or shorter list.
Vote without mention option
Allow users to vote for other user without having to ping them. Using the up and down commands, you can now simply write their discord username#tag instead of pinging them.
3.4 2020-02-10 Website Redesign & Bot Statistics
Removed the very raw looking React template website and integrated a new website (not using React) with Gentelella Bootstrap Theme.
On the website, you can now see some statistics about the bot. These include active voice- and textmembers or commands triggered during the past day. All values get updated every 24 hours.
3.3 2019-12-27 Backend changes
Removing Users table
Reducing the load on the backup server by removing the users table. This table had to be queried for every roleassignment (check sendlevelupdates) and vote (check last time upvoted another user). Now the upvotes are in a dedicated table, which is periodically updated from the backup server and the sendlevelupdates setting is saved with the guildmember table. As a result users have to set their sendlevelupdates setting for each guild/server separately.
Redo of texts management
All kinds of texts are now centralized and saved on the backup server. Each time a bot's shard or the website server starts, it will load all necessary information.
Reset command overload
Resetting stats caused an overload problem for very large servers. Resets will now be done instantly and independently on both, bot and backup database (and not updated differentally as usual), and a cooldown for the respective commands has been added.
Bot muted after misspelling of reset command
Using the reset command caused the bot to not respong anymore in your server, if the commands parameters were formatted the wrong way.
3.2 2019-09-26 Implementation of multiple user requested features
Reset deleted users and channels
Understandably those "user lefts" and "channel deleteds" are annoying in your stats. Wipe them all at once with the new reset commands.
Admins can activate and set the textmessagecooldown from 0 to 120 seconds. After a user sends a message, it will not be possible for this user to get more xp from messages for set amount of time.
Level 1 Roleassignment (on server join)
Roleassignments made for level 1 will now be given at the moment of joining the server.
New command: ar!activityboard - Send activity messages to server channels
You can now let the messages be posted in specified channels when certain events happen. For now we have levelup and welcome messages (+ set your own customized messages). Any ideas for new activityboards?
You cannot vote for yourself anymore
It was never intended that a user should be able to self-vote. Now it is fixed to ensure that our resetted vote stats don't get polluted.
3.1 2019-09-23 Bonus score
The fact that admins could grant xp only over upvotes was problematic in a few ways. Most notably that it is not transparent anymore how many "real" upvotes the user got. Because of this we introduce the bonus score. From now on ar!give and ar!take will only affect the new bonus score, while votes will only be grantable by users ar!up and ar!down. We will also reset the vote stat globally for everyone (sorry), so all votes will always be true user votes from now on.
We made also a few fundamental backend adjustments to our previous patch that should further increase the bots performance and scalability, but might cause serious problems after introducing the patch. The transition to the new distributed backend is almost finsihed but not yet. These things are not easy to test with a testbot (that has only 3 servers) and because of this i already say sorry for any downtimes during patching!
Not showing of ar!info roles
There was a problem in displaying ar!info roles, while there was a deleted role in the list.
3.0 2019-09-15 Remote and in-memory databases
An in-memory database is now making the queries for statistics faster (previously the calculation were made on a persistent database). Sadly we cannot test everything with our testbot, as we cannot simulate thousands of users doing different things every second. To test our new code, new remote- and new in-memory-database properly we have to use the live bot - this will cause some serious downtimes / malfunctioning around the update date, sorry!
To save everyones statistics and settings from our in-memory database we simply send it to our remote one periodically. Likewise, after startup with an empty in-memory database the bot will retrieve all the data it needs (for this particular shard and vps) on demand. This way the bot can easily work distributed on multiple machines in the future. But this comes at the cost that during the first minutes there will be a warmup phase so the bot has time to remotely load most of the records into memory before handling all the load. During that time it will simply ignore a certain percentage of messages.
Revamp of the role/noxp tables
To have a more solid programming we had to change the way roles and noxp channles are saved in our backend. Because of this everyone has to reinsert their configurations for those two features.
Moved reset functionality from set to a new command
The free up the set command we made a new command for resets. Also because we will soon add another reset command, the reset deleted users/channels functionality to clear up stats.
New command: ar!patchnotes
A few have expressed the wish to know whats going on with updates. Fair enough, here you have your command.
Not showing of ar!info when one of the roles/noxp lists is too long
We solved this by having separate commands for showing the lists (f.e. ar!info roles).