Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const token = ""
- const Discord = require("discord.js")
- const ms = require("ms")
- const client = new Discord.Client()
- const bot = client
- const prefix = "-"
- const g = require("discord-giveaways")
- const mysql = require("mysql")
- const config = {
- host : "remotemysql.com",
- port : "3306",
- user : "XGWhnf4Dio",
- password : "letOipyqDn",
- database : "XGWhnf4Dio"
- };
- const connection = mysql.createConnection(config)
- client.on("ready", () => {
- console.log("I'm ready !");
- g.launch(client, {
- updateCountdownEvery: 3000,
- botsCanWin: false,
- embedColor: "#00FFFF",
- reaction: "??"
- });
- setInterval(function() {
- bot.user.setActivity("-help", { type: 'WATCHING' })
- .then(()=> {
- setTimeout(function() {
- bot.user.setActivity("play.galaxyprison.co")
- }, 5000);
- })
- }, 10000);
- });
- bot.on("message", async message => {
- const tc = message.guild.channels.find('name', 'ticket-logs')
- if (message.author.bot) return
- if (!message.content.startsWith(prefix)) return
- const args = message.content.split(' ').slice(1);
- if (message.content.startsWith("-gcreate")) {
- if (!message.member.hasPermission("ADMINISTRATOR")) return message.reply("You dont have permission to run this.")
- g.start(message.channel, {
- time: ms(args[0]),
- prize: args.slice(2).join(" "),
- winnersCount: parseInt(args[1]),
- messages: {
- giveaway: "@everyone\n\n**GIVEAWAY**",
- giveawayEnded: "@everyone\n\n**GIVEAWAY ENDED**",
- timeRemaining: "Time remaining: **{duration}**!",
- inviteToParticipate: "React with ?? to participate!",
- winMessage: "Congratulations, {winners}! You won **{prize}**!",
- embedFooter: "Giveaways",
- noWinner: "Giveaway cancelled, no valid participations.",
- winners: "winner(s)",
- endedAt: "Ended at",
- units: {
- seconds: "seconds",
- minutes: "minutes",
- hours: "hours",
- days: "days"
- }
- }
- }).then((gData) => {
- console.log(gData); // {...} (messageid, end date and more)
- });
- }
- if(message.content.startsWith("-reroll")){
- let messageID = args[0];
- g.reroll(messageID).catch((err) => {
- message.channel.send("No giveaway found for "+messageID+", please check and try again");
- });
- }
- if (message.content.startsWith("-suggest")) {
- if (!args[0]) return message.reply("You need to suggest something")
- let embed = new Discord.RichEmbed()
- .setTitle("**Suggestion by " + message.author.tag + "**")
- .setThumbnail(message.member.displayAvatarURL)
- .setDescription(args.join(" "))
- .setFooter(`UserID - ${message.author.id}`)
- .setTimestamp()
- .setColor("#00FF00")
- let c = message.guild.channels.get("585937227259838488")
- c.send(embed).then((m) => {
- m.react("??").then(() => {
- m.react("??")
- })
- })
- }
- if (message.content.startsWith("-bug")) {
- if (!args[0]) return message.reply("You need to report something")
- let embed = new Discord.RichEmbed()
- .setTitle("**Bug Report by " + message.author.tag + "**")
- .setThumbnail(message.member.displayAvatarURL)
- .setDescription(args.join(" "))
- .setFooter(`UserID - ${message.author.id}`)
- .setTimestamp()
- .setColor("#FF0000")
- let c = message.guild.channels.get("593743028787871774")
- c.send(embed).then((m) => {
- m.react("?").then(() => {
- m.react("?")
- })
- })
- }
- if (message.content.startsWith("-announce")) {
- if (!message.member.hasPermission("ADMINISTRATOR")) return
- const questions = ["What title do you want?", "What is the message?"];
- let title;
- let announcement;
- for (let i = 0; i < questions.length; i++) {
- const question = questions[i];
- message.channel.send(question);
- let ms = await message.channel.awaitMessages(m => m.author.id === message.author.id, { max: 1, time: 60000, errors: ['time'] });
- const msg = ms.array()[0] ;
- if(msg.content.toLowerCase() == "cancel") return message.channel.send(":x: **Canceled**");
- if(i == 0) title = msg.content;
- else announcement = msg.content;
- }
- message.channel.bulkDelete(4);
- //let sicon = bot.user.displayAvatarURL;
- //let sicon = "https://cdn.discordapp.com/icons/" + message.guild.id + "/" + message.guild.icon + ".png"
- let sicon = "https://media.discordapp.net/attachments/593689494243246106/594052849995087872/server-icon-fullsize.png"
- //let updatechannel = message.guild.channels.find(r => r.name === chn);
- let botEmbed = new Discord.RichEmbed()
- .setColor("#00FFFF")
- .setThumbnail(sicon)
- .setAuthor(`${title}`)
- .setDescription(`${announcement}`)
- .setTimestamp()
- .setFooter("Announcement by " + message.author.tag, message.author.displayAvatarURL);
- let c = message.guild.channels.get("585936555366154241")
- c.send(botEmbed)
- c.send(`@everyone`)
- }
- if (message.content.startsWith("-ticket")) {
- if (!args[0]) return message.reply("You need to specify a reason.")
- let reason = args.join(" ")
- let query = "SELECT TicketNum FROM TICKETS"
- connection.query(query, function (err, results, field) {
- let cur = results[0]["TicketNum"]
- //console.log(parseInt(cur) + 1)
- var query = connection.query("UPDATE `TICKETS` SET `TicketNum` = `TicketNum` + 1 WHERE `TicketNum` = '" + cur + "'", function (err, results, fields) {
- if (err) throw err;
- });
- let emb = new Discord.RichEmbed()
- .setTitle("Ticket Open")
- .setDescription(`**Ticket**: #${cur}\n**Subject:** ${reason}\n**User:** ${message.author.tag}`)
- .setColor("#00FF00")
- //let r = message.guild.roles.get("594493285234507786")
- tc.send("@everyone")
- tc.send(emb)
- message.guild.createRole({name: `ticket-${cur}`}).then((r) => {
- message.member.addRole(r.id)
- message.guild.createChannel(`ticket-${cur}`).then((c) => {
- c.setTopic(`Subject: ${reason}`)
- let m = new Discord.RichEmbed()
- .setTitle("** New Ticket Opened **")
- .setDescription("Please try to explain in detail the reason for opening this ticket. Our support staff will be here shortly")
- .setTimestamp()
- .setColor("#FF0F0F")
- .setFooter("Tickets")
- c.send(m)
- c.overwritePermissions(r.id, {
- VIEW_CHANNEL: true, SEND_MESSAGES: true, READ_MESSAGES: true, ADD_REACTIONS: true, READ_MESSAGE_HISTORY: true
- })
- c.overwritePermissions(message.guild.id, {
- VIEW_CHANNEL: false, SEND_MESSAGES: false, READ_MESSAGES: false, ADD_REACTIONS: false, READ_MESSAGE_HISTORY: false
- })
- let role = message.guild.roles.find(r => r.name.toLowerCase() == "staff");
- if(role)
- c.overwritePermissions(role.id, {
- VIEW_CHANNEL: true, SEND_MESSAGES: true, READ_MESSAGES: true, ADD_REACTIONS: true, READ_MESSAGE_HISTORY: true
- })
- })
- })
- var post = {UserID: message.author.id, Ticket: cur};
- var query = connection.query("INSERT INTO TICKETS SET ?", post, function (err, results, fields) {
- });
- })
- let emb = new Discord.RichEmbed()
- .setTitle("Ticket Open")
- tc.send()
- } if (message.content.startsWith("-close")) {
- if (!args[0]) return message.reply("Please give a reason to close the ticket.")
- if (!message.channel.name.toString().startsWith("ticket-")) return message.reply("This command can only be used in a ticket")
- message.channel.setParent("592298579708608534")
- message.channel.send("? Ticket successfully closed.")
- let q = message.channel.name.split("ticket-").slice(1).join(" ")
- let query = `SELECT UserID FROM TICKETS WHERE Ticket='${q}'`
- connection.query(query, function (err, results, fields) {
- let id = results[0]["UserID"]
- message.channel.overwritePermissions(id, {
- VIEW_CHANNEL: false, SEND_MESSAGES: false
- })
- })
- let title = `Ticket #${message.channel.name.split("ticket-").slice(1).join(" ")} has been closed`
- let msg = `**Ticket Subject:** ${message.channel.topic.toString().split("Subject: ").slice(1).join(" ")}\n**Closed By:** ${message.author.tag}\n**Reason:** ${args.join(" ")}\nTo view the logs of a ticket, please talk to a staff member.`
- let members = message.guild.members
- let mess = new Discord.RichEmbed()
- .setAuthor(title, message.author.displayAvatarURL)
- .setDescription(msg)
- .setColor("#00FFFF")
- .setThumbnail(message.author.displayAvatarURL)
- .setFooter("Tickets")
- .setTimestamp()
- members.forEach(function(m) {
- let r = message.guild.roles.find("name", message.channel.name)
- if (m.roles.has(r.id)) m.send(mess)
- })
- message.guild.roles.find("name", message.channel.name).delete()
- let emb = new Discord.RichEmbed()
- .setTitle("Ticket Closed")
- .setDescription(`**Ticket**: #${message.channel.name.toString().split("ticket-").slice(1).join(" ")}\n**Reason:** ${args.join(" ")}\n**User:** ${message.author.tag}`)
- .setColor("#FF0F0F")
- tc.send(emb)
- } if (message.content.startsWith("-add")) {
- if (!message.channel.name.toString().startsWith("ticket-")) return message.reply("This can only be used in a ticket")
- if (!args[0]) return message.reply("You must give the id of the member you would like to add")
- let r = message.guild.roles.find('name', message.channel.name.toString())
- let member = message.mentions.users.first() || message.guild.members.get(args[0])
- console.log(member)
- message.channel.send("You have added " + member.tag + " to your ticket")
- member.addRole(r.id)
- let emb = new Discord.RichEmbed()
- .setTitle("Ticket User Add")
- .setDescription(`**Ticket**: #${message.channel.name.toString().split("ticket-").slice(1).join(" ")}\n**Invited By:** ${message.author.tag}\n**Invited User:** ${member}`)
- .setColor("#FFFF00")
- tc.send(emb)
- } if (message.content.startsWith("-remove")) {
- if (!message.channel.name.toString().startsWith("ticket-")) return message.reply("This can only be used in a ticket")
- if (!args[0]) return message.reply("You must give the id of the member you would like to remove")
- let r = message.guild.roles.find('name', message.channel.name.toString())
- let member = message.mentions.users.first() || message.guild.members.get(args[0])
- console.log(member)
- message.channel.send("You have removed " + member.tag + " from your ticket")
- member.removeRole(r.id)
- let emb = new Discord.RichEmbed()
- .setTitle("Ticket User Remove")
- .setDescription(`**Ticket**: #${message.channel.name.toString().split("ticket-").slice(1).join(" ")}\n**Removed By:** ${message.author.tag}\n**Removed User:** ${member}`)
- .setColor("#FFFF00")
- tc.send(emb)
- message.channel.overwritePermissions(member.id, {
- VIEW_CHANNEL: false, SEND_MESSAGES: false
- })
- } if (message.content.startsWith("-help")) {
- let emb = new Discord.RichEmbed()
- .setTitle("GalaxyPrison - Help")
- .addField("**Tickets**", "**==========**")
- .addField("-ticket (Subject)", "Create a ticket")
- .addField("-close (Reason)", "Close a ticket")
- .addField("-add (MemberID)", "Add a member to a ticket")
- .addField("-remove (MemberID)", "Remove a member from a ticket")
- .addField("**Giveaways**", "**==========**")
- .addField("-gcreate (Time) (Anount of Winners) (Prize)", "Create a giveaway")
- .addField("-reroll (MessageID)", "ReRoll a giveaway")
- .addField("**Miscellaneous**", "**==========**")
- .addField("-announce", "Announce a Message")
- .addField("-suggest (suggestion)", "Make a suggestion")
- .addField("-bug (bug)", "Report a bug")
- .setColor("#FF00FF")
- message.channel.send(emb)
- } if (message.content.startsWith("-removerole")) {
- if (!message.channel.name.toString().startsWith("ticket-")) return message.reply("This can only be used in a ticket")
- if (!args[0]) return message.reply("You need to tag a role")
- let r = args[0]
- r = message.guild.roles.find(role => role.id === r)
- message.channel.overwritePermissions(r.id, {
- VIEW_CHANNEL: false, SEND_MESSAGES: false
- })
- message.channel.send("Done")
- }
- })
- let errors = []
- process.on('uncaughtException', function(err) {
- console.log(err);
- errors.push({
- error: err,
- author: "Unknown",
- message: "Unknown",
- time: Date.now()
- })
- module.exports.errors = errors;
- })
- bot.on('error', function(err) {
- throw err
- })
- bot.login(token)
Advertisement
Add Comment
Please, Sign In to add comment