You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5.0 KiB
5.0 KiB
Changelog
All notable changes to the discord bot will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Fixed
- bug where the bot counts itself when calculating needed votes to skip/stop music
- bug on the
ExtendedRichEmbed
whereaddField
andsetDescription
throws an error when the value is null or undefined - bug on
AnilistApiCommands
where theRichCharacterInfo
uses a nonexistent function of theExtendedRichEmbed
- bug on
AnilistApi
where the.gql
files couldn't be found. - Typo in changelog
Changed
- name of MiscCommands module from
TemplateCommandModule
toMiscCommandModule
- moved everything in
lib
to subfolders with the same name as the files and renamed the files toindex.js
- renamed libfolders to lowercase and removed the lib suffix
- moved commands outside of
lib
- switched from opusscript to node-opus for voice
- all hard coded sql statements to generic sql generation
- MusicPlayer to extend the default EventEmitter
- MessageHandler to accept instances of Response and redirect events to it
- switched to
ytdl-core-discord
for youtube audio playback
Added
- Utility classes for generic SQL Statements
- logging of unrejected promises
- database class for database abstraction (lib/database)
- config entry for
database
with supported valuespostgresql
orsqlite
- config entry for
databaseConnection
for postgresql (user
,host
,password
,database
,port
) - table
settings
to each guild to store guild specific settings - table
messages
to main database where messages are stored for statistical analysis and bug handling - ExtendedEventEmitter class in lib/utils/extended-events.js
- Response object that allows the registration of events for messages
Removed
~volume
command because volume can't be controlled anymore- volume functions and properties from the MusicPlayer
[0.11.0-beta] - 2019-03-03
Changed
- template Files to name
template.yaml
- loading template file form CommandModule property
templateFile
to loading thetemplate.yaml
file from the_templateDir
property (still supporting loading form templateFile) - ExtendedRichEmbed checks if fields are empty again after replacing values
Added
.template
to commands as a template for a command module with help comments- METADATA property to
template.yaml
files that is used as an anchor for shared command metadata (likecategory
) CommandModule
Misc with command that are not really fitting into any other module- option to query this CHANGELOG with
_changes [version]
and_versions
in theCommandModule
Info
Removed
ExtendedRichEmbed.addNonemptyField
because the overide of.addField
does the same
[0.10.1]-beta - 2019-03-03
Changed
- Bugfix on RichEmbed not returning itself on addField and setDescription because of method overide
- AniList CommandModule bug fix on
~alCharacter
not returning voice actor names
[0.10.0-beta] - 2019-03-03
Added
- AniList api commands powered by AniList.co
- MessageHandler - handles all incoming messages, parses the syntax, executes the syntax and handles rate limits
- CommandHandler - handles all single commands, checks command Permission and executes the command
- Command - represents a single command with the necessary metadata and answer instance
- Answer - represents a commands answer with own syntax parsing (can be overwritten)
- CommandModule - represents a single module of a command with the initialization and registring of command to the command handler. Each module owns an instance of the logger
- ExtendedRichEmbed - extends the functinality of the default discord.js RichEmbed with auto cropping of too long field values, functions to add an Object with fields that are not empty and automatic timestamp addition
Changed
- Command Syntax now orients more on linux/unix style with
&&
and;
- GuildHandler now doesn't handle commands anymore
- the default logger is now a wrapper around the winston.js logger that loggs the current module's name
- all commands are now defined in the lib/commands folder with a folder for each command that contains a
index.js
and aCommandTemplate.yaml
. - Rate Limits now only affect commands
- Music commands
~skip
and~stop
now are votable when the user doesn't have the role dj or botcommander - renamed the lib/music to lib/MusicLib and the DJ class to MusicHandler class
- renamed the lib/weblib to lib/WebLib
- changed graphql schema to fit the new internal names
- changed interface to fit the new graphql schema
- changed module export definition to
Object.assign(exports, {...})
at the end of the module file - added section
commandSettings
to config.js file - added module information to webinterface log
Removed
- removed lib/cmd because all functionalities are now adapted to the MessageHandler and CommadnHandlers