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