v4.2
Summary
Major Changes
#77/#49/#69 Clearing Channels
The ability to automatically clear a channel after events has returned to WarBOT 4.0.
You now have three options for expected behaviour:
- Disabled - Messages will never be deleted.
- Individual Message - Individual messages (Those sent by WarBOT) will be deleted after the specified duration between 5 minutes, and one day.
- Clear entire channel - After the specified number of minutes after the start of the event / expedition / portal, the entire channel will be cleared.
This functionality is available for:
- New User Notifications
- User leave notifications
- WarBOT Update Notifications
- Hustle Wars
- Hustle Expeditions
- Hustle Portals
- And.... any other upcoming "Events" which WarBOT will support.
This functionality is not yet currently available for Custom Commands
Warning
It is possible to misconfigure this functionality in a way which causes unexpected behaviour.
For example, Hustle wars occurs every 6 hours. If, you set the clear method to "Clear Channel", and you set the delay to... a duration greater than 4 hours, you will clear the war prep started messages from the next war.
While, I can implement rules to prevent you from causing unexpected behaviour, I decided to not to. If you shoot yourself in the foot, that is on you!
As well, I generally recommend not enabling "Clear Channel" for the channel where new user greetings, updates, etc are delivered. The option to clear individual messages would be much more suitable here.
Job Persistence
Discord is not perfect. Warbot is not perfect. My hosting solution is not perfect.
Occasionally (Every day or two), something will cause WarBOT to restart in an attempt to automatically heal. This is normally triggered by discord disconnecting the web socket.
Previously, when WarBOT would restart, it would forget things... such as remindars.
Now, WarBOT has a persistent backend storage solution. This will enable it to remember to delete messages, remind you of things, handle voting/polls (Its coming.... eventually), etc.... without forgetting between restarts.
This will also be useful for the upcoming feature for scheduling custom actions, on a schedule. (Ie, send a message to a channel at a certain time.)
Minor Changes
Package Updates
Updated dependant packages. No noteworthy changes.
Dockerfile Cleanup
Performed some cleanup on my docker files. This will make it a bit easier for me to roll out versions.