dank-bot-js/main.js

56 lines
1.3 KiB
JavaScript

const Discord = require("discord.js");
const Gamedig = require('gamedig');
const client = new Discord.Client();
const fs = require('fs');
const request = require('request');
const rp = require('request-promise-native');
const striptags = require('striptags');
const glob = require('glob');
const path = require('path');
const twitter = require('twitter');
var markov = require('markov');
var m = markov(2);
let bot_modules = [];
let triggers = [];
async function main() {
console.log("Loading modules...");
let modules = glob.sync('./bot-modules/**/module.js');
for(const mod of modules) {
const parts = mod.split('/');
const mod_name = parts[parts.length-2];
const mod_cls = require(mod);
const mod_obj = new mod_cls();
bot_modules[mod_name] = mod_obj;
for(const t of mod_obj.matches) {
triggers[t] = mod_name;
}
console.log(`## Loaded ${mod_name}`);
}
console.log(triggers);
client.login('MzYyNzU1MzE3MTczNTgzODcy.DK3R1A.8M22ZkNaaoHy-ifBQwVivSU7svY');
client.on('ready', () => {
console.log(`Logged into Discord as ${client.user.tag}`);
});
client.on('message', async (msg) => {
for(const t in triggers) {
console.log(t);
if (msg.content.startsWith(`!${t}`)) {
console.log(`+ Bot module ${triggers[t]} triggered.`);
await bot_modules[triggers[t]].action(msg);
break;
}
}
});
}
main();