Releases: CriticalFlaw/FlawBOT
Releases · CriticalFlaw/FlawBOT
4.0
This is the final release for this project as it will no longer be maintained.
- Upgraded to .NET 7.0
- Migrated to Slash Commands, example:
/bot info
- Fixed multiple bugs with the the Lavalink implementation.
- Fixed the
/wikipedia
command not returning results. - Added the missing Pokemon token field to the configuration template.
- Updated the endpoint link to Urban Dictionary.
- Updated nuget packages to their latest versions.
- Updated outputs of multiple commands.
- Removed redundant developer comments.
- Commented out commands that could not migrate to slash.
- Improvements to the project documentation.
3.1
- Added a waiting indicator to commands that call an API.
- Migrated the documentation to a separate site: http://www.criticalflaw.ca/FlawBOT/
- Fixed .wikipedia throwing a wrong error if no results are found, added pagination.
- Fixed .weather not returning results if the precipitation value has decimal point.
- Fixed .tf2 news pagination posting multiple times per call.
- Fixed the test project not running properly.
- Fixed namespace inconsistencies, merged like-commands into same module.
- Updated README, LICENSE, Lavalink, gitignore. Added Code of Conduct, Contributions and Sponsorship pages.
- Updated the bot settings and how the bot loads them.
- Cleaned up the codebase, updated nuget packages, upgraded to DSharpPlus v4.0.
3.0
Changelog
- Added commands for playing music using LavaLink:
play [URL]
,stop
,pause
,resume
,nowplaying
- Added pagination to the following commands:
twitch
,wikipedia
,omdb
,tf2 list
- Correct warning message will now be returned if a command was invoked incorrectly.
- Fixed multiple issues where
steam
andtf2
commands were unable to find data. - Fixed the
twitch
command failing to reliably retrieve data from the Helix API. - Fixed the
help
command failing to retrieve information for subcommands without overloads. - Improved error handling and logging, fixed multiple cases where null exception errors were not being caught.
- Merged the
randomcat
andcatpic
commands into a singlecat
command. - Merged the
talk
andtts
commands and moved them out of thebot
group. - Added lavalink and accompanying configuration file to the project directory, click here for more info.
- Removed some commands that were seldom used.
- Updated the
ip
command to use a new API now that the old one is deprecated. - Updated the
tf2 ip
command to return a banner image from teamwork.tf with server info. - Updated the bot to utilize sharding, click here for more info.
- Updated the output of the following commands:
twitch
,wikipedia
,poll
,imgur
,tf2
(all commands) and few others.
Backend Changes
- Moved a reused text strings into the resource file.
- Steam app list is now loaded on startup and is used instead of calling the API every time.
- Updated nuget packages to the latest version (11/17/2020).
- Updated the following commands to use API wrappers for retrieving data;
pokemon
,twitch
,wikipedia
- Updated the test project to reflect above changes.
- Upgraded the project to NET 5.0 and DSharpPlus 4.0-RC1
- Merged the Framework and Core projects, updated the launch configuration.
- Miscellaneous tweaks and improvements to performance and command outputs.
2.6
Bug-Fixes/Improvements
- Added a command for retrieving TF2 community creators (
.tf2 creators criticalflaw
) - Added a command for retrieving curated TF2 server lists (
.tf2 server-list
) - Cleaned up the look of various commands.
- Fixed an exception handling for various command for when null data is returned.
- Updated
.tf2 maps
to include a description of the given game mode. - Updated
.speedrun
command to displays the speedrun categories, with embedded links. - Updated the format of news listing commands to embed the links into the title.
Miscellaneous
- Improvements to the test suite, including loading of the API tokens before running the tests.
- Integrated the new TeamworkTF.Sharp API wrapper.
- Removed the GoodReads command (replacing with Google Books) and remnants of the join command.
- Updated NuGet packages and upgraded to .NET Core 3.1
- Updated the backend Steam service to work with the latest version of the Steam API wrapper.
2.5
Bug-Fixes/Improvements
- Fixed the
.pokemon
command not returning results if the Ability value is null. - Fixed the
.pokemon
command not returning the correct Weakness values. - Fixed the
.simpsons
command not returning results if a field is empty (applies to.morbotron
and.rick
). - Fixed the
.steam game
command not returning results if the game price is not set. - Fixed the
.steam user
command not returning results when searching with an ID instead of vanity Url. - Fixed the
.tf2 map
command not returning results when searching with a partial map name. - Improved error handling on various commands, namely those calling the teamwork.tf API.
- Multiple commands have an improved visual output and more invoking aliases.
- Updated the
.speedrun
command to paginate the results. - Updated the
steam
andtf2
command modules to use the updated SteamWebAPI.
Miscellaneous
- Fixed several tests not validating the results properly, removed unused ones.
- Interactivity prompts (Please enter [input] in the next [number] of minutes...) is now handled by Bot Services.
- Updated variable and method names as well as output text for various commands.
tts
command is now part of the bot module (.bot tts hello world
)
2.4
New Features
- Added an
emoji
module, includes commandsadd
,modify
,delete
,list
andinfo
. - Added an
ip
command for retrieving the geographic location of an IP address, invoked with.ip
.
Bug-Fixes/Improvements
- Backend improvements and cleanup.
- Certain commands will now remove user message that invoked the command.
- Fixed the
twitch
command calling a deprecated API version. - Paginated results will now indicate when on the last set of results.
- Removed the
classifieds_all
,classifieds_my
commands from the Team Fortress module. - Removed the
subreddit
command from the Reddit module. - Removed the entire Smash Bros. module.
- Reworked the Reddit, Twitch and Steam API integration.
- Updated JSON deserialization files, removed unused variables.
- Updated NuGet packages.
- Updated output of the
tf2 server
,news
,nasa
,pokemon
,speedrun
,twitch
,tf2 schema
,tf2 server
,book
commands - Updated output text and error messages.
- Updated the
poll
command to be preset to three minutes, new call is now.poll [question]
Other
- Migrated the project to NET Core 3.0
2.3
New Features
- Added a
.news
command for retrieving news articles from NewsAPI.org. - Added a
.book
command for retrieving book information from GoodReads. - Added a
.ip
command for retrieving geolocation information of a public IP address. - Added a
.reddit
command for retrieving new, top or hot posts from a subreddit (ex..reddit top tf2
)
Bug-Fixes/Improvements
- Fixed the
.tf2 servers
command inconsistently returning results. - Updated the
.tf2 news
command to use pagination.
Other
- Common output messages are now stored in the resource file.
- Corrected various spelling mistakes. Updated nuget packages.
- Refactored various commands in the channel group.
- Removed unused reddit and backpack.tf commands and nuget packages.
- Removed unused JSON model variables.
2.2
New Features
- Added a
.nasa
command for retrieving the Astrology Picture of the Day from the NASA API. - Added a
.amiibo
command for retrieving given Nintendo amiibo figurine information. - Added a
.sudo setname
command for changing the name of the bot client (owner only).
Bug-Fixes/Improvements
- Fixed any user being able to respond to the
.bot leave
command - Fixed the
speedrun
andtf2 schema
commands not returning results consistently - Replaced the now deprecated API URL for the
smash
command - Updated the output of the
speedrun
andsmash
commands
Other
- Added exception handling for DSharpPlus' exception type ChecksFailed
- Added the null-coalescing operator (??) wherever applicable
- All API URLs are now stored in the resource file
- Miscellaneous bug-fixes, refactors and general improvements.
- Moved the
connect
command to the Steam group (.steam connect
) - Split the codebase into separate core and framework projects. Core holds all the command definitions for interacting with the Discord API while the Framework handles API calls.