@gary50613/discord.js-command-handler
Version:
simple discord.js v13 command handler
177 lines (143 loc) • 4.02 kB
Markdown
> 簡易的 discord.js 指令框架
[](README.md)
***
在終端機輸入
```shell
npm i @gary50613/discord.js-command-handler
```
```shell
npm i
npm test
```
- 快速設置
- 完美兼容 discord.js
- **支持冷卻時間**
- **完整錯誤處理**
- 支援事件監聽
- 支援指令群組
初始化使用 [選項](
```js
const Discord = require('discord.js')
// 匯入一個指令
const ping = require("./commands/ping")
const bot = new Discord.Client()
require("@gary50613/djs-command-handler")(bot, {
prefix: '.',
// 選項
})
// 註冊整個資料夾的指令
bot.commands.loadCommands("./commands")
// 註冊一個指令
bot.commands.register(new ping())
// 或是一次註冊多個指令
bot.commands.register(new ping(), ..., ...)
// 監聽事件
bot.commands.on("dm", (m) => {
m.channel.send("只能在伺服器使用指令!")
})
bot.login(process.env.TOKEN)
```
製作一個指令
```js
const { Command } = require("@gary50613/djs-command-handler")
class Ping extends Command {
constructor() {
super(
"ping", // 名字
"取得機器人延遲", // 簡介
".ping", // 使用說明
"general", // 群組
["pong"] // 別名
);
}
// 執行指令的方法
execute(bot, message, args) {
// 就像寫 discord.js 一樣!
message.reply('pong!')
}
}
module.exports = Ping
```
初始化使用 [選項](
```ts
import { Client } from "discord.js"
import init from "@gary50613/discord.js-command-handler"
// 匯入一個指令
import ping from "./commands/Ping"
const bot = new Client()
init(bot, {
prefix: ".",
// 選項
})
// 註冊整個資料夾的指令
bot.commands.loadCommands("./commands")
// 註冊一個指令
bot.commands.register(new ping())
// 或是一次註冊多個指令
bot.commands.register(new ping(), ..., ...)
// 監聽事件
bot.commands.on("dm", (m) => {
m.channel.send("u can only use command in a guild!")
})
bot.login(process.env.TOKEN)
```
製作一個指令
```ts
import { Command } from "@gary50613/discord.js-command-handler";
import { Client, Guild, GuildMember, Message } from "discord.js";
export default class Ping extends Command {
public constructor() {
super(
"ping", // 名字
"取得機器人延遲", // 簡介
".ping", // 使用說明
"general", // 群組
["pong"] // 別名
);
}
// 執行指令的方法
public async execute(bot: Client, message: Message, args: string[]) {
// 就像寫 discord.js 一樣!
message.reply("pong!")
}
}
```
類型 | 簡介 | 參數
---|---|---
dm | 當私訊使用指令 | 訊息
ratelimit | 當使用者被冷卻 | 秒數, 訊息
execute | 指令成功執行 | 指令, 訊息
error | 指令執行時出錯 | 錯誤, 指令, 訊息
promiseError | 執行Promise時出錯 | 錯誤, 指令, 訊息
```js
{
ratelimit: {
enable: false, // 是否啟用冷卻
interval: 5000, // 冷卻時間
bypass: {
users: [], // 特定可以略過冷卻的使用者ID
permissions: ["ADMINISTRATOR"], // 特定可以略過冷卻的權限
roles: [] // // 特定可以略過冷卻的身分組ID
}
},
prefix: "PREFIX", // 機器人的前綴
dm: false, // 是否接受私訊指令
bot: false // 是否接受機器人指令
}
```
🧑💻 **Kane**
- Github [@Gary50613](https://github.com/Gary50613)
可以發 [issue](https://github.com/Gary50613/discordjs-command-handler/issues) 給我或
加入 [我的Discord伺服器](https://discord.gg/ct2ufag)