var discord = require('discord.js');
var roblox = require('noblox.js');
var client = new discord.Client();
var token = "TOKEN_HERE"
var cookie = "COOKIE HERE"
client.login(token)
roblox.cookieLogin(cookie).catch(() => {console.log("Sorry, it failed.");});
client.on("ready", () => {
client.user.setGame(`Making HL3`);
console.log(`Ready to serve on ${client.guilds.size} servers, for ${client.users.size} users.`);
});
client.on('guildMemberAdd', member => {
let guild = member.guild;
let user = member.user
console.log(`${user.tag} joined ${guild}`)
});
client.on('guildMemberRemove', member => {
let guild = member.guild;
let user = member.user
console.log(`${user.tag} left ${guild}`)
});
var prefix = '!';
var groupId = 2750654;
var maximumRank = 20;
function isCommand(command, message){
var command = command.toLowerCase();
var content = message.content.toLowerCase();
return content.startsWith(prefix + command);
}
client.on('message', (message) => {
if (message.author.bot) return; // Dont answer yourself.
var args = message.content.split(/[ ]+/)
if(isCommand('Promote', message)){
var username = args[1]
if (username){
message.channel.send(`Checking ROBLOX for ${username}`)
roblox.getIdFromUsername(username)
.then(function(id){
roblox.getRankInGroup(groupId, id)
.then(function(rank){
if(maximumRank <= rank){
message.channel.send(`${id} is rank ${rank} and not promotable.`)
} else {
message.channel.send(`${id} is rank ${rank} and promotable.`)
roblox.promote(groupId, id)
.then(function(roles){
message.channel.send(`Promoted from ${roles.oldRole.Name} to ${roles.newRole.Name}`)
}).catch(function(err){
message.channel.send("Failed to promote.")
});
}
}).catch(function(err){
message.channel.send("Couldn't get him in the group.")
});
}).catch(function(err){
message.channel.send(`Sorry, but ${username} doesn't exist on ROBLOX.`)
});
} else {
message.channel.send("Please enter a username.")
}
return;
}
if(isCommand('Shout', message)){
const msg = message;
var Moderator = msg.author;
ShoutMessage = args.join(" ");
if (ShoutMessage) {
rbx.shout({group: groupId, message: ShoutMessage}).then(promise => {
MessageEmbed(Moderator, 0X42F47A, 'Sucessfully shouted to the Group!\n\nMessage: `' + ShoutMessage + '`');
})
} else {
MessageEmbed(Moderator, 0XFF5151, 'Please provide a shout message.\n\nUsage: `shout <message>`');
};
function MessageEmbed(Mod1, Color, Description) {
var embed = new Discord.MessageEmbed()
.setAuthor(Mod1.tag, Mod1.displayAvatarURL())
.setColor(Color)
.setDescription(Description);
msg.channel.send({ embed });
}
});```
*NOTE I will Replace this with better code with Handlers etc later.*