Updating from V1 to V2
Full changelog is avaiable on Github
Sheweny Client
In this new version you will find new options:
joinThreadsOnCreate
: This option makes the bot join threads when they are created.mode
: This option allows to run the bot in production or development mode
The way to access the collections has to change. Instead of client.commands
, client.events
, client.buttons
etc you should do client.collections.commands
, client.collections.events
, client.collections.buttons
etc
Handlers
Commands handler
in version 2 the message commands and interaction commands are loaded at the same time. You no longer need the ApplicationCommandsHandler
and MessagesCommandsHandler
handlers but only CommandsManager
.
Version 2 also supports slash-command permissions. You can use the registerPermissions
function of the CommandsManager class or place the applicationPermissions: true
option in the constructor.
WARNING
Actualy the permissions are only available for guilds. You can put an array of guilds ids in the function but discord no support the permissions for global commands.
Setup in client :
const { ShewenyClient } = require('sheweny');
const client = new ShewenyClient({
intents: ['GUILDS'],
managers: {
commands: {
directory: './commands',
guildId: '877090306103840778', // Register commands and context-menus in this guild
prefix: '!',
applicationPermissions: true,
},
},
});
Setup with class :
const { ShewenyClient, CommandsManager } = require('sheweny');
const client = new ShewenyClient({ intents: ['GUILDS'] });
const commandsHandler = new CommandsManager(client, './commands', {
prefix: '!',
});
commandsHandler.loadAll().then(() => {
commandsHandler.registerAllApplicationCommands(client.collections.commands, '877090306103840778');
});
Inhibitors handler
The InhibitorsHandler
class has been renamed to InhibitorsManager
.
Events handler
The EventsHandler
class has been renamed to EventsManager
.
Buttons handler
The ButtonsHandler
class has been renamed to ButtonsManager
.
SelectMenus handler
The SelectMenusHandler
class has been renamed to SelectMenusManager
.
Structures
Commands
In version 2 you no longer need 2 types of structures for your orders. ApplicationCommand
and MessageCommand
merge to give Command
Version 2 also supports arguments for message commands thanks to a new property: args
. The options
property for slash-commands is kept.
It is now necessary to specify the type of command each time in the commands. The available types are : MESSAGE_COMMANDS
or SLASH_COMMAND
or CONTEXT_MENU_USER
or CONTEXT_MENU_MESSAGE
.