Compare commits
No commits in common. 'c5eba642d0bbe21739be2f27bb6ce4c56343bc2a' and 'a22ac3edd2ddac54b94ada7d002ceb6abd04cc97' have entirely different histories.
c5eba642d0
...
a22ac3edd2
@ -1,23 +0,0 @@ |
|||||||
module.exports = async (client, message) => { |
|
||||||
if (!message.content || !message.content.length) {return;} //privileged intent fallback
|
|
||||||
|
|
||||||
if ([`<@${client.user.id}>`, `<@!${client.user.id}>`].includes(message.content.trim())) {} //TODO insert ping hello
|
|
||||||
|
|
||||||
let cmd = {}; |
|
||||||
cmd.msg = message.content.toLowerCase().trim(); //i believe in shitty naming conventions :D
|
|
||||||
|
|
||||||
let prefixUsed = cmd.msg.startsWith(client.basePrefix) ? client.basePrefix //stamdard default/dev client prefix
|
|
||||||
: cmd.msg.startsWith(`<@${client.user.id}>`) ? `<@${client.user.id}>` //mention prefix
|
|
||||||
: cmd.msg.startsWith(`<@!${client.user.id}>`) ? `<@!${client.user.id}>` //nicknamed mention prefix
|
|
||||||
: null //no prefix used
|
|
||||||
|
|
||||||
cmd.prefix = prefixUsed; |
|
||||||
|
|
||||||
if (!cmd.prefix) {return;} // ----------> PREFIXED GATEWAY <----------
|
|
||||||
|
|
||||||
cmd.msg = cmd.msg.slice(prefixUsed.length); |
|
||||||
let args = cmd.msg.split(/\s+/gm); //"args" is split by ALL WHITESPACE AND IS LOWERCASED
|
|
||||||
cmd.name = args.shift(); //the command without the prefix
|
|
||||||
cmd.msg = args.join(" "); |
|
||||||
cmd.args = message.content.trim().slice(prefixUsed.length).trim().split(/ +/gm).slice(1); //args but preserves text state and newlines
|
|
||||||
}; |
|
@ -1,5 +1,7 @@ |
|||||||
|
const Discord = require('discord.js'); |
||||||
|
|
||||||
module.exports = async client => { |
module.exports = async client => { |
||||||
client.basePrefix = client.config.options.dev ? client.config.options.prefix || "n!" : "n?"; |
client.prefix = "n?"; |
||||||
|
|
||||||
require('../../startup/run/hello')(client); // startup info
|
require('../../startup/run/hello')(client); // startup info
|
||||||
require('../../startup/run/setstatus')(client); |
require('../../startup/run/setstatus')(client); |
||||||
|
@ -1,20 +0,0 @@ |
|||||||
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(''); |
|
||||||
} |
|
||||||
}; |
|
@ -1,25 +0,0 @@ |
|||||||
export class Tag { |
|
||||||
triggers: string[] = []; |
|
||||||
tagName: string; |
|
||||||
filterType: TagFilterType; |
|
||||||
|
|
||||||
constructor(triggers: string[], tagName: string, filterType: TagFilterType) { |
|
||||||
let trigger: string; for (trigger of triggers) { |
|
||||||
this.triggers.push( |
|
||||||
trigger.trim().startsWith("-") ? trigger.trim() : `-${trigger.trim()}` |
|
||||||
); |
|
||||||
} |
|
||||||
|
|
||||||
this.tagName = tagName; |
|
||||||
this.filterType = filterType; |
|
||||||
}; |
|
||||||
|
|
||||||
public addTrigger(trigger: string): Tag { |
|
||||||
this.triggers.push( |
|
||||||
trigger.trim().startsWith("-") ? trigger.trim() : `-${trigger.trim()}` |
|
||||||
); |
|
||||||
return this; |
|
||||||
}; |
|
||||||
} |
|
||||||
|
|
||||||
type TagFilterType = "append" | "toggle" | "listAppend"; |
|
@ -1,63 +0,0 @@ |
|||||||
import {Tag} from "./tag"; |
|
||||||
|
|
||||||
export {Tag}; |
|
||||||
export class TagFilter { |
|
||||||
tags: Tag[]; |
|
||||||
triggers: Map<String, String>; |
|
||||||
filterTypes: Map<String, TagFilterType>; |
|
||||||
|
|
||||||
constructor(tags: Tag[]) { |
|
||||||
this.tags = tags; |
|
||||||
this.triggers = new Map<String, String>(); |
|
||||||
this.filterTypes = new Map<String, TagFilterType>(); |
|
||||||
let tag: Tag; |
|
||||||
for (tag of this.tags) { |
|
||||||
let trigger: string; for (trigger of tag.triggers) { |
|
||||||
this.triggers.set(trigger, tag.tagName); |
|
||||||
} |
|
||||||
if (!this.filterTypes.has(tag.tagName)) {this.filterTypes.set(tag.tagName, tag.filterType);} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
public test(text: string): object { |
|
||||||
var filtered: object = {}; |
|
||||||
var reading: string = null; |
|
||||||
var filterType: TagFilterType; |
|
||||||
var ticks = {}; |
|
||||||
|
|
||||||
let words = text.trim().split(/\s+/g); |
|
||||||
let word: string; for (word of words) { |
|
||||||
if (word.startsWith('-') && word.length > 1 && this.triggers.has(word.trim())) { |
|
||||||
filterType = this.filterTypes.get(this.triggers.get(word.trim())); |
|
||||||
reading = !['append', 'listAppend'].includes(filterType) ? null : word.trim(); |
|
||||||
if (!reading) {filtered[`${this.triggers.get(word.trim())}`] = true;} |
|
||||||
else {filtered[`${this.triggers.get(reading)}`] = filterType == 'append' ? '' : Array.isArray(filtered[`${this.triggers.get(reading)}`]) ? filtered[`${this.triggers.get(reading)}`] : [];} |
|
||||||
if (filterType == "listAppend") { |
|
||||||
if (ticks[`${this.triggers.get(word.trim())}`] && ticks[`${this.triggers.get(word.trim())}`].length) {filtered[`${this.triggers.get(word.trim())}`].push(ticks[`${this.triggers.get(word.trim())}`]);} |
|
||||||
ticks[`${this.triggers.get(word.trim())}`] = ''; |
|
||||||
} |
|
||||||
} |
|
||||||
else if (reading) { |
|
||||||
if (filterType == "listAppend") {ticks[`${this.triggers.get(reading)}`] += ` ${word}`;} |
|
||||||
else {filtered[`${this.triggers.get(reading)}`] = `${filtered[`${this.triggers.get(reading)}`]} ${word}`;} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
let tick: string; for (tick of Object.keys(ticks)) { |
|
||||||
if (ticks[tick].length) {filtered[tick].push(ticks[tick]);} |
|
||||||
} |
|
||||||
|
|
||||||
let key: string; for (key of Object.keys(filtered)) { |
|
||||||
if (typeof filtered[key] == 'string') {filtered[key] = filtered[key].trim();} |
|
||||||
else if (Array.isArray(filtered[key])) { |
|
||||||
let subkey: string; for (subkey of filtered[key]) { |
|
||||||
filtered[key][filtered[key].indexOf(subkey)] = subkey.trim(); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
return filtered; |
|
||||||
}; |
|
||||||
} |
|
||||||
|
|
||||||
type TagFilterType = "append" | "toggle" | "listAppend"; |
|
@ -1,9 +0,0 @@ |
|||||||
export declare class Tag { |
|
||||||
triggers: string[]; |
|
||||||
tagName: string; |
|
||||||
filterType: TagFilterType; |
|
||||||
constructor(triggers: string[], tagName: string, filterType: TagFilterType); |
|
||||||
addTrigger(trigger: string): Tag; |
|
||||||
} |
|
||||||
declare type TagFilterType = "append" | "toggle" | "listAppend"; |
|
||||||
export {}; |
|
@ -1,21 +0,0 @@ |
|||||||
"use strict"; |
|
||||||
Object.defineProperty(exports, "__esModule", { value: true }); |
|
||||||
exports.Tag = void 0; |
|
||||||
class Tag { |
|
||||||
constructor(triggers, tagName, filterType) { |
|
||||||
this.triggers = []; |
|
||||||
let trigger; |
|
||||||
for (trigger of triggers) { |
|
||||||
this.triggers.push(trigger.trim().startsWith("-") ? trigger.trim() : `-${trigger.trim()}`); |
|
||||||
} |
|
||||||
this.tagName = tagName; |
|
||||||
this.filterType = filterType; |
|
||||||
} |
|
||||||
; |
|
||||||
addTrigger(trigger) { |
|
||||||
this.triggers.push(trigger.trim().startsWith("-") ? trigger.trim() : `-${trigger.trim()}`); |
|
||||||
return this; |
|
||||||
} |
|
||||||
; |
|
||||||
} |
|
||||||
exports.Tag = Tag; |
|
@ -1,10 +0,0 @@ |
|||||||
import { Tag } from "./tag"; |
|
||||||
export { Tag }; |
|
||||||
export declare class TagFilter { |
|
||||||
tags: Tag[]; |
|
||||||
triggers: Map<String, String>; |
|
||||||
filterTypes: Map<String, TagFilterType>; |
|
||||||
constructor(tags: Tag[]); |
|
||||||
test(text: string): object; |
|
||||||
} |
|
||||||
declare type TagFilterType = "append" | "toggle" | "listAppend"; |
|
@ -1,77 +0,0 @@ |
|||||||
"use strict"; |
|
||||||
Object.defineProperty(exports, "__esModule", { value: true }); |
|
||||||
exports.TagFilter = exports.Tag = void 0; |
|
||||||
const tag_1 = require("./tag"); |
|
||||||
Object.defineProperty(exports, "Tag", { enumerable: true, get: function () { return tag_1.Tag; } }); |
|
||||||
class TagFilter { |
|
||||||
constructor(tags) { |
|
||||||
this.tags = tags; |
|
||||||
this.triggers = new Map(); |
|
||||||
this.filterTypes = new Map(); |
|
||||||
let tag; |
|
||||||
for (tag of this.tags) { |
|
||||||
let trigger; |
|
||||||
for (trigger of tag.triggers) { |
|
||||||
this.triggers.set(trigger, tag.tagName); |
|
||||||
} |
|
||||||
if (!this.filterTypes.has(tag.tagName)) { |
|
||||||
this.filterTypes.set(tag.tagName, tag.filterType); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
test(text) { |
|
||||||
var filtered = {}; |
|
||||||
var reading = null; |
|
||||||
var filterType; |
|
||||||
var ticks = {}; |
|
||||||
let words = text.trim().split(/\s+/g); |
|
||||||
let word; |
|
||||||
for (word of words) { |
|
||||||
if (word.startsWith('-') && word.length > 1 && this.triggers.has(word.trim())) { |
|
||||||
filterType = this.filterTypes.get(this.triggers.get(word.trim())); |
|
||||||
reading = !['append', 'listAppend'].includes(filterType) ? null : word.trim(); |
|
||||||
if (!reading) { |
|
||||||
filtered[`${this.triggers.get(word.trim())}`] = true; |
|
||||||
} |
|
||||||
else { |
|
||||||
filtered[`${this.triggers.get(reading)}`] = filterType == 'append' ? '' : Array.isArray(filtered[`${this.triggers.get(reading)}`]) ? filtered[`${this.triggers.get(reading)}`] : []; |
|
||||||
} |
|
||||||
if (filterType == "listAppend") { |
|
||||||
if (ticks[`${this.triggers.get(word.trim())}`] && ticks[`${this.triggers.get(word.trim())}`].length) { |
|
||||||
filtered[`${this.triggers.get(word.trim())}`].push(ticks[`${this.triggers.get(word.trim())}`]); |
|
||||||
} |
|
||||||
ticks[`${this.triggers.get(word.trim())}`] = ''; |
|
||||||
} |
|
||||||
} |
|
||||||
else if (reading) { |
|
||||||
if (filterType == "listAppend") { |
|
||||||
ticks[`${this.triggers.get(reading)}`] += ` ${word}`; |
|
||||||
} |
|
||||||
else { |
|
||||||
filtered[`${this.triggers.get(reading)}`] = `${filtered[`${this.triggers.get(reading)}`]} ${word}`; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
let tick; |
|
||||||
for (tick of Object.keys(ticks)) { |
|
||||||
if (ticks[tick].length) { |
|
||||||
filtered[tick].push(ticks[tick]); |
|
||||||
} |
|
||||||
} |
|
||||||
let key; |
|
||||||
for (key of Object.keys(filtered)) { |
|
||||||
if (typeof filtered[key] == 'string') { |
|
||||||
filtered[key] = filtered[key].trim(); |
|
||||||
} |
|
||||||
else if (Array.isArray(filtered[key])) { |
|
||||||
let subkey; |
|
||||||
for (subkey of filtered[key]) { |
|
||||||
filtered[key][filtered[key].indexOf(subkey)] = subkey.trim(); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
return filtered; |
|
||||||
} |
|
||||||
; |
|
||||||
} |
|
||||||
exports.TagFilter = TagFilter; |
|
@ -1,11 +0,0 @@ |
|||||||
{ |
|
||||||
"compilerOptions": { |
|
||||||
"module": "commonjs", |
|
||||||
"lib": ["es2017", "es6", "dom"], |
|
||||||
"target": "es2017", |
|
||||||
"declaration": true, |
|
||||||
"outDir": "./" |
|
||||||
}, |
|
||||||
"include": ["src/**/*"], |
|
||||||
"exclude": [] |
|
||||||
} |
|
Loading…
Reference in new issue