CircleBot/index.js

57 lines
2.0 KiB
JavaScript

const Config = require('./config/config.js');
const Servers = require('./config/servers.js');
const Discord = require('discord.js');
const client = new Discord.Client();
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`);
});
let last = "";
client.on('message', msg => {
if ( msg.content.startsWith(">>servers") && Config.CHANNELS_ALLOW.includes(msg.channel.id) ) {
let embed = new Discord.MessageEmbed()
.setTitle("Here's a list of our current servers...")
.setColor(0xFFaaaa);
Servers.forEach(function (server) {
embed.addField("**" + server.name + "** *(" + server.slug + ")*", server.description);
});
embed.setFooter("Get more info on a pack with: >>server slug\nThe slugs are in parenthesis above");
msg.channel.send(embed);
}
if ( msg.content == ">>server" ) {
msg.channel.send("**Usage:** >>server *slug*");
}
if ( msg.content.startsWith(">>server ") && Config.CHANNELS_ALLOW.includes(msg.channel.id) ) {
let cmdParts = msg.content.split(" ");
let server = Servers.find(element => element.slug == cmdParts[1]);
if ( server ) {
let embed = new Discord.MessageEmbed()
.setTitle(server.name + " *(" + server.slug + ")*")
.setDescription(server.description)
.setURL(server.platformURL)
.setThumbnail(server.iconURL)
.setColor(0xffaaaa)
.addField("**MC Version:**", server.mcVersion, true)
.addField("**Server Address:**", server.addressPrimary, true)
.addField("**Server Alternate:**", server.addressSecondary, true);
msg.channel.send(embed);
} else {
if ( cmdParts[1] ) {
msg.channel.send("No server with the slug \"" + cmdParts[1] + "\" exists");
} else {
msg.channel.send("**Usage:** >>server *slug*");
}
}
}
});
client.login(Config.BOT_TOKEN);
// vim: ts=4:sw=4