This repository has been 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.