Skip to content
This repository has been archived by the owner on Aug 16, 2022. It is now read-only.

Releases: wneessen/sotbot

v1.4.8: Maintenance release and minor fixes

11 Oct 09:28
8daf4ce
Compare
Choose a tag to compare

This is a maintenance release. I mainly updates 3rd party packages to address security issues and fixes some issue with the SoT API, due to API changes that RARE introduces with the latest season.

Improvements

Fixes

  • Update viper (and it's depencies) to v1.9.0 [commit: cb97a97]
  • Fix season progress [commits: b23d28f, 027cdca]

v1.4.7: Embed all the things and new SoT RAT Cookie handling // BREAKING CHANGE

10 Jul 10:57
083d677
Compare
Choose a tag to compare

The v1.4.7 brings lots of improvements and fixes

Breaking changes

With this version, the SoT RAT cookie handling has completely been refactored. v1.4.7 introduces a completely new RAT cookie format for the bot. The two main reasons behind this are:

  • Due to bugs in the Discord formating engine, a RAT cookie with too many _ characters in it, could crash your Discord client
  • The bot had no idea about the validity of the cookie and therefore had to test and guess periodically if the cookie is still valid.

With the new format, the bot will also store the expiration date of the cookie in the database, which makes it easy for the bot to check if you cookie is still valid or not. It can also send you a DM, once the cookie expired. As the new format is a combination of JSON and Base64 encoding, the previous way to extract the cookie using Simon's RAT extractor will not work anymore. Instead there are two new tools that can help you to extract your cookie:

New features

  • Optimized SoT RAT cookie handling (Commits: 5a3db5e, 68a974f, 0ce3a8e) - See also "Breaking changes"
  • Instead of collecting the balance/stats in a local database table and constantly refreshing it, a daily summary will now be stored in the bot's local cache every 24h hours. The /summary command uses this for comparison. (Commits: 4364e52, 745c07d, f02f322, ccc7df8, cd8920e)

Improvements

  • Remove branch information from /version command (Commits: e64e86d)
  • Better SoT auto-tracking activity handling (Commits: dcfd56c)
  • Notify user if the bot wasn't able to fetch the user stats in auto-track mode #58 (Commits: bb6518c)
  • Season progress has been converted to fancy embeded message #57 (Commits: 9206a04, f7ce040)
  • Reputation summaries have been converted to fancy embeded message #59 (Commits: 9cf84d3)
  • Ledger summaries have been converted to fancy embeded message #63 (Commits: cd72d3a, a986bd0)
  • Embed-Thumbnail assets are stored in Github now (Commits: 38233cf, 5fe3945, 4605597, f334363)
  • Check regularly if SoT RAT cookie is still valid (Commits: 79604d0)
  • /weather has been converted to fancy embeded message (Commits: 82c9a1e)

Bug fixes

  • Fixed typos (Commits: ef753b0)
  • Race condition introduced in #49 has been fixed (Commits: 1c35ac4)
  • Fixed nil pointer dereference in /dailydeeds #56 (Commits: e1c98e7)
  • Fixed urban dictionary for long message #60 #61 (Commits: 47a69ee)
  • Auto-track summary seems incorrect #64 (Commits: 175ab17)

v1.4.6: Slash commands, fancy embeds, caching and more

17 Jun 14:11
c7c329f
Compare
Choose a tag to compare

The v1.4.6 is a major release with lots of great new features

Breaking change

This release is a breaking change release. All !-commands (except of !setrat - see #41) have been converted into so called slash commands. Additionally the /register and /unregister commands now do not admin access. A user who fancies to register can do so on their own. Also the permission schema of the bot needs to be changed. See the README.md for details. It is recommended to kick the bot and reconnect it with the newly generated OAuth2 URL.

New features

Improvements

  • Daily deeds are now cached, as they only change once a day #38 (relates to #33) (Commits: b9ecae8)
  • /balance, /stats and the SoT auto tracking no respond with fancy embed-messages #39 (Commits: a79a128, 6b8920d, 7c454ae, 87e7e12)
  • The SoT auto tracking now delays the response after gameplay to give the SoT API time to update (Commits: ffcdd5c, 8056cac)

Bug fixes

  • Trim too long responses #44 (Commits: 4c7f696)
  • Better error handling in SoT auto tracking #40

v1.4.5: Lots of improvements

13 Jun 09:50
7888b3f
Compare
Choose a tag to compare

The v1.4.5 release brings lots of small improvements and fixes to already present features.

Improvements and fixes

  • Started improving the in-code documentation (Commits: ad26e12, 91c014f, 3f0c774, 3d87f84)
  • Remove Must*() functions from the code. Must-functions are discouraged, as they panic (Commits: 54c602c)
  • ioutil is deprecated. All ioutil functions have been replaced by their corresponding replacements (Commits: f1022f2)
  • The http client has been improved to be more general and has been made the main function for all API calls (Commits: 55eaf9e, 2cb71e5, 5343a4b)
  • Ambiguous commands now present a "usage" response instead of "command not found" (see #31) (Commits: 723494a)
  • The SoT announcements now only happen if the balance actually change during game play (see #28) (Commits: 57632e7)
  • Trading routes are now presented as nice Discord embeds. Thanks @silsha for the PR (see #35)
  • The bot now has general caching to DB capabilities. First use of it has been introduced to the trading routes (see #34) (Commits: 2601538)
  • More stats have been introduced for the "Now playing SoT" feature (see #29) (Commits: 8d97638)

v1.4.4: Encryption, Trade routes and Auth checks

05 Jun 15:58
Compare
Choose a tag to compare

This release brings several new features as well as improvements to some already present features.

New features

Trading routes

The bot is now able to fetch the currently active trade routes from https://maps.seaofthieves.rarethief.com/ (see #17). Thanks to @echox for the contribution!

Encryption

The bot is now able to encrypt user preferences (like the SoT RAT cookie) inside the database. For now only the cookie will be encrypted. Please refer to the README.md for details and security considerations

Improvements

RAT cookie handling

The check and notify user if RAT cookie failed logic has been removed from the updateBalance() method. Instead there is a hourly job (with a random up to 10 minute delay) that will check the validity of the RAT cookie. If it fails 4 times in a row with a HTTP 403, it is likely that the cookie is expired or invalid. In this case, a notification DM is sent to the user.

Daily deeds

The daily deeds command now fetches more information about the currently active deed. It can also check if the requested already completed the deed.

Highlighting for SoT commands

The SoT command now highlight the important parts of the message in the responses. Thanks to @silsha for the contribution (see #18).

Timestamps

The timestamps have been changes from the more computer-readable format to RFC1123 formating

v1.4.3: Bug fixes and daily deeds

04 Jun 09:22
c453a72
Compare
Choose a tag to compare

This release fixes some bugs and brings the "Daily deeds" feature.

Bug fixes

There was a null-pointer-dereference in the !weather feature that caused a crash, when no OWM-API key was configured. See #9

Documentation update

The documentation and !help feature was lacking some details. See #11

Daily deeds

This release introduces the !deed or !dd command, which will fetch the currently active "daily deed" from the SoT event hub.

v1.4.2: Ledger stats, More TMDb and weather

29 May 10:29
3c56352
Compare
Choose a tag to compare

This release brings, besides some code cleanup, 3 new major features:

Ledger stats

Using the !ledger or !led command followed by one of the main SoT factions, the bot will now fetch your ledger position and points.

TMDb TV show

With the !tv command, you can now also fetch random or specific TV shows from TMDb

Weather information

The bot has been integrated with the OpenWeatherMap (OWM) API. Using the !weather command followed by a location, it will fetch some current weather information of that location and present it to the user.

v1.4.1: Urban Dictionary and TMDb support

25 May 10:34
76ee008
Compare
Choose a tag to compare

New features

This release brings two new major features:

Urban Dictionary

With the !ud or !urban command, the bot will query the urban dictionary API for specific search terms or for a random term

TMDb

The !movie command can look up movies in themoviedb.org. If a query argument is given, the specific movie will be searched for, otherwise the bot will present a random movie

Uptime

With the !uptime command, the bot will tell you, how long it's running

Memory usage

Admins can issue the !mem command to get some memory usage information

Documentation update

The README and the !help became a major update and do reflect most of the features now

Code cleanup

Some functions have received some cleanup and the code has been restructured a bit, to get rid of unnecessary complexity

v1.4.0: Major refactor and !stats

23 May 13:12
Compare
Choose a tag to compare

New features

The !stats feature has been added. The SoT API will be requested to provide misc stats like kraken defeated, meg encouters, times vomited, chests handed in, etc.

For bot admins, the !mem command has been added. It will show the memory allocations and GCs since start

Refactoring

Instead of sending every incoming message/event to their own handler (and therefore their own goroutine) we now have a single "command handler", which differentiates the incoming message in a switch statement. This helps reducing the memory footprint and the amount of GCs

Also the code was straightened a lot, so that duplicate code fragments have been removed.

v1.3.2: Code cleanup and binary release

21 May 12:15
e7c2fff
Compare
Choose a tag to compare

We introduced Cirrus CI and together with that the GoLinter which showed some code smell, which has been fixed.
Also the permission schema has been change a bit to lower the amounts of events the bot has to process.

This is also the first binary release. We offer Linux/x86_64 and Darwin/arm64 (aka M1) at the moment