This repository was archived by the owner on Nov 25, 2022. It is now read-only.
Tags: ghost-discord/ghost
Tags
1.0! Changes: - Update project version to 1.0 - Add ModuleAbout, ModuleScreenshare (#8) - Migrate ModuleInfo aliases from String[] to immutable List<String> - Enforce all-lowercase command names / aliases - Handle aliases in CommandRegistry (#3) - Move InvalidModuleExceptionTest to correct package - Reformat some code - Fix permission check to consider Permission.ADMINISTRATOR - Update Travis release uploads to support refactored build tools - Add Linux ARM32 build
More abstraction, a few test commands, and a ton of other changes
Full changelog:
* Most JavaDocs have been added; all the least-straightforward code has been documented
* Command is now renamed to Module
* Further abstraction of Module, new UX features, more elegant and redundant class code
- New ModuleInfo container class for command module metadata, with a Builder included
- Added command descriptions
- Separated required permissions into bot permissions and user permissions
* package-info.java for all packages and package-level categorization via @CommandPackage(CommandType)
* CommandType is now automatically populated in ModuleInfo
* Added 'help', 'purge', and 'claimoperator' modules
* Operator commands no longer rely on a hardcoded ID to check operator status; use 'claimoperator' to set and change bot operator
* User permissions are now properly calculated & checked
* CommandType now provides Emoji icons for each type
* Migrated property configuration from Spring to Owner
* Added '--debug' command-line option to make lower-level logging accessible
* CommandDispatcher now uses an ExecutorService to start command threads instead of manually creating threads
* Module scanning & instantiation moved to separate CommandRegistry class
* CommandContext now provides the bot's Member as well as the invoker's
* Upgrade to Java 10 and modularize the application
- Note: 11 is definitely preferable, since it's the current LTS, but Hibernate depends on the java.activation module
which was removed in 11. Once I can find a way to get jlink to recognize either the module from the Java 10 JDK or
the non-modular Maven artifact, ghost2 will be migrated to 11 immediately.