cleaned up code to a more maintainable way. commit for patch semver (3b3ca963)
# Human readable decription for release
- Added ability to declare list of players for event, in order to observe if they are present or not. New table lists in a row all matching players
--- This feature was requested by |Barrier fifthbarrier from Discord|
--- new set of commands is available at the path . player event. for example . player event add PlayerPartialName
- Added for all darkbot view tables ability to go beyond Discord message limit of 2000 symbols. Content is splitted among as many as necessary discord msgs.
--- This feature was necessary for event list to function correctly, since 40 players would not fit into one discord msg
--- it is applied to bases/players list, for all darkbot functionality, so u can track more bases and etc.
- Besides that for any developers if will be participating, darkbot went through code cleaning up in its app and infrastructure code.
-- Code for app was made more type safe and easier to extend in new features
-- Infrastructure code was simplified to stateless simple deployment via Terraform Docker provider, with aim for veery long term maintenance support
-- code for dev env works out of the box without any extra additional files/configurations, to simplify getting started with a project
I already tested the event table implementation, and it works as intended. Hopefully people will be more willing to run large events, since it's now very easy to know who is still missing from the battleground!
(11-05-2023, 04:49 PM)Xenon Wrote: As usual, amazing progress and nice responses for error messages
Keep going forward with that bot development and upgrades, its worthy xD
Thank you Xenon . Your praises motivate to keep going.
(11-05-2023, 05:03 PM)Barrier Wrote: Impressive, very nice.
I already tested the event table implementation, and it works as intended. Hopefully people will be more willing to run large events, since it's now very easy to know who is still missing from the battleground!
## Fixes
### fix
* formatting to player lists (069b4204)
* more discord msg limit safety (bd3d53ac)
* viewer loop delay to 10 seconds for more often darkbot updates (f2e14044)
* added darkbot saying not connected to channel and request to activate, when u try to use its commands without its activation (5b3133fd)
* get back last updated time to msgs (9409e770)
## Features
### feat
* you can track appearance of forum posts with darkbot in Discord now
--- darkbot scans forum only once in a minute. If someone will be spamming posts in a thread more often than that, in current version u will miss those msgs.
--- dev note: the feature is implemented with very Robust caching logic in order to minimize requests as much as possible ^_^
--- dev note: the feature is implemented with high reliability / retry logic, in order to be more reliably working despite any Discord or network problems
--- dev note: as other darkbot features, it is implemented with as minimum usage of third party libraries as possible. In order to have the project the most long term maintenance easy to support.
# Getting stared with new feature
- you can request . --help to check new commands, . forum --help, . forum watch thread --help (nested versions)
- you can add forum thread tags for tracking with . forum watch thread add TagToTrack
- you can check added thread tags with . forum watch thread list
- for removal see commands in --help
- you can add tags u wish to ignore with . forum ignore add TagToIgnore
--- For usage case when u matched a lot of stuff with generic tag for watching, but something wishing to exclude from watching
## Fixes
### fix
* lack of ping in forumer ea6f29e7
# Note
- By default darkbot will ping the owner of a Discord server for its forum messages
- You can change ping message to any other one with . alert ping_message menu
--- For example . alert ping_message set @here (feel free to set any non pinging msg to disable pinging)
## Features
### feat
* ability track by subforum 7c2e267b
## Fixes
### docs
* update documentation a bit feee6dc9
# Human description
New awesome feature! You can track entire forum subforum sections now.
Easily subscribing to entire subforums like ` News and Announcements`, `Official faction requests`, `Bugs`, `your dedicated faction subforum` and etc
# How to use?
- add desired subforums for tracking like . forum subforum watch add News
- check added . forum subforum watch list
- remove all . forum subforum watch clear
- add some subforum into ignoring . forum subforum ignore add NotDesiredSubforum
Refactors:
--- Bot improved its speed to update Discord viewer tables.
Darkbot becoming used in 50 discord servers a bit outgrew its initial design of handling all Discord channels in a single thread sequentially in a loop
Refactored to goroutine parallelized workers that handle table view updates within in memory 10 workers
Speed for bot tables is improved from 2 minutes and 30 seconds to around 1 minute.
The bottleneck is Discord API rate limits speed for updates too often, so that's reasonable best speed to have within those constraints at a current hardware power.
If there will be issues in a future, scaling is just a matter of increasing worker count and hardware now