Created
May 8, 2017 15:12
-
-
Save DRSchlaubi/d947b998ccc8194dbc95f3b0d297599c to your computer and use it in GitHub Desktop.
EnvoysOfTheEnd Bot
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Game | |
var game = "https://envoysoftheend.tk"; | |
script.on ("connected", function() | |
{ | |
discord.send(3, '{"idle_since":0,"game":{"type":0,"name":"' + game + '"}}'); | |
}).on("load", function() | |
{ | |
script.fireEvent("connected") | |
}); | |
//Join Messaage | |
script.on("USER_JOIN", function(m) | |
{ | |
channel = discord.getGuild("259782448819208192").getChannel("260035889877483521"); | |
channel.sendTyping().sendMessage("Herzlich Willkommen " + m.user.getHandle() + " auf dem EnvoysOfTheEnd Discord"); | |
}); | |
//Leave Message | |
script.on("USER_REMOVE", function(m) | |
{ | |
channel = channel = discord.getGuild("259782448819208192").getChannel("260035889877483521"); | |
channel.sendTyping().sendMessage("Leider hat und **"+ m.user.getTag() + "** verlassen"); | |
}); | |
// Privileged Roles: | |
var roles = ["Owner", "Administrator", "Moderator"]; | |
script.on("MESSAGE_CREATE", function(msg) | |
{ | |
//Don't handle own messages | |
if(msg.author == discord.user) | |
{ | |
return; | |
} | |
//Define Variables | |
var cont = msg.content.toLowerCase().trim(), | |
channel = msg.getChannel(); | |
if(cont == "+test") | |
{ | |
msg.delete(); | |
mymsg = channel.sendTyping.sendMessage("TEST1234BEEPBOOP HOERTIHRMICH?!?!?! <@245947357588357120>"); | |
script.timeout(function(){ mymsg.delete(); }, 5000); | |
} | |
// Find out if member is privileged | |
var hasperm = false; | |
if(!channel.is_private) | |
{ | |
script.each(channel.getGuild().getMember(msg.author).roles, function(role) | |
{ | |
script.each(roles, function(name) | |
{ | |
if(role.name == name) | |
{ | |
hasperm = true; | |
} | |
}); | |
}); | |
} | |
if(cont.substr(0, 6) == "+mute ") | |
{ | |
channel.sendTyping(); | |
msg.delete(); | |
if(hasperm) | |
{ | |
var secs = parseInt(cont.substr(6).split(" ")[0]), msgs = []; | |
if(isNaN(secs)) | |
{ | |
secs = 0; | |
} | |
if(secs > 600) | |
{ | |
msgs.push(channel.sendMessage(":warning: Wenn du jemanden fuer laenger als 10 Minuten muten willst nutze `+mute <name>`.").id); | |
} else | |
{ | |
script.each(msg.mentions, function(mention) | |
{ | |
if(secs == 0) | |
{ | |
msgs.push(channel.sendMessage(":thumbsup: " + mention.getHandle() + " wurde in " + channel.getHandle() + " gemuted.").id); | |
} else | |
{ | |
msgs.push(channel.sendMessage(":thumbsup: " + mention.getHandle() + " wurde fuer **" + secs + "** Sekunden" + (secs == 1 ? "" : "s") +" in " + channel.getHandle() + " gemuted.").id); | |
} | |
var overwrite = channel.getOverwrite(mention); | |
if(overwrite == null) | |
{ | |
overwrite = discord.createOverwrite().setUser(mention); | |
} | |
overwrite.deny(permission.SEND_MESSAGES); | |
channel.overwritePermissions(overwrite); | |
if(secs != 0) | |
{ | |
script.timeout(function() | |
{ | |
overwrite.deny(-permission.SEND_MESSAGES); | |
channel.overwritePermissions(overwrite); | |
}, (secs * 1000)); | |
} | |
}); | |
} | |
script.timeout(function() | |
{ | |
channel.deleteMessages(msgs); | |
}, 5000); | |
} | |
} else if(cont.substr(0 ,4) == "+kys") | |
{ | |
var msgs = []; | |
script.each(msg.mentions, function(mention) | |
{ | |
msg.delete(); | |
channel.sendTyping().sendMessage("```\n __________\n | |\n | 0 <-- " + msg.mentions[0].username + "\n | /|\\ \n | / \\ \n |\n |```\n Kill Your Self ` " + msg.mentions[0].username + "` \n http://ropestore.org/?u=" + msg.mentions[0].username); | |
}); | |
} else if(cont.substr(0, 8) == "+unmute ") | |
{ | |
channel.sendTyping(); | |
msg.delete(); | |
if(hasperm) | |
{ | |
var msgs = []; | |
script.each(msg.mentions, function(mention) | |
{ | |
msgs.push(channel.sendMessage(":thumbsup: " + mention.getHandle() + " ist in " + channel.getHandle() + " nicht mehr gemuted.").id); | |
var overwrite = channel.getOverwrite(mention); | |
if(overwrite == null) | |
{ | |
overwrite = discord.createOverwrite().setUser(mention); | |
} | |
overwrite.deny(-permission.SEND_MESSAGES); | |
channel.overwritePermissions(overwrite); | |
}); | |
script.timeout(function() | |
{ | |
channel.deleteMessages(msgs); | |
}, 5000); | |
} | |
} | |
else if(cont == "+explode" || cont.substr(0, 9) == "+explode ") | |
{ | |
channel.sendTyping(); | |
if(!hasperm && cont.substr(0, 9) == "+explode ") | |
{ | |
mymsg = channel.sendMessage(":warning: Du hast keine Rechte fuer `+explode <id>`."); | |
script.timeout(function() | |
{ | |
mymsg.delete(); | |
}, 5000); | |
return; | |
} | |
var delmsg = mymsg = null; | |
if(cont.substr(0, 9) == "+explode ") | |
{ | |
msg.delete(); | |
delmsg = channel.getMessage(cont.substr(9)); | |
if(delmsg != null) | |
{ | |
delmsg = delmsg.id; | |
} | |
} else | |
{ | |
delmsg = msg.id; | |
} | |
if(delmsg == null) | |
{ | |
mymsg = channel.sendMessage(":warning: `" + cont.substr(9) + "` wurde in " + channel.getHandle() + " nicht gefunden"); | |
script.timeout(function() | |
{ | |
mymsg.delete(); | |
}, 5000); | |
} else | |
{ | |
mymsg = channel.sendMessage("Nachricht **" + delmsg + "** explodiert in `5`..."); | |
script.timeout(function() | |
{ | |
mymsg.edit("Nachricht **" + delmsg + "** explodiert in `4`..."); | |
script.timeout(function() | |
{ | |
mymsg.edit("Nachricht **" + delmsg + "** explodiert in `3`..."); | |
script.timeout(function() | |
{ | |
mymsg.edit("Nachricht **" + delmsg + "** explodiert in `2`..."); | |
script.timeout(function() | |
{ | |
mymsg.edit("Nachricht **" + delmsg + "** explodiert in `1`..."); | |
script.timeout(function() | |
{ | |
mymsg.edit(":boom: :boom: EXPLOSION :boom: :boom:"); | |
script.timeout(function() | |
{ | |
channel.deleteMessages([delmsg, mymsg.id]); | |
}, 1000); | |
}, 1000); | |
}, 1000); | |
}, 1000); | |
}, 1000); | |
}, 1000); | |
} | |
} else if(cont.substr(0, 7) == "+clear ") | |
{ | |
channel.sendTyping(); | |
var count = parseInt(cont.substr(7)), mymsg; | |
if(!hasperm) | |
{ | |
msg.delete(); | |
mymsg = channel.sendMessage(":warning: Du hast keine Rechte fuer `+clear <count>`."); | |
} else if(count < 1) | |
{ | |
msg.delete(); | |
mymsg = channel.sendMessage(":warning: Du kannst nicht `0` Nachrichten loeschen."); | |
} else if(count == 1) | |
{ | |
msg.delete(); | |
mymsg = channel.sendMessage(":new: BRAKKING NEWS :new:" + msg.author.getHandle() + " ist zu Faul um eine Nachricht zu löschen."); | |
} else | |
{ | |
var deleted = 0; | |
count++; | |
while(count > 0) | |
{ | |
var reading = 100; | |
if(count < 100) | |
{ | |
reading = count; | |
} | |
var deletemsgs = []; | |
script.each(channel.getMessages(reading), function(msg) | |
{ | |
deletemsgs.push(msg.id); | |
}); | |
channel.deleteMessages(deletemsgs); | |
count -= reading; | |
deleted += reading; | |
} | |
mymsg = channel.sendMessage(":thumbsup: **" + deleted + "** Nachrichten Gelöscht."); | |
} script.timeout(function() | |
{ | |
mymsg.delete(); | |
}, 5000); | |
} else if(cont.substr(0, 7) == "+erase ") | |
{ | |
channel.sendTyping(); | |
var count = parseInt(cont.substr(7)), mymsg; | |
msg.delete(); | |
if(!hasperm) | |
{ | |
mymsg = channel.sendMessage(":warning: Only privileged members may use `+erase <count>`."); | |
} else if(count < 1) | |
{ | |
mymsg = channel.sendMessage(":warning: Can't delete 0 or less messages."); | |
} else | |
{ | |
i = count; | |
mymsg = channel.sendMessage(":warning: Deleting **" + count + "** messages..."); | |
while(i > 0) | |
{ | |
var reading = 99; | |
if(i < 99) | |
{ | |
reading = i; | |
} | |
var deleted = 0; | |
script.each(channel.getMessages(reading + 1), function(msg) | |
{ | |
if(msg.id != mymsg.id) | |
{ | |
msg.delete(); | |
i--; | |
deleted++; | |
} | |
}); | |
if(deleted == 0) | |
{ | |
i = 0; | |
} else | |
{ | |
mymsg.edit(":warning: Deleting **" + i + "** messages..."); | |
} | |
} | |
mymsg.edit(":thumbsup: Manually deleted a whopping **" + count + "** messages."); | |
} | |
script.timeout(function() | |
{ | |
mymsg.delete(); | |
}, 5000); | |
//Invite Command | |
} else if(cont == "+invite") | |
{ | |
msg.delete(); | |
mymsg = channel.sendTyping().sendMessage(msg.author.getHandle() + ": Lade Freunde auf unseren Discord ein: https://discord.io/eote"); | |
script.timeout(function(){ mymsg.delete(); }, 5000); | |
//projects command | |
} else if(cont == "+projects") | |
{ | |
msg.delete(); | |
mymsg = channel.sendTyping().sendMessage(msg.author.getHandle() + ": Unsere neusten Projekte findest du hier: https://envoysoftheend.tk/category/1/ank%C3%BCndigungen"); | |
script.timeout(function(){ mymsg.delete(); }, 5000); | |
//help command | |
} else if(cont == "+help") | |
{ | |
if(hasperm) | |
{ | |
if(!channel.is_private) | |
{ | |
msg.delete(); | |
channel = msg.author.getDMChannel(); | |
} | |
channel.sendTyping().sendMessage(discord.createEmbed() | |
.setColor(0xF57C00) | |
.setTitle("EnvoysOfTheEnd Help") | |
.setURL("https://envoysoftheend.tk") | |
.addField("Info-Commands", "`+projects`, `+forum`, `+version`, `+team`, `+invite`, `+explode` und `+help`", false) | |
.addField("Moderations-Commands", "`+mute <user>`, `+unmute <user>`, `+clear <count>` und `+explode <id>`",false) | |
.setFooter("EnvoysOfTheEnd, script.js, by Schlabi") | |
); | |
channel = msg.getChannel(); | |
mymsg = channel.sendMessage(msg.author.getHandle() + ", Ich habe dir eine DM geschickt") | |
script.timeout(function(){ mymsg.delete(); }, 5000); | |
} else { | |
if(!channel.is_private) | |
{ | |
msg.delete(); | |
channel = msg.author.getDMChannel(); | |
} | |
channel.sendTyping().sendMessage(discord.createEmbed() | |
.setColor(0xF57C00) | |
.setTitle("EnvoysOfTheEnd Help") | |
.setURL("https://envoysoftheend.tk") | |
.addField("Info-Commands", "`+projects`, `+forum`, `+team`, `+invite`, `+version`, `+explode` und `+help`", false) | |
.setFooter("EnvoysOfTheEnd, script.js, by Schlabi") | |
); | |
channel = msg.getChannel(); | |
mymsg = channel.sendMessage(msg.author.getHandle() + ", Ich habe dir eine DM Geschickt"); | |
script.timeout(function(){ mymsg.delete(); }, 5000); | |
} | |
//Team Command | |
} else if(cont == "+team") | |
{ | |
if(!channel.is_private) | |
{ | |
msg.delete(); | |
mymsg = channel.sendTyping().sendMessage(discord.createEmbed() | |
.setColor(0XF57C00) | |
.setTitle("EnvoysOfTheEnd Team") | |
.setURL("https://envoysoftheend.tk") | |
.addField("Clan-Leitung", "<@!245947357588357120> <@!259782116382998529> <@!269489030096224256>", true) | |
.addField("Administration", "<@!264048760580079616>", true) | |
.addField("Moderation", "<@!292699244853198849> <@!270113726215094274> <@!269790574230372352>", true) | |
.setFooter("EnvoysOfTheEnd, script.js, by Schlaubi") | |
); | |
script.timeout(function(){ mymsg.delete(); }, 5000); | |
} else if(cont == "+forum") | |
{ | |
msg.delete(); | |
channel.sendTyping().sendMessage(msg.author.getHandle() + ": Unser Forum: https://envoysoftheend.tk"); | |
} | |
} else if(cont == "+version") | |
{ | |
msg.delete(); | |
mymsg = channel.sendTyping().sendMessage("`EnvoysOfTheEnd Bot Version 1.2.1 by Schlaubi powered by TimmyRS' SuprDiscordBot` Github https://gist.github.com/DRSchlaubi/d947b998ccc8194dbc95f3b0d297599c"); | |
script.timeout(function(){ mymsg.delete(); }, 5000); | |
} | |
}).on("MESSAGE_UPDATE", function(msg) | |
{ | |
// Also handle updated messages. | |
if(msg.content != null) | |
{ | |
script.fireEvent("MESSAGE_CREATE", msg); | |
} | |
}); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment