47 lines
2.4 KiB
JavaScript
47 lines
2.4 KiB
JavaScript
const discordapp = require("discord.js");
|
|
const fs = require("fs");
|
|
const token = require("./token.json").token;
|
|
var config = require("./config.json");
|
|
const discord = new discordapp.Client();
|
|
const util = require("./util.js");
|
|
var invites = [];
|
|
|
|
discord.on("ready", async () => {
|
|
console.log(" Fetching current invites state.");
|
|
let tildeGuild = discord.guilds.get("387272314276020235");
|
|
invites = await util.loadInvites(tildeGuild);
|
|
console.log("Ready.");
|
|
|
|
})
|
|
discord.on("guildMemberAdd", async (member) => {
|
|
let tildeGuild = discord.guilds.get("387272314276020235");
|
|
let invitesCurrent = await util.loadInvites(tildeGuild);
|
|
var index;
|
|
for(i = 0; i < invites.length; i++){
|
|
if (invitesCurrent[i].useCount > invites[i].useCount){
|
|
index = i;
|
|
break;
|
|
}
|
|
}
|
|
invites = invitesCurrent;
|
|
member.addRole(tildeGuild.roles.find(x => x.name == config.invites[invites[index].name]));
|
|
});
|
|
|
|
discord.on("message", (message) => {
|
|
if (message.content == config.prefix + "restart" && message.author.id == config.owner){
|
|
message.reply(" Restarting, please wait.").then(() => {process.send("restart");});
|
|
|
|
}
|
|
if (message.content.startsWith(config.prefix + "exec") && message.author.id == config.owner){
|
|
var response = require("child_process").execSync(message.content.substr((config.prefix + "exec").length));
|
|
message.channel.sendCode("", response);
|
|
}
|
|
if(message.embeds.length > 0 && message.author.id != discord.user.id && !message.content.startsWith("**<TildeBot>**")){
|
|
message.embeds.forEach(elem => {
|
|
message.channel.send("<" + message.author.tag + "> _[RichEmbed]_ :\n" + (elem.url && !elem.url.startsWith("https://www.youtube.com") ? "**URL**: <" + elem.url + ">\n\n" : "") + (elem.author ? "**Author**: " + elem.author.name + (elem.author.url ? " (<" + elem.author.url + ">)" : "") + "\n\n" : "") + (elem.title ? "**Title**: " + elem.title + "\n\n" : "") + (elem.description ? "**Description**: " + elem.description + "\n\n" : "") + (elem.thumbnail ? "**Thumbnail**: " + elem.thumbnail.url + "\n\n" : "") + (elem.fields.length > 0 ? elem.fields.map(x => "**Name**: " + x.name + "\n" + "**Value**: " + x.value).join(";\n\n") : "") + (elem.image ? "**Image**: " + elem.image.url + "\n\n" : "") + (elem.footer ? "**Footer**: " + elem.footer.text + "\n" : ""))
|
|
})
|
|
}
|
|
})
|
|
|
|
console.log(" Starting up, please wait...")
|
|
discord.login(token); |