| Feature | Description | | :--- | :--- | | | Node.js Module exporting a Class. | | Entry Point | load(context) method. | | Exit Point | unload() method. | | Communication | Via the Context object (Events, API, Config). | | Command Logic | Defined via context.command() . | | Event Logic | Defined via context.on() . |
Beyond the gaming space, the term "Kotori" is also associated with a chatbot framework that uses a modular plugin system for platforms like Minecraft and Bangumi. Core Features of Kotori RuneLite Plugins
); , unmount() console.log('Weather plugin unloaded');
class GreetingPlugin load(context) // Register a command '!hello' context.command('hello') .description('Says hello to the user') .action((session) => return `Hello, $session.sender.nickname!`; );
Every plugin goes through a distinct lifecycle managed by the Kernel:
| Feature | Description | | :--- | :--- | | | Node.js Module exporting a Class. | | Entry Point | load(context) method. | | Exit Point | unload() method. | | Communication | Via the Context object (Events, API, Config). | | Command Logic | Defined via context.command() . | | Event Logic | Defined via context.on() . |
Beyond the gaming space, the term "Kotori" is also associated with a chatbot framework that uses a modular plugin system for platforms like Minecraft and Bangumi. Core Features of Kotori RuneLite Plugins kotori plugins
); , unmount() console.log('Weather plugin unloaded'); | Feature | Description | | :--- | :--- | | | Node
class GreetingPlugin load(context) // Register a command '!hello' context.command('hello') .description('Says hello to the user') .action((session) => return `Hello, $session.sender.nickname!`; ); | | Communication | Via the Context object
Every plugin goes through a distinct lifecycle managed by the Kernel: