Research
Recent Trends in Malicious Packages Targeting Discord
The Socket research team breaks down a sampling of malicious packages that download and execute files, among other suspicious behaviors, targeting the popular Discord platform.
slash-command
Advanced tools
Readme
A simple slash command parsing module written in JavaScript. In other words, a function that parses a string and returns an object which separates the command keyword(s) from the body of the command.
slashCommand('/mycommand This is the command body');
slashCommand()
returns the following object:
{
slashcommand: '/mycommand', // command(s) as stated
command: 'mycommand', // main command name (first in string)
subcommands: null, // array of subcommands; see below for more info.
body: 'This is the command body', // the body of the command
original: '/mycommand This is the command body' // the original string
}
This tiny module abstracts away the string-parsing process: string manipulation, matching regular expressions, mapping arrays, replacing strings, etc.
slash-command
takes a string, parses it, and returns an object containing the slash command keywords, subcommands (see below), body, and the original string.
slash-command
is useful when building:
Installing the slash-command
module is as simple as installing any other npm module:
$ npm install slash-command --save
slash-command
exports a single function, so it is quite to use:
var slashCommand = require('slash-command');
/* OR, some ES6 module-loading love: */
import slashCommand from 'slash-command';
slashCommand('/tweet This is a tweet.');
slashCommand()
returns the following object:
{
slashcommand: '/tweet', // command(s) as stated
command: 'tweet', // main command (first in string)
subcommands: null, // array of all subcommands; null if there are none
body: 'This is a tweet.', // the body of the command
original: '/tweet This is a tweet.' // the original string
}
Let's suppose there are multiple consecutive slash commands in the string. We could use them!
I call these subcommands, and slash-command
supports them very well. It returns all of them in a "subcommands
" array inside the result object (in order of appearance; from left to right) so you can do whatever crazy thing you want with them.
var slashCommand = require('slash-command');
/* or, for some ES6 module-loading love */
import slashCommand from 'slash-command';
slashCommand('/google/calendar Meeting with Sarah at 6pm.');
slashCommand()
returns the following object:
{
slashcommand: '/google/calendar', // command(s) as stated
command: 'google', // main command (first in string)
subcommands: ['calendar'], // array of all subcommands
body: 'Meeting with Sarah at 6pm.', // the body of the command
original: '/google/calendar Meeting with Sarah at 6pm.' // the original string
}
string
([string]
): The string argument; contains a slash command.Want to run the tests? Go ahead and type the following in your terminal/command prompt:
$ npm install
$ npm test
Something does not work as expected or perhaps you think this module needs a feature? Please open an issue using GitHub's issue tracker.
Pull Requests (PRs) are welcome. Just make sure you follow the same basic style conventions as the original code.
FAQs
Simple slash command parsing module
We found that slash-command demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
The Socket research team breaks down a sampling of malicious packages that download and execute files, among other suspicious behaviors, targeting the popular Discord platform.
Security News
Socket CEO Feross Aboukhadijeh joins a16z partners to discuss how modern, sophisticated supply chain attacks require AI-driven defenses and explore the challenges and solutions in leveraging AI for threat detection early in the development life cycle.
Security News
NIST's new AI Risk Management Framework aims to enhance the security and reliability of generative AI systems and address the unique challenges of malicious AI exploits.