Neos.js Plugin - Commands

Plugin Library for Neos.js

Neos.js Plugin - Commands
Static Members
neosjs-commands

CommandManager

new CommandManager()
Example
const CommandManager = require("neosjs-commands");
const Neos = new (require("@bombitmanbomb/neosjs"))
Command = CommandManager.Create(Neos)
Command.Add("Ping", (Handler)=>{Handler.Reply("Pong")})
Command.SetHelp("Ping", {index:"Ping Pong!", usage:Command.Options.Prefix+"Ping"})
Command.Add("Relay", (Handler, Sender, Args)=>{
 if (Args.length<2) return Handler.Usage();
 if (!Args[0].startsWith("U-")) return Handler.Reply("First Argument must be a UserID.");
 if (!Neos.IsFriend(Args[0])) return Handler.Reply("User is not a Friend of the bot.");
 Neos.SendTextMessage(Args.shift(), Args.join(" ")); // Remove first argument (UserID) and join the rest with spaces.
 Handler.Reply("Message Sent!")
},
{
 index:"Send a message to another user via the bot.",
 usage:Command.Options.Prefix+"Relay <User-ID> <Message>"
}, ["U-BotOwner"]);
Neos.on("messageReceived", Command.Run);
Static Members
CreateCommands(neos, CommandExtendedOptions, CommandHandlerOptions)

CommandExtended

CommandExtended Plugin. Adds more features to CommandHandler

new CommandExtended(CommandHandler: CommandHandler, Options: {Prefix: "/", HelpCommand: "help", UsageCommand: "usage", CommandsCommand: "commands", HelpDefault: "Get a list of commands with $this.prefix + $this.CommandsCommand"})
Parameters
CommandHandler (CommandHandler)
Options ({Prefix: "/", HelpCommand: "help", UsageCommand: "usage", CommandsCommand: "commands", HelpDefault: "Get a list of commands with $this.prefix + $this.CommandsCommand"})
Example
const CommandHandler = require("@bombitmanbomb/neosjs/Plugins/CommandHandler")
const CommandExtended = require("@bombitmanbomb/neosjs/Plugins/CommandExtended")
const NEOS = require("@bombitmanbomb/neosjs")
const Neos = new NEOS()
const Command = new CommandExtended(new CommandHandler(Neos),Options);
Command.Add("Ping", (Handler)=>{Handler.Reply("Pong")})
Command.SetHelp("Ping", {index:"Ping Pong!", usage:Command.Options.Prefix+"Ping"})
Command.Add("Relay", (Handler, Sender, Args)=>{
 if (Args.length<2) return Handler.Usage();
 if (!Args[0].startsWith("U-")) return Handler.Reply("First Argument must be a UserID.");
 if (!Neos.IsFriend(Args[0])) return Handler.Reply("User is not a Friend of the bot.");
 Neos.SendTextMessage(Args.shift(), Args.join(" ")); // Remove first argument (UserID) and join the rest with spaces.
 Handler.Reply("Message Sent!")
},
{
 index:"Send a message to another user via the bot.",
 usage:Command.Options.Prefix+"Relay <User-ID> <Message>"
}, ["U-BotOwner"]);
Neos.on("messageReceived", Command.Run);
Instance Members
Add(Command, Script, Help, Whitelist?)
Run(Message)
SetHelp(Command, Help)

CommandHandler

CommandHandler Plugin.

new CommandHandler(NeosJS: Class, Invalid: String)
Parameters
NeosJS (Class) Neos.js "this" instance
Invalid (String = "Invalid Command")
Example
const NEOS = require("@bombitmanbomb/neosjs")
const Neos = new NEOS()
const CommandHandler = require("@bombitmanbomb/neosjs/Plugins/CommandHandler")
const Command = new Commandhandler(Neos)
Command.Add("Ping", (Handler)=>{Handler.Reply("Pong!")});
Neos.on("messageReceived", (Message)=>{
	Command.Run(Message)
})
Static Members
Add(command, cb, whitelist?)
Run(Message, Extra)

Handler

new Handler()
Static Members
Help(index, Args)
Reply(Message)
Usage(Args)

HandlerCallback

HandlerCallback(Handler: Handler?, Sender: String?, Args: Array<String>?)
Parameters
Handler (Handler?) Send a reply to the Sender
Sender (String?) U-ID of the user who triggered the command
Args (Array<String>?) Arguments to the Command