Adds a trigger manager so you can add simple commands that return plain text! default prefix is !, but can be changed with !changeprefix [prefix], to add trigger run [prefix]addtrigger [triggername] [output]!
const lib = require('lib')({token: process.env.STDLIB_SECRET_TOKEN});
const argsv = context.params.event.content.split(' ');
const allKeys = await lib.utils.kv['@0.1.16'].entries();
function remId(input) {
return input.replace(/\/trigger\/.*?\//, '');
}
async function setPrefix() {
const temp = await lib.utils.kv['@0.1.16'].get({
key: '/trigger/prefix/',
});
if (temp) {
return temp;
} else return '!';
}
const prefix = await setPrefix();
console.log(prefix);
if (argsv[0] == prefix + 'addtrigger') {
await lib.utils.kv['@0.1.16'].set({
key: '/trigger/key/' + argsv[1],
value: argsv.slice(2).join(' '),
});
await lib.discord.channels['@0.3.0'].messages.create({
channel_id: context.params.event.channel_id,
content: 'added trigger: ' + argsv[1],
});
return 0;
} else if (argsv[0] == prefix + 'changeprefix') {
await lib.utils.kv['@0.1.16'].set({
key: '/trigger/prefix/',
value: argsv[1],
});
await lib.discord.channels['@0.3.0'].messages.create({
channel_id: context.params.event.channel_id,
content: 'changed prefix: ' + argsv[1],
});
}
for (const i in allKeys) {
if (argsv[0] == prefix + remId(allKeys[i][0])) {
let temp = await lib.utils.kv['@0.1.16'].get({
key: allKeys[i][0],
});
await lib.discord.channels['@0.3.0'].messages.create({
channel_id: context.params.event.channel_id,
content: temp,
});
}
}