UNPKG

esd-discord

Version:

ESD discord bot framework

121 lines (111 loc) 3.54 kB
function esd(token){ let Discord = require('discord.js') const client = new Discord.Client() client.login(String(token)) return { "onMsg":(callback)=>{ if(typeof callback != "function"){throw new Error("callback isnt a function")}else{ return client.on("message", (msg)=>{ if(msg.author.bot){return} callback(msg, { "authorID":msg.author.id, "args":msg.content.split(" "), "channelID":msg.channel.id }) }) } }, "onCommand":(command,callback)=>{ if(typeof callback != "function"){throw new Error("callback isnt a function")}else{ return client.on("message", (msg)=>{ if(msg.author.bot){return} if(msg.content.startsWith(command)){callback(msg, { "authorID":msg.author.id, "args":msg.content.split(" "), "channelID":msg.channel.id })} }) } }, "sendToUser":(id, text)=>{ client.users.get(String(id)).send(String(text)) }, "sendToChannel":(id,text)=>{ client.channels.get(String(id)).send(String(text)) }, "sendEmbedToChannel":(id,emOpts)=>{ let emMsg=new Discord.RichEmbed() if(emOpts.title){ emMsg.title=emOpts.title }else{emMsg.title="ESD embed"} if(emOpts.url){ emMsg.url=emOpts.url } if(emOpts.color){ emMsg.color="rgb(115, 77, 204)" } if(emOpts.image){ emMsg.image=emOpts.image } if(emOpts.description){ emMsg.description=emOpts.description } if(emOpts.footer){ emMsg.footer=emOpts.footer } client.channels.get(String(id)).send(emMsg) }, "sendEmbedToUser":(id,emOpts)=>{ let emMsg=new Discord.RichEmbed() if(emOpts.title){ emMsg.title=emOpts.title }else{emMsg.title="ESD embed"} if(emOpts.url){ emMsg.url=emOpts.url } if(emOpts.color){ emMsg.color=emOpts.color } if(emOpts.image){ emMsg.image=emOpts.image } if(emOpts.description){ emMsg.description=emOpts.description } if(emOpts.footer){ emMsg.footer=emOpts.footer } client.users.get(String(id)).send(emMsg) }, "onMsgEdit":(callback)=>{ if(typeof callback != "function"){throw new Error("callback isnt a function")}else{ return client.on("messageUpdate", (msg)=>{ if(msg.author.bot){return} callback(msg, { "authorID":msg.author.id, "editText":msg.author.lastMessage.content, "args":msg.author.lastMessage.content.split(" "), "channelID":msg.channel.id }) }) } } } } // function beval(code){ // const util = require('util'); // const vm = require('vm'); // const sandbox = {}; // const script = new vm.Script(`trx_c2o0=${code}`); // const context = vm.createContext(sandbox); // script.runInContext(context); // const result=util.inspect(sandbox.trx_c2o0) // console.log(util.inspect(sandbox.trx_c2o0)) // return result // } module.exports.client=(token)=>{ return esd(token) } // module.exports.beval=(code)=>{ // beval(code) // }