esd-discord
Version:
ESD discord bot framework
121 lines (111 loc) • 3.54 kB
JavaScript
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)
// }