From 3bdfb83d62b2241921ab56da8b1f9d19f81fd31c Mon Sep 17 00:00:00 2001 From: WubzyGD Date: Tue, 22 Nov 2022 04:24:28 -0700 Subject: [PATCH] startup flags --- bot.js | 2 ++ src/handle/runtime/events/ready.js | 4 +--- src/handle/startup/run/getflags.js | 20 ++++++++++++++++++++ src/handle/startup/run/setstatus.js | 2 +- 4 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 src/handle/startup/run/getflags.js diff --git a/bot.js b/bot.js index 8630c81..f112116 100644 --- a/bot.js +++ b/bot.js @@ -25,6 +25,8 @@ const startBot = async () => { client.log(client.utils.gr(client.config.randResp.clistart), {color: "#78d9f8", source: "NATS"}, true, true); //natsuki's wakeup log + require('./src/handle/startup/run/getflags')(client); + await require('./src/db/connect')(client); //connect to database await require('./src/handle/startup/run/collect')(client); //load in commands and events await require('./src/handle/startup/run/login')(client); //log in to discord diff --git a/src/handle/runtime/events/ready.js b/src/handle/runtime/events/ready.js index afe5dbc..e07fc04 100644 --- a/src/handle/runtime/events/ready.js +++ b/src/handle/runtime/events/ready.js @@ -1,7 +1,5 @@ -const Discord = require('discord.js'); - module.exports = async client => { - client.prefix = "n?"; + client.basePrefix = client.config.options.dev ? client.config.options.prefix || "n!" : "n?"; require('../../startup/run/hello')(client); // startup info require('../../startup/run/setstatus')(client); diff --git a/src/handle/startup/run/getflags.js b/src/handle/startup/run/getflags.js new file mode 100644 index 0000000..d4a448f --- /dev/null +++ b/src/handle/startup/run/getflags.js @@ -0,0 +1,20 @@ +const chalk = require('chalk'); + +const {Tag, TagFilter} = require('../../../util/ts/tagfilter'); + +module.exports = client => { + const options = new TagFilter([ + new Tag(['dev', 'd', 'developer', 'test'], 'dev', 'toggle'), + new Tag(['prefix', 'devprefix'], 'prefix', 'append') + ]).test(process.argv.slice(2).join(" ")); + client.config.options = {}; + + if (Object.keys(options).length) { //log and set options + client.log(`${chalk.gray.bold("Arguments detected.")}`, {source: 'args'}, 0, 1); + Object.keys(options).forEach(arg => { + client.config.options[arg] = options[arg]; + client.log(`${chalk.gray.bold(arg)}${chalk.gray(':')} ${chalk.blue(options[arg])}`, {source: 'args'}); + }); + console.log(''); + } +}; \ No newline at end of file diff --git a/src/handle/startup/run/setstatus.js b/src/handle/startup/run/setstatus.js index 24e35c7..a4af7cd 100644 --- a/src/handle/startup/run/setstatus.js +++ b/src/handle/startup/run/setstatus.js @@ -1,5 +1,5 @@ module.exports = client => { - const prefix = client.prefix; + const prefix = client.basePrefix; const statuses = { "PLAYING": [ `with my darling`, 'RAIN: Shadow Lords', "with my waifu", "with the neko formula",