From 9e78438d0a986c8ede97774d5fe0c46a10dca2d7 Mon Sep 17 00:00:00 2001 From: GRZ4NA Date: Tue, 10 Aug 2021 02:44:08 +0200 Subject: [PATCH] added the option to disable message command (prefix) --- src/Bot.ts | 5 ++++- src/CommandManager.ts | 5 +++-- src/Help.ts | 8 ++++++-- src/types.ts | 2 +- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/Bot.ts b/src/Bot.ts index 89a7a28..aa038fd 100644 --- a/src/Bot.ts +++ b/src/Bot.ts @@ -157,7 +157,10 @@ export class Bot extends EventEmitter { if (cmdMsg) { this.emit("COMMAND", m, cmdMsg); await cmdMsg.command.start(m, cmdMsg.parameters); - } else if (m.content.startsWith(this.commands.prefix)) { + } else if ( + this.commands.prefix && + m.content.startsWith(this.commands.prefix) + ) { this.emit("MESSAGE", m); await this.messages.system.send( "NOT_FOUND", diff --git a/src/CommandManager.ts b/src/CommandManager.ts index eaaa2e3..2e5198f 100644 --- a/src/CommandManager.ts +++ b/src/CommandManager.ts @@ -12,10 +12,10 @@ import { CommandMessageStructure, PhraseOccurrenceData } from "./types.js"; export class CommandManager { list: Command[]; - prefix: string; + prefix?: string; argumentSeparator: string; - constructor(prefix: string, argumentSeparator?: string) { + constructor(prefix?: string, argumentSeparator?: string) { this.list = []; this.prefix = prefix; this.argumentSeparator = argumentSeparator || ","; @@ -85,6 +85,7 @@ export class CommandManager { * @returns *CommandMessagesStructure* | *null* */ fetchFromMessage(message: Message): CommandMessageStructure | null { + if (!this.prefix) return null; if (!message.author.bot && message.content.startsWith(this.prefix)) { const content = message.content.replace(this.prefix, ""); const name = content.split(" ")[0]; diff --git a/src/Help.ts b/src/Help.ts index 4df3ddf..59a6cc4 100644 --- a/src/Help.ts +++ b/src/Help.ts @@ -41,7 +41,9 @@ export class HelpMessage extends Command { if (cmd.usage) helpMsg.addField( "Usage:", - `${cmdManager.prefix}${cmd.name} ${cmd.usage}`, + `${cmdManager.prefix || "/"}${cmd.name} ${ + cmd.usage + }`, false ); if ( @@ -79,7 +81,9 @@ export class HelpMessage extends Command { cmdManager.list.map((c) => { if (c.visible) { helpMsg.addField( - `${cmdManager.prefix}${c.name} ${c.usage}`, + `${cmdManager.prefix || "/"}${c.name} ${ + c.usage + }`, c.description, false ); diff --git a/src/types.ts b/src/types.ts index 911422d..036868b 100644 --- a/src/types.ts +++ b/src/types.ts @@ -10,7 +10,7 @@ import type { Command } from "./Command.js"; export interface InitOptions { name: string; - prefix: string; + prefix?: string; argumentSeparator?: string; clientOptions?: ClientOptions; token: string;