tokebot/lib/discordbot.js
2021-12-06 19:59:30 -05:00

48 lines
1.3 KiB
JavaScript

const C = require("cli-color");
const Discord = require("discord.js");
const utils = require("./utils.js");
const strings = require("./strings.js");
function DiscordBot(bot, token) {
this.client = new Discord.Client();
this.client.on("ready", ()=>{
bot.logger.log(C.greenBright(strings.format(bot, "DISCORD_READY")));
});
/*this.client.on("shardDisconnect", (ev, shardID)=>{
bot.logger.log(C.redBright("Discord Bot disconnected! [" + shardID + "]"));
});*/
/*this.client.on("shardReconnecting", (shardID)=>{
bot.logger.log(C.yellowBright("Discord Bot reconnecting... [" + shardID + "]"));
});*/
this.client.on("error", (err)=>{
bot.logger.error(C.red("Discord error: " + err));
});
this.client.login(token);
this.lastNowPlayingWasGreen = false;
this.createEmbed = function() { return new Discord.MessageEmbed()
.setFooter("https://"+bot.cfg.connection.hostname+"/r/" + bot.CHANNEL.room + " • " + utils.getUTCTimestamp() + " UTC", bot.cfg.discord.iconUrl);
}
}
DiscordBot.prototype.getChannel = function(id) {
return this.client.channels.cache.get(id);
}
module.exports = {
init: function(bot, token) {
if (token.trim() === "") {
bot.logger.error(strings.format(bot, "DISCORD_ERR_INIT", ["no token given"]));
return null;
}
return new DiscordBot(bot, token);
}
}