Install all dependencies using npm
$ npm install
$ npm run build
cp .env.example .env
add your token to .env
use cli.js (process.arv) as input
$ STATUS=debug npm start calc 1 + 1
for discord or telegram set TELEGRAM_TOKEN or DISCORD_TOKEN in .env
$ npm run dev auto reload (use telegram or discord based on given token)
build and start main.js from build
$ npm start
you can just add DISCORD_TOKEN without TELEGRAM_TOKEN
to create a command create a file in src/commands folder, create a class that have a method called handle, ready, and variable this.INFO with some data, you can see in other command file
this.INFO use to define command (required), description (required), for (optional) and required (optional)
import Rin from '../core/rin'
export default class Command{
constuctor() {
this.INFO = {
command: 'something',
description: 'make your life easier',
for: 'discord' // or array ['discord', 'cli']
required: [
{
value: process.env.COMMAND_TOKEN,
toBe: Rin.notEmpty
}
]
}
}
}ready is called when this.INFO.required passed (optional)
import Rin from '../core/rin'
export default class Command{
constuctor() {
this.INFO = {
command: 'sapi',
description: 'make me happy',
required: [
{
value: process.env.SAPI_TOKEN,
toBe: Rin.notEmpty
}
]
}
this.SAPI = new SOMETHING_API()
}
ready() {
this.SAPI.register(process.env.SAPI_TOKEN)
}
}handle is called when user type the command
export default class Command{
constuctor() {
this.INFO = {
command: 'kill',
description: 'kill your ex'
}
}
handle(message) {
const exname = message.join(' ')
return `${exname} has been killed`
}
}for helper, create a method in Rin class src/core/rin.js
always run $ npm run lint if you want to create a PR
$ npm test
create a unit test in test/command folder for subcommand testing and test/__data__ for mock data, testing are test src folder, so we don't need to rebuild
- Fork this repository
- Create a feature branch (never edit your master branch)
$ git checkout -b add-eat-command - Create your features, see: development section
- Push your changes
$ git push origin add-eat-command - Create a pull request
I am very happy if you want to contribute!
This project is licensed under the terms of the MIT license.
Image License: I don't know