Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
84e0b504ab | ||
|
|
bedff6832c | ||
|
|
6c29e04de2 | ||
|
|
ba674323e1 | ||
|
|
6d756a161e | ||
|
|
66a5cd95ec | ||
|
|
9f70648264 | ||
|
|
b975b79691 | ||
|
|
3cab896954 | ||
|
|
b9680e5b35 | ||
|
|
43a003ca7d | ||
|
|
fbe1cf2009 | ||
|
|
fdee61cc11 | ||
|
|
8b51200d9c | ||
|
|
0631ab536a | ||
|
|
0d76e76519 | ||
|
|
9e9f83d211 | ||
|
|
0829d477d9 | ||
|
|
1b7109fa23 | ||
|
|
366669ccd8 | ||
|
|
e05edd89fa | ||
|
|
a405df66c9 | ||
|
|
28a57ead9f | ||
|
|
72bfacae75 | ||
|
|
10f8821b3b | ||
|
|
92a3745ce1 | ||
|
|
aff7ff1451 | ||
|
|
9e63e0ff09 | ||
|
|
2c5ebd8620 | ||
|
|
e6d63db3a9 | ||
|
|
2cc316aafb | ||
|
|
4f25cfa0dd | ||
|
|
0385de3882 | ||
|
|
2e1253c54e | ||
|
|
14df15caeb | ||
|
|
af481a2ec8 | ||
|
|
96c1d80844 | ||
|
|
57ea2e25bd | ||
|
|
cd17b0a6d7 | ||
|
|
c5dd8823f6 | ||
|
|
c27f16f753 | ||
|
|
4842610229 | ||
|
|
bd33669dba | ||
|
|
e81684d322 | ||
|
|
8209dfa26c | ||
|
|
0a82c62a4e | ||
|
|
4399dfe6b8 | ||
|
|
defd0cc78c | ||
|
|
fd5fc8294c |
No files matched your search
@@ -1,10 +1,13 @@
|
|||||||
> #### SupportBot
|

|
||||||
>
|
|
||||||
> - SupportBot is a free to use discord ticket system that is highly customisable to your own brand,
|
|
||||||
Why use a branded ticket bot when you have the ability to match your ticket bot with your servers name.
|
|
||||||
>
|
|
||||||
> - Our Support team is over at [Discord](https://discord.com/invite/jspKFcE) ready to assist with any questions, concerns or setup information regarding SupportBot.
|
|
||||||
>
|
|
||||||
> - [Download via Polymart](https://polymart.org/resource/supportbot-1-discord-ticket-bot.518)
|
|
||||||
> - [Download via MC-Market](https://www.mc-market.org/resources/8940/)
|
|
||||||
|
|
||||||
|
## What is SupportBot?
|
||||||
|
|
||||||
|
SupportBot is an open-sourced support system for discord. It's completely free to use with high amounts of customisation to match your own brand.
|
||||||
|
|
||||||
|
## Quick Links
|
||||||
|
|
||||||
|
**|** [Discord](https://emeraldsrv.dev/discord) **|**
|
||||||
|
[Hosting](https://emeraldsrv.dev/hosting) **|**
|
||||||
|
[Documentation](https://docs.emeraldsrv.dev) **|**
|
||||||
|
[Download via Polymart](https://polymart.org/resource/supportbot-1-discord-ticket-bot.518) **|**
|
||||||
|
[Download via MC-Market](https://www.mc-market.org/resources/8940/) **|**
|
||||||
+3
-4
@@ -12,11 +12,10 @@ module.exports = {
|
|||||||
description: supportbot.AddUserDesc,
|
description: supportbot.AddUserDesc,
|
||||||
|
|
||||||
execute(message, args) {
|
execute(message, args) {
|
||||||
if (supportbot.DeleteMessages == "true") message.delete();
|
if (supportbot.DeleteMessages) message.delete();
|
||||||
console.log(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[32m`, `${message.author.tag} has executed ${supportbot.Prefix}${supportbot.AddUser}!`);
|
|
||||||
|
|
||||||
let SupportStaff = message.guild.roles.cache.find(SupportTeam => SupportTeam.name === supportbot.Staff)
|
let SupportStaff = message.guild.roles.cache.find(SupportTeam => SupportTeam.name === supportbot.Staff) || message.guild.roles.cache.find(SupportTeam => SupportTeam.id === supportbot.Staff)
|
||||||
let Admins = message.guild.roles.cache.find(AdminUser => AdminUser.name === supportbot.Admin)
|
let Admins = message.guild.roles.cache.find(AdminUser => AdminUser.name === supportbot.Admin) || message.guild.roles.cache.find(AdminUser => AdminUser.id === supportbot.Admin)
|
||||||
|
|
||||||
const NoPerms = new Discord.MessageEmbed()
|
const NoPerms = new Discord.MessageEmbed()
|
||||||
.setTitle("Invalid Permissions!")
|
.setTitle("Invalid Permissions!")
|
||||||
|
|||||||
@@ -14,11 +14,9 @@ module.exports = {
|
|||||||
|
|
||||||
execute(message, args) {
|
execute(message, args) {
|
||||||
|
|
||||||
if (supportbot.DeleteMessages == "true") message.delete();
|
if (supportbot.DeleteMessages) message.delete();
|
||||||
|
|
||||||
let locateChannel = message.guild.channels.cache.find(AnnouncementChannel => AnnouncementChannel.name === supportbot.AnnouncementChannel);
|
let locateChannel = message.guild.channels.cache.find(AnnouncementChannel => AnnouncementChannel.name === supportbot.AnnouncementChannel) || message.guild.channels.cache.find(AnnouncementChannel => AnnouncementChannel.id === supportbot.AnnouncementChannel)
|
||||||
|
|
||||||
console.log(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[32m`, `${message.author.tag} has executed ${supportbot.Prefix}${supportbot.AnnounceCommand}!`);
|
|
||||||
|
|
||||||
const errornochannel = new Discord.MessageEmbed()
|
const errornochannel = new Discord.MessageEmbed()
|
||||||
.setTitle("Invalid Channel")
|
.setTitle("Invalid Channel")
|
||||||
@@ -27,7 +25,7 @@ module.exports = {
|
|||||||
|
|
||||||
if(!locateChannel) return message.channel.send({ embed: errornochannel });
|
if(!locateChannel) return message.channel.send({ embed: errornochannel });
|
||||||
|
|
||||||
let Admins = message.guild.roles.cache.find(adminRole => adminRole.name === supportbot.Admin);
|
let Admins = message.guild.roles.cache.find(adminRole => adminRole.name === supportbot.Admin) || message.guild.roles.cache.find(adminRole => adminRole.id === supportbot.Admin)
|
||||||
|
|
||||||
const NoPerms = new Discord.MessageEmbed()
|
const NoPerms = new Discord.MessageEmbed()
|
||||||
.setTitle("Invalid Permissions!")
|
.setTitle("Invalid Permissions!")
|
||||||
|
|||||||
+3
-5
@@ -13,11 +13,9 @@ module.exports = {
|
|||||||
description: supportbot.BanDesc,
|
description: supportbot.BanDesc,
|
||||||
|
|
||||||
execute(message, args, member) {
|
execute(message, args, member) {
|
||||||
if (supportbot.DeleteMessages == "true") message.delete();
|
if (supportbot.DeleteMessages) message.delete();
|
||||||
|
|
||||||
let SupportStaff = message.guild.roles.cache.find(adminRole => adminRole.name === supportbot.Admin);
|
let SupportStaff = message.guild.roles.cache.find(adminRole => adminRole.name === supportbot.Admin) || message.guild.roles.cache.find(adminRole => adminRole.id === supportbot.Admin)
|
||||||
|
|
||||||
console.log(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[32m`, `${message.author.tag} has executed ${supportbot.Prefix}${supportbot.BanUser}!`);
|
|
||||||
|
|
||||||
const NoPerms = new Discord.MessageEmbed()
|
const NoPerms = new Discord.MessageEmbed()
|
||||||
.setTitle("Invalid Permissions!")
|
.setTitle("Invalid Permissions!")
|
||||||
@@ -27,7 +25,7 @@ module.exports = {
|
|||||||
if (!message.member.roles.cache.has(SupportStaff.id))
|
if (!message.member.roles.cache.has(SupportStaff.id))
|
||||||
return message.channel.send({ embed: NoPerms });
|
return message.channel.send({ embed: NoPerms });
|
||||||
|
|
||||||
let locateChannel = message.guild.channels.cache.find(ModLogChannel => ModLogChannel.name === supportbot.ModLogChannel);
|
let locateChannel = message.guild.channels.cache.find(ModLogChannel => ModLogChannel.name === supportbot.ModLogChannel) || message.guild.channels.cache.find(ModLogChannel => ModLogChannel.id === supportbot.ModLogChannel)
|
||||||
|
|
||||||
const errornochannel = new Discord.MessageEmbed()
|
const errornochannel = new Discord.MessageEmbed()
|
||||||
.setTitle("Invalid Channel")
|
.setTitle("Invalid Channel")
|
||||||
|
|||||||
@@ -13,11 +13,9 @@ module.exports = {
|
|||||||
description: supportbot.BlacklistDesc,
|
description: supportbot.BlacklistDesc,
|
||||||
|
|
||||||
execute(message, args) {
|
execute(message, args) {
|
||||||
if (supportbot.DeleteMessages == "true") message.delete();
|
if (supportbot.DeleteMessages) message.delete();
|
||||||
|
|
||||||
let SupportStaff = message.guild.roles.cache.find(adminRole => adminRole.name === supportbot.Admin);
|
let SupportStaff = message.guild.roles.cache.find(adminRole => adminRole.name === supportbot.Admin) || message.guild.roles.cache.find(adminRole => adminRole.id === supportbot.Admin)
|
||||||
|
|
||||||
console.log(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[32m`, `${message.author.tag} has executed ${supportbot.Prefix}${supportbot.BlacklistUser}!`);
|
|
||||||
|
|
||||||
const NoPerms = new Discord.MessageEmbed()
|
const NoPerms = new Discord.MessageEmbed()
|
||||||
.setTitle("Invalid Permissions!")
|
.setTitle("Invalid Permissions!")
|
||||||
@@ -28,7 +26,7 @@ module.exports = {
|
|||||||
return message.channel.send({ embed: NoPerms });
|
return message.channel.send({ embed: NoPerms });
|
||||||
}
|
}
|
||||||
|
|
||||||
let locateChannel = message.guild.channels.cache.find(ModLogChannel => ModLogChannel.name === supportbot.ModLogChannel);
|
let locateChannel = message.guild.channels.cache.find(ModLogChannel => ModLogChannel.name === supportbot.ModLogChannel) || message.guild.channels.cache.find(ModLogChannel => ModLogChannel.id === supportbot.ModLogChannel)
|
||||||
|
|
||||||
const user = message.mentions.members.first() || message.guild.members.cache.get(args[0]);
|
const user = message.mentions.members.first() || message.guild.members.cache.get(args[0]);
|
||||||
|
|
||||||
@@ -70,7 +68,7 @@ module.exports = {
|
|||||||
.setDescription(`${user} is already blacklisted`)
|
.setDescription(`${user} is already blacklisted`)
|
||||||
.setColor(supportbot.ErrorColour)
|
.setColor(supportbot.ErrorColour)
|
||||||
|
|
||||||
if(user.roles.cache.find(role => role.name === supportbot.TicketBlackListRole) || reactionUser.roles.cache.find(role => role.id === supportbot.TicketBlackListRole)) {
|
if(user.roles.cache.find(role => role.name === supportbot.TicketBlackListRole) || user.roles.cache.find(role => role.id === supportbot.TicketBlackListRole)) {
|
||||||
return message.channel.send({
|
return message.channel.send({
|
||||||
embed: embed4
|
embed: embed4
|
||||||
})
|
})
|
||||||
|
|||||||
+2
-4
@@ -13,11 +13,9 @@ module.exports = {
|
|||||||
description: supportbot.BotSayDesc,
|
description: supportbot.BotSayDesc,
|
||||||
|
|
||||||
execute(message, args) {
|
execute(message, args) {
|
||||||
if (supportbot.DeleteMessages == "true") message.delete();
|
if (supportbot.DeleteMessages) message.delete();
|
||||||
|
|
||||||
let SupportStaff = message.guild.roles.cache.find(adminRole => adminRole.name === supportbot.Staff);
|
let SupportStaff = message.guild.roles.cache.find(adminRole => adminRole.name === supportbot.Staff) || message.guild.roles.cache.find(adminRole => adminRole.id === supportbot.Staff)
|
||||||
|
|
||||||
console.log(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[32m`, `${message.author.tag} has executed ${supportbot.Prefix}${supportbot.BotSay}!`);
|
|
||||||
|
|
||||||
const NoPerms = new Discord.MessageEmbed()
|
const NoPerms = new Discord.MessageEmbed()
|
||||||
.setTitle("Invalid Permissions!")
|
.setTitle("Invalid Permissions!")
|
||||||
|
|||||||
+5
-7
@@ -13,9 +13,7 @@ module.exports = {
|
|||||||
description: supportbot.CloseTicketDesc,
|
description: supportbot.CloseTicketDesc,
|
||||||
|
|
||||||
execute(message, args) {
|
execute(message, args) {
|
||||||
if (supportbot.DeleteMessages == "true") message.delete();
|
if (supportbot.DeleteMessages) message.delete();
|
||||||
|
|
||||||
console.log(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[32m`, `${message.author.tag} has executed ${supportbot.Prefix}${supportbot.CloseTicket}!`);
|
|
||||||
|
|
||||||
if (!message.channel.name.startsWith( `${supportbot.TicketChannel}-` )) {
|
if (!message.channel.name.startsWith( `${supportbot.TicketChannel}-` )) {
|
||||||
const Exists = new Discord.MessageEmbed()
|
const Exists = new Discord.MessageEmbed()
|
||||||
@@ -28,7 +26,7 @@ module.exports = {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (supportbot.CloseConfirmation === "true") {
|
if (supportbot.CloseConfirmation) {
|
||||||
const CloseTicketRequest = new Discord.MessageEmbed()
|
const CloseTicketRequest = new Discord.MessageEmbed()
|
||||||
.setTitle(`**${supportbot.ClosingTicket}**`)
|
.setTitle(`**${supportbot.ClosingTicket}**`)
|
||||||
.setDescription(`Please confirm by repeating the following word.. \`${supportbot.ClosingConfirmation_Word}\` `)
|
.setDescription(`Please confirm by repeating the following word.. \`${supportbot.ClosingConfirmation_Word}\` `)
|
||||||
@@ -42,7 +40,7 @@ module.exports = {
|
|||||||
|
|
||||||
|
|
||||||
}).then( collected => {
|
}).then( collected => {
|
||||||
let logChannel = message.guild.channels.cache.find(channel => channel.name === supportbot.TranscriptLog);
|
let logChannel = message.guild.channels.cache.find(channel => channel.name === supportbot.TranscriptLog) || message.guild.channels.cache.find(channel => channel.id === supportbot.TranscriptLog)
|
||||||
let user = message.author;
|
let user = message.author;
|
||||||
let reason = args.join(" ") || "No Reason Provided.";
|
let reason = args.join(" ") || "No Reason Provided.";
|
||||||
|
|
||||||
@@ -94,9 +92,9 @@ module.exports = {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (supportbot.CloseConfirmation === "false") {
|
if (!supportbot.CloseConfirmation) {
|
||||||
|
|
||||||
let logChannel = message.guild.channels.cache.find(channel => channel.name === supportbot.TranscriptLog);
|
let logChannel = message.guild.channels.cache.find(channel => channel.name === supportbot.TranscriptLog) || message.guild.channels.cache.find(channel => channel.id === supportbot.TranscriptLog)
|
||||||
let user = message.author;
|
let user = message.author;
|
||||||
let reason = args.join(" ") || "No Reason Provided.";
|
let reason = args.join(" ") || "No Reason Provided.";
|
||||||
|
|
||||||
|
|||||||
+31
-12
@@ -12,14 +12,15 @@ module.exports = {
|
|||||||
description: supportbot.HelpDesc,
|
description: supportbot.HelpDesc,
|
||||||
|
|
||||||
execute(message, args) {
|
execute(message, args) {
|
||||||
if (supportbot.DeleteMessages == "true") message.delete();
|
if (supportbot.DeleteMessages) message.delete();
|
||||||
|
|
||||||
console.log(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[32m`, `${message.author.tag} has executed ${supportbot.Prefix}${supportbot.HelpCommand}!`);
|
let SupportStaff = message.guild.roles.cache.find(adminRole => adminRole.name === supportbot.Staff) || message.guild.roles.cache.find(staffRole => staffRole.id === supportbot.Staff);
|
||||||
|
let AdminStaff = message.guild.roles.cache.find(adminRole => adminRole.name === supportbot.Admin) || message.guild.roles.cache.find(adminRole => adminRole.id === supportbot.Admin);
|
||||||
|
|
||||||
if (supportbot.helpmenu_withkey = "true") {
|
if (supportbot.HelpMenu) {
|
||||||
let generalCommands = "";
|
let generalCommands = "";
|
||||||
generalCommands += `**${supportbot.Prefix}${supportbot.HelpCommand}** ${supportbot.HelpDesc}\n`;
|
generalCommands += `**${supportbot.Prefix}${supportbot.HelpCommand}** ${supportbot.HelpDesc}\n`;
|
||||||
generalCommands += `**${supportbot.Prefix}${supportbot.LinksCommand}** ${supportbot.LinkDesc}\n`;
|
generalCommands += `**${supportbot.Prefix}${supportbot.LinksCommand}** ${supportbot.LinksDesc}\n`;
|
||||||
generalCommands += `**${supportbot.Prefix}${supportbot.SuggestCommand}** ${supportbot.SuggestionDesc}\n`;
|
generalCommands += `**${supportbot.Prefix}${supportbot.SuggestCommand}** ${supportbot.SuggestionDesc}\n`;
|
||||||
generalCommands += `**${supportbot.Prefix}${supportbot.PingCommand}** ${supportbot.PingDesc}\n`;
|
generalCommands += `**${supportbot.Prefix}${supportbot.PingCommand}** ${supportbot.PingDesc}\n`;
|
||||||
|
|
||||||
@@ -32,10 +33,12 @@ module.exports = {
|
|||||||
staffCommands += `**${supportbot.Prefix}${supportbot.RemoveUser} <user#0000>** ${supportbot.RemoveUserDesc}\n`
|
staffCommands += `**${supportbot.Prefix}${supportbot.RemoveUser} <user#0000>** ${supportbot.RemoveUserDesc}\n`
|
||||||
staffCommands += `**${supportbot.Prefix}${supportbot.BotSay}** ${supportbot.BotSayDesc}\n`
|
staffCommands += `**${supportbot.Prefix}${supportbot.BotSay}** ${supportbot.BotSayDesc}\n`
|
||||||
staffCommands += `**${supportbot.Prefix}${supportbot.PurgeMessage}** ${supportbot.PurgeDesc}\n`
|
staffCommands += `**${supportbot.Prefix}${supportbot.PurgeMessage}** ${supportbot.PurgeDesc}\n`
|
||||||
staffCommands += `**${supportbot.Prefix}${supportbot.AnnounceCommand}** ${supportbot.AnnounceDesc} \`Admin Only\`\n`
|
|
||||||
staffCommands += `**${supportbot.Prefix}${supportbot.BanUser}** ${supportbot.BanDesc} \`Admin Only\` \n`
|
let adminCommands = "";
|
||||||
staffCommands += `**${supportbot.Prefix}${supportbot.KickUser}** ${supportbot.KickDesc} \`Admin Only\` \n`
|
adminCommands += `**${supportbot.Prefix}${supportbot.AnnounceCommand}** ${supportbot.AnnounceDesc} \`Admin Only\`\n`
|
||||||
staffCommands += `**${supportbot.Prefix}${supportbot.BlacklistUser}** ${supportbot.BlacklistDesc} \`Admin Only\` \n`
|
adminCommands += `**${supportbot.Prefix}${supportbot.BanUser}** ${supportbot.BanDesc} \`Admin Only\` \n`
|
||||||
|
adminCommands += `**${supportbot.Prefix}${supportbot.KickUser}** ${supportbot.KickDesc} \`Admin Only\` \n`
|
||||||
|
adminCommands += `**${supportbot.Prefix}${supportbot.BlacklistUser}** ${supportbot.BlacklistDesc} \`Admin Only\` \n`
|
||||||
|
|
||||||
const HelpEmbed1 = new Discord.MessageEmbed()
|
const HelpEmbed1 = new Discord.MessageEmbed()
|
||||||
.setTitle(supportbot.Bot_Name)
|
.setTitle(supportbot.Bot_Name)
|
||||||
@@ -49,15 +52,31 @@ module.exports = {
|
|||||||
.setColor(supportbot.EmbedColour)
|
.setColor(supportbot.EmbedColour)
|
||||||
.setFooter(supportbot.EmbedFooter, message.author.displayAvatarURL());
|
.setFooter(supportbot.EmbedFooter, message.author.displayAvatarURL());
|
||||||
|
|
||||||
if (message.member.roles.cache.some(role => role.name === supportbot.Staff || supportbot.Admin)) {
|
if (message.member.roles.cache.has(SupportStaff.id)) {
|
||||||
HelpEmbed1.addFields(
|
HelpEmbed1.addFields(
|
||||||
{ name: '🔐 Staff Commands\n', value: `${staffCommands}\n`, inline: false },
|
{ name: '🔐 Staff Commands\n', value: `${staffCommands}\n`, inline: false },
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
message.channel.send({
|
if (message.member.roles.cache.has(AdminStaff.id)) {
|
||||||
embed: HelpEmbed1
|
HelpEmbed1.addFields(
|
||||||
});
|
{ name: '🔐 Admin Commands\n', value: `${adminCommands}\n`, inline: false },
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (supportbot.SendHelpPage === "dm") {
|
||||||
|
message.author.send({
|
||||||
|
embed: HelpEmbed1
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (supportbot.SendHelpPage === "channel") {
|
||||||
|
message.channel.send({
|
||||||
|
embed: HelpEmbed1
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-5
@@ -13,11 +13,9 @@ module.exports = {
|
|||||||
description: supportbot.KickDesc,
|
description: supportbot.KickDesc,
|
||||||
|
|
||||||
execute(message, args, member) {
|
execute(message, args, member) {
|
||||||
if (supportbot.DeleteMessages == "true") message.delete();
|
if (supportbot.DeleteMessages) message.delete();
|
||||||
|
|
||||||
let SupportStaff = message.guild.roles.cache.find(adminRole => adminRole.name === supportbot.Admin);
|
let SupportStaff = message.guild.roles.cache.find(adminRole => adminRole.name === supportbot.Admin) || message.guild.roles.cache.find(adminRole => adminRole.id === supportbot.Admin)
|
||||||
|
|
||||||
console.log(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[32m`, `${message.author.tag} has executed ${supportbot.Prefix}${supportbot.BanUser}!`);
|
|
||||||
|
|
||||||
const NoPerms = new Discord.MessageEmbed()
|
const NoPerms = new Discord.MessageEmbed()
|
||||||
.setTitle("Invalid Permissions!")
|
.setTitle("Invalid Permissions!")
|
||||||
@@ -27,7 +25,7 @@ module.exports = {
|
|||||||
if (!message.member.roles.cache.has(SupportStaff.id))
|
if (!message.member.roles.cache.has(SupportStaff.id))
|
||||||
return message.channel.send({ embed: NoPerms });
|
return message.channel.send({ embed: NoPerms });
|
||||||
|
|
||||||
let locateChannel = message.guild.channels.cache.find(ModLogChannel => ModLogChannel.name === supportbot.ModLogChannel);
|
let locateChannel = message.guild.channels.cache.find(ModLogChannel => ModLogChannel.name === supportbot.ModLogChannel) || message.guild.channels.cache.find(ModLogChannel => ModLogChannel.id === supportbot.ModLogChannel)
|
||||||
|
|
||||||
const errornochannel = new Discord.MessageEmbed()
|
const errornochannel = new Discord.MessageEmbed()
|
||||||
.setTitle("Invalid Channel")
|
.setTitle("Invalid Channel")
|
||||||
|
|||||||
+1
-3
@@ -13,9 +13,7 @@ module.exports = {
|
|||||||
description: supportbot.LinksDesc,
|
description: supportbot.LinksDesc,
|
||||||
|
|
||||||
execute(message, args) {
|
execute(message, args) {
|
||||||
if (supportbot.DeleteMessages == "true") message.delete();
|
if (supportbot.DeleteMessages) message.delete();
|
||||||
|
|
||||||
console.log(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[32m`, `${message.author.tag} has executed ${supportbot.Prefix}${supportbot.LinksCommand}!`);
|
|
||||||
|
|
||||||
const LinksEmbed = new Discord.MessageEmbed()
|
const LinksEmbed = new Discord.MessageEmbed()
|
||||||
.setColor(supportbot.EmbedColour)
|
.setColor(supportbot.EmbedColour)
|
||||||
|
|||||||
+34
-34
@@ -18,8 +18,8 @@ module.exports = {
|
|||||||
description: supportbot.NewTicketDesc,
|
description: supportbot.NewTicketDesc,
|
||||||
|
|
||||||
execute(message, args) {
|
execute(message, args) {
|
||||||
if (!message.channel.name === supportbot.ReactionChannel) {
|
if (!message.channel.name === supportbot.ReactionChannel || !message.channel.id === supportbot.ReactionChannel) {
|
||||||
if (supportbot.DeleteMessages == "true") message.delete();
|
if (supportbot.DeleteMessages) message.delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
let reactionUser = message.guild.members.cache.get(message.author.id)
|
let reactionUser = message.guild.members.cache.get(message.author.id)
|
||||||
@@ -31,8 +31,6 @@ module.exports = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
console.log(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[32m`, `${message.author.tag} has executed ${supportbot.Prefix}${supportbot.NewTicket}!`);
|
|
||||||
|
|
||||||
// Ticket ID
|
// Ticket ID
|
||||||
let ticketNumberID = TicketNumberID.pad(message.guild.id);
|
let ticketNumberID = TicketNumberID.pad(message.guild.id);
|
||||||
|
|
||||||
@@ -50,21 +48,21 @@ module.exports = {
|
|||||||
|
|
||||||
message.guild.channels.create(`${supportbot.TicketChannel}-${ticketNumberID}`, {
|
message.guild.channels.create(`${supportbot.TicketChannel}-${ticketNumberID}`, {
|
||||||
type: "text",
|
type: "text",
|
||||||
|
permissionOverwrites: [
|
||||||
|
{
|
||||||
|
id: message.guild.roles.everyone,
|
||||||
|
deny: ['VIEW_CHANNEL'],
|
||||||
|
}
|
||||||
|
]
|
||||||
}).then(SupportTicket => {
|
}).then(SupportTicket => {
|
||||||
|
|
||||||
let AllUsers = message.guild.roles.cache.find(everyone => everyone.name === '@everyone')
|
let AllUsers = message.guild.roles.cache.find(everyone => everyone.name === '@everyone')
|
||||||
let SupportStaff = message.guild.roles.cache.find(SupportTeam => SupportTeam.name === supportbot.Staff)
|
let SupportStaff = message.guild.roles.cache.find(SupportTeam => SupportTeam.name === supportbot.Staff) || message.guild.roles.cache.find(SupportTeam => SupportTeam.id === supportbot.Staff)
|
||||||
let Admins = message.guild.roles.cache.find(AdminUser => AdminUser.name === supportbot.Admin)
|
let Admins = message.guild.roles.cache.find(AdminUser => AdminUser.name === supportbot.Admin) || message.guild.roles.cache.find(AdminUser => AdminUser.id === supportbot.Admin)
|
||||||
|
|
||||||
let DeptRole1 = message.guild.roles.cache.find(DepartmentRole => DepartmentRole.name === `${supportbot.DepartmentRole_1}`)
|
let DeptRole1 = message.guild.roles.cache.find(DepartmentRole => DepartmentRole.name === `${supportbot.DepartmentRole_1}`) || message.guild.roles.cache.find(DepartmentRole => DepartmentRole.id === `${supportbot.DepartmentRole_1}`)
|
||||||
let DeptRole2 = message.guild.roles.cache.find(DepartmentRole => DepartmentRole.name === `${supportbot.DepartmentRole_2}`)
|
let DeptRole2 = message.guild.roles.cache.find(DepartmentRole => DepartmentRole.name === `${supportbot.DepartmentRole_2}`) || message.guild.roles.cache.find(DepartmentRole => DepartmentRole.id === `${supportbot.DepartmentRole_2}`)
|
||||||
let DeptRole3 = message.guild.roles.cache.find(DepartmentRole => DepartmentRole.name === `${supportbot.DepartmentRole_3}`)
|
let DeptRole3 = message.guild.roles.cache.find(DepartmentRole => DepartmentRole.name === `${supportbot.DepartmentRole_3}`) || message.guild.roles.cache.find(DepartmentRole => DepartmentRole.id === `${supportbot.DepartmentRole_3}`)
|
||||||
|
|
||||||
SupportTicket.updateOverwrite(AllUsers, {
|
|
||||||
VIEW_CHANNEL: false,
|
|
||||||
READ_MESSAGES: false,
|
|
||||||
SEND_MESSAGES: false,
|
|
||||||
})
|
|
||||||
|
|
||||||
SupportTicket.updateOverwrite(message.author, {
|
SupportTicket.updateOverwrite(message.author, {
|
||||||
VIEW_CHANNEL: true,
|
VIEW_CHANNEL: true,
|
||||||
@@ -84,20 +82,22 @@ module.exports = {
|
|||||||
SEND_MESSAGES: true,
|
SEND_MESSAGES: true,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
SupportTicket.updateOverwrite(AllUsers, {
|
||||||
|
VIEW_CHANNEL: false
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Ticket Category
|
// Ticket Category
|
||||||
let TicketCategory = message.guild.channels.cache.find(category => category.name === supportbot.TicketCategory)
|
let TicketCategory = message.guild.channels.cache.find(category => category.name === supportbot.TicketCategory) || message.guild.channels.cache.find(category => category.id === supportbot.TicketCategory)
|
||||||
|
|
||||||
if (TicketCategory) {
|
if (TicketCategory) {
|
||||||
SupportTicket.setParent(TicketCategory.id)
|
SupportTicket.setParent(TicketCategory.id)
|
||||||
} else {
|
|
||||||
if (message.guild.channels.cache.get(supportbot.TicketCategory)) {
|
|
||||||
SupportTicket.setParent(message.guild.channels.cache.get(supportbot.TicketCategory).id);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ticket Created, Message Sent
|
// Ticket Created, Message Sent
|
||||||
|
|
||||||
if (supportbot.AllowTicketMentions === "true") {
|
if (supportbot.AllowTicketMentions) {
|
||||||
SupportTicket.send(`<@${message.author.id}>`)
|
SupportTicket.send(`<@${message.author.id}>`)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -122,7 +122,7 @@ module.exports = {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (supportbot.TicketDepartments === "true") {
|
if (supportbot.TicketDepartments) {
|
||||||
TicketMessage.addFields({ name: 'Departments', value: `${supportbot.DepartmentEmoji_1} **${supportbot.DepartmentTitle_1}**\n${supportbot.DepartmentEmoji_2} **${supportbot.DepartmentTitle_2}**\n${supportbot.DepartmentEmoji_3} **${supportbot.DepartmentTitle_3}**` })
|
TicketMessage.addFields({ name: 'Departments', value: `${supportbot.DepartmentEmoji_1} **${supportbot.DepartmentTitle_1}**\n${supportbot.DepartmentEmoji_2} **${supportbot.DepartmentTitle_2}**\n${supportbot.DepartmentEmoji_3} **${supportbot.DepartmentTitle_3}**` })
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -134,7 +134,7 @@ module.exports = {
|
|||||||
|
|
||||||
reacted[ticketNumberID] = false;
|
reacted[ticketNumberID] = false;
|
||||||
|
|
||||||
if (supportbot.TicketDepartments === "true") {
|
if (supportbot.TicketDepartments) {
|
||||||
await msg.react(Emoji_1);
|
await msg.react(Emoji_1);
|
||||||
await msg.react(Emoji_2);
|
await msg.react(Emoji_2);
|
||||||
await msg.react(Emoji_3);
|
await msg.react(Emoji_3);
|
||||||
@@ -147,11 +147,11 @@ module.exports = {
|
|||||||
SupportTicket.updateOverwrite(Admins, { VIEW_CHANNEL: true, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
SupportTicket.updateOverwrite(Admins, { VIEW_CHANNEL: true, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
||||||
SupportTicket.updateOverwrite(DeptRole1, { VIEW_CHANNEL: true, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
SupportTicket.updateOverwrite(DeptRole1, { VIEW_CHANNEL: true, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
||||||
|
|
||||||
if (supportbot.AllowStaff === "true") {
|
if (supportbot.AllowStaff) {
|
||||||
SupportTicket.updateOverwrite(SupportStaff, { VIEW_CHANNEL: true, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
SupportTicket.updateOverwrite(SupportStaff, { VIEW_CHANNEL: true, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
||||||
}
|
}
|
||||||
|
|
||||||
if (supportbot.AllowStaff === "false") {
|
if (!supportbot.AllowStaff) {
|
||||||
SupportTicket.updateOverwrite(SupportStaff, { VIEW_CHANNEL: false, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
SupportTicket.updateOverwrite(SupportStaff, { VIEW_CHANNEL: false, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -160,7 +160,7 @@ module.exports = {
|
|||||||
.setColor(supportbot.EmbedColour)
|
.setColor(supportbot.EmbedColour)
|
||||||
SupportTicket.send({ embed: Department1 });
|
SupportTicket.send({ embed: Department1 });
|
||||||
|
|
||||||
if (supportbot.AllowTicketMentions === "true") {
|
if (supportbot.AllowTicketMentions) {
|
||||||
SupportTicket.send(`@here`)
|
SupportTicket.send(`@here`)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -171,11 +171,11 @@ module.exports = {
|
|||||||
SupportTicket.updateOverwrite(Admins, { VIEW_CHANNEL: true, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
SupportTicket.updateOverwrite(Admins, { VIEW_CHANNEL: true, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
||||||
SupportTicket.updateOverwrite(DeptRole2, { VIEW_CHANNEL: true, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
SupportTicket.updateOverwrite(DeptRole2, { VIEW_CHANNEL: true, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
||||||
|
|
||||||
if (supportbot.AllowStaff === "true") {
|
if (supportbot.AllowStaff) {
|
||||||
SupportTicket.updateOverwrite(SupportStaff, { VIEW_CHANNEL: true, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
SupportTicket.updateOverwrite(SupportStaff, { VIEW_CHANNEL: true, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
||||||
}
|
}
|
||||||
|
|
||||||
if (supportbot.AllowStaff === "false") {
|
if (!supportbot.AllowStaff) {
|
||||||
SupportTicket.updateOverwrite(SupportStaff, { VIEW_CHANNEL: false, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
SupportTicket.updateOverwrite(SupportStaff, { VIEW_CHANNEL: false, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -184,7 +184,7 @@ module.exports = {
|
|||||||
.setColor(supportbot.EmbedColour)
|
.setColor(supportbot.EmbedColour)
|
||||||
SupportTicket.send({ embed: Department2 });
|
SupportTicket.send({ embed: Department2 });
|
||||||
|
|
||||||
if (supportbot.AllowTicketMentions === "true") {
|
if (supportbot.AllowTicketMentions) {
|
||||||
SupportTicket.send(`@here`)
|
SupportTicket.send(`@here`)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -196,11 +196,11 @@ module.exports = {
|
|||||||
SupportTicket.updateOverwrite(DeptRole3, { VIEW_CHANNEL: true, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
SupportTicket.updateOverwrite(DeptRole3, { VIEW_CHANNEL: true, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
||||||
SupportTicket.updateOverwrite(SupportStaff, { VIEW_CHANNEL: false, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
SupportTicket.updateOverwrite(SupportStaff, { VIEW_CHANNEL: false, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
||||||
|
|
||||||
if (supportbot.AllowStaff === "true") {
|
if (supportbot.AllowStaff) {
|
||||||
SupportTicket.updateOverwrite(SupportStaff, { VIEW_CHANNEL: true, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
SupportTicket.updateOverwrite(SupportStaff, { VIEW_CHANNEL: true, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
||||||
}
|
}
|
||||||
|
|
||||||
if (supportbot.AllowStaff === "false") {
|
if (!supportbot.AllowStaff) {
|
||||||
SupportTicket.updateOverwrite(SupportStaff, { VIEW_CHANNEL: false, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
SupportTicket.updateOverwrite(SupportStaff, { VIEW_CHANNEL: false, READ_MESSAGES: true, SEND_MESSAGES: true, })
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -209,7 +209,7 @@ module.exports = {
|
|||||||
.setColor(supportbot.EmbedColour)
|
.setColor(supportbot.EmbedColour)
|
||||||
SupportTicket.send({ embed: Department3 });
|
SupportTicket.send({ embed: Department3 });
|
||||||
|
|
||||||
if (supportbot.AllowTicketMentions === "true") {
|
if (supportbot.AllowTicketMentions) {
|
||||||
SupportTicket.send(`@here`)
|
SupportTicket.send(`@here`)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -234,7 +234,7 @@ module.exports = {
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if (message.channel.name === supportbot.ReactionChannel) {
|
if (message.channel.name === supportbot.ReactionChannel || message.channel.id === supportbot.ReactionChannel) {
|
||||||
const CreatedTicket = new Discord.MessageEmbed()
|
const CreatedTicket = new Discord.MessageEmbed()
|
||||||
.setDescription(supportbot.TicketCreatedAlert.replace(/%ticketauthor%/g, message.author.id).replace(/%ticketid%/g, SupportTicket.id).replace(/%ticketusername%/g, message.author.username))
|
.setDescription(supportbot.TicketCreatedAlert.replace(/%ticketauthor%/g, message.author.id).replace(/%ticketid%/g, SupportTicket.id).replace(/%ticketusername%/g, message.author.username))
|
||||||
.setColor(supportbot.EmbedColour)
|
.setColor(supportbot.EmbedColour)
|
||||||
@@ -269,7 +269,7 @@ module.exports = {
|
|||||||
.setColor(supportbot.EmbedColour)
|
.setColor(supportbot.EmbedColour)
|
||||||
.setFooter(supportbot.EmbedFooter)
|
.setFooter(supportbot.EmbedFooter)
|
||||||
|
|
||||||
let locateChannel = message.guild.channels.cache.find(LocateChannel => LocateChannel.name === supportbot.TicketLog)
|
let locateChannel = message.guild.channels.cache.find(LocateChannel => LocateChannel.name === supportbot.TicketLog) || message.guild.channels.cache.find(LocateChannel => LocateChannel.id === supportbot.TicketLog)
|
||||||
|
|
||||||
if(!locateChannel) return message.channel.send({ embed: errornochannel });
|
if(!locateChannel) return message.channel.send({ embed: errornochannel });
|
||||||
|
|
||||||
|
|||||||
+1
-3
@@ -12,9 +12,7 @@ module.exports = {
|
|||||||
description: supportbot.PingDesc,
|
description: supportbot.PingDesc,
|
||||||
|
|
||||||
execute(message, args) {
|
execute(message, args) {
|
||||||
if (supportbot.DeleteMessages == "true") message.delete();
|
if (supportbot.DeleteMessages) message.delete();
|
||||||
|
|
||||||
console.log(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[32m`, `${message.author.tag} has executed ${supportbot.Prefix}${supportbot.PingCommand}!`)
|
|
||||||
|
|
||||||
let ping = Date.now() - message.createdTimestamp + " ms";
|
let ping = Date.now() - message.createdTimestamp + " ms";
|
||||||
|
|
||||||
|
|||||||
+3
-5
@@ -13,11 +13,9 @@ module.exports = {
|
|||||||
description: supportbot.PurgeDesc,
|
description: supportbot.PurgeDesc,
|
||||||
|
|
||||||
execute(message, args, member) {
|
execute(message, args, member) {
|
||||||
if (supportbot.DeleteMessages == "true") message.delete();
|
if (supportbot.DeleteMessages) message.delete();
|
||||||
|
|
||||||
let SupportStaff = message.guild.roles.cache.find(adminRole => adminRole.name === supportbot.Staff);
|
let SupportStaff = message.guild.roles.cache.find(adminRole => adminRole.name === supportbot.Staff) || message.guild.roles.cache.find(adminRole => adminRole.id === supportbot.Staff)
|
||||||
|
|
||||||
console.log(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[32m`, `${message.author.tag} has executed ${supportbot.Prefix}${supportbot.PurgeMessage}!`);
|
|
||||||
|
|
||||||
const NoPerms = new Discord.MessageEmbed()
|
const NoPerms = new Discord.MessageEmbed()
|
||||||
.setTitle("Invalid Permissions!")
|
.setTitle("Invalid Permissions!")
|
||||||
@@ -27,7 +25,7 @@ module.exports = {
|
|||||||
if (!message.member.roles.cache.has(SupportStaff.id))
|
if (!message.member.roles.cache.has(SupportStaff.id))
|
||||||
return message.channel.send({ embed: NoPerms });
|
return message.channel.send({ embed: NoPerms });
|
||||||
|
|
||||||
let locateChannel = message.guild.channels.cache.find(ModLogChannel => ModLogChannel.name === supportbot.ModLogChannel);
|
let locateChannel = message.guild.channels.cache.find(ModLogChannel => ModLogChannel.name === supportbot.ModLogChannel) || message.guild.channels.cache.find(ModLogChannel => ModLogChannel.id === supportbot.ModLogChannel)
|
||||||
|
|
||||||
const errornochannel = new Discord.MessageEmbed()
|
const errornochannel = new Discord.MessageEmbed()
|
||||||
.setTitle("Invalid Channel")
|
.setTitle("Invalid Channel")
|
||||||
|
|||||||
@@ -12,12 +12,10 @@ module.exports = {
|
|||||||
description: supportbot.RemoveUserDesc,
|
description: supportbot.RemoveUserDesc,
|
||||||
|
|
||||||
execute(message, args) {
|
execute(message, args) {
|
||||||
if (supportbot.DeleteMessages == "true") message.delete();
|
if (supportbot.DeleteMessages) message.delete();
|
||||||
|
|
||||||
console.log(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[32m`, `${message.author.tag} has executed ${supportbot.Prefix}${supportbot.RemoveUser}!`);
|
let SupportStaff = message.guild.roles.cache.find(SupportTeam => SupportTeam.name === supportbot.Staff) || message.guild.roles.cache.find(SupportTeam => SupportTeam.id === supportbot.Staff)
|
||||||
|
let Admins = message.guild.roles.cache.find(AdminUser => AdminUser.name === supportbot.Admin) || message.guild.roles.cache.find(AdminUser => AdminUser.id === supportbot.Admin)
|
||||||
let SupportStaff = message.guild.roles.cache.find(SupportTeam => SupportTeam.name === supportbot.Staff)
|
|
||||||
let Admins = message.guild.roles.cache.find(AdminUser => AdminUser.name === supportbot.Admin)
|
|
||||||
|
|
||||||
const NoPerms = new Discord.MessageEmbed()
|
const NoPerms = new Discord.MessageEmbed()
|
||||||
.setTitle("Invalid Permissions!")
|
.setTitle("Invalid Permissions!")
|
||||||
|
|||||||
+2
-4
@@ -12,11 +12,9 @@ module.exports = {
|
|||||||
description: supportbot.SuggestionDesc,
|
description: supportbot.SuggestionDesc,
|
||||||
|
|
||||||
execute(message, args) {
|
execute(message, args) {
|
||||||
if (supportbot.DeleteMessages == "true") message.delete();
|
if (supportbot.DeleteMessages) message.delete();
|
||||||
|
|
||||||
let locateChannel = message.guild.channels.cache.find(SuggestionChannel => SuggestionChannel.name === supportbot.SuggestionChannel);
|
let locateChannel = message.guild.channels.cache.find(SuggestionChannel => SuggestionChannel.name === supportbot.SuggestionChannel) || message.guild.channels.cache.find(SuggestionChannel => SuggestionChannel.id === supportbot.SuggestionChannel)
|
||||||
|
|
||||||
console.log(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[32m`, `${message.author.tag} has executed ${supportbot.Prefix}${supportbot.SuggestCommand}!`);
|
|
||||||
|
|
||||||
const errornochannel = new Discord.MessageEmbed()
|
const errornochannel = new Discord.MessageEmbed()
|
||||||
.setTitle("Invalid Channel")
|
.setTitle("Invalid Channel")
|
||||||
|
|||||||
@@ -9,15 +9,15 @@ const supportbot = yaml.load(fs.readFileSync('./supportbot-config.yml', 'utf8'))
|
|||||||
|
|
||||||
module.exports = async (bot, member) => {
|
module.exports = async (bot, member) => {
|
||||||
|
|
||||||
if (supportbot.SystemMessages === "true") {
|
if (supportbot.SystemMessages) {
|
||||||
const SystemChannel = member.guild.channels.cache.find(channel => channel.name === supportbot.SystemMessage_Channel)
|
const SystemChannel = member.guild.channels.cache.find(channel => channel.name === supportbot.SystemMessage_Channel) || member.guild.channels.cache.get(supportbot.SystemMessage_Channel)
|
||||||
|
|
||||||
if (!SystemChannel) return;
|
if (!SystemChannel) return;
|
||||||
|
|
||||||
console.log(`[${supportbot.Bot_Name}]: ${member.user.username} has joined ${member.guild.name}!`)
|
console.log(`[${supportbot.Bot_Name}]: ${member.user.username} has joined ${member.guild.name}!`)
|
||||||
console.log(supportbot.AutoRole_Role)
|
console.log(supportbot.AutoRole_Role)
|
||||||
|
|
||||||
const role = member.guild.roles.cache.find(role => role.name === supportbot.AutoRole_Role)
|
const role = member.guild.roles.cache.find(role => role.name === supportbot.AutoRole_Role) || member.guild.roles.cache.find(role => role.id === supportbot.AutoRole_Role)
|
||||||
|
|
||||||
member.roles.add(role).catch(console.error);
|
member.roles.add(role).catch(console.error);
|
||||||
|
|
||||||
@@ -37,7 +37,7 @@ module.exports = async (bot, member) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (supportbot.SystemMessage_EmbedFooter === "true") {
|
if (supportbot.SystemMessage_EmbedFooter) {
|
||||||
GuildAddMember.setFooter(supportbot.EmbedFooter)
|
GuildAddMember.setFooter(supportbot.EmbedFooter)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ const supportbot = yaml.load(fs.readFileSync('./supportbot-config.yml', 'utf8'))
|
|||||||
|
|
||||||
module.exports = async (bot, member) => {
|
module.exports = async (bot, member) => {
|
||||||
|
|
||||||
if (supportbot.SystemMessages === "true") {
|
if (supportbot.SystemMessages) {
|
||||||
const SystemChannel = member.guild.channels.cache.find(channel => channel.name === supportbot.SystemMessage_Channel)
|
const SystemChannel = member.guild.channels.cache.find(channel => channel.name === supportbot.SystemMessage_Channel) || member.guild.channels.cache.get(supportbot.SystemMessage_Channel)
|
||||||
|
|
||||||
if (!SystemChannel) return;
|
if (!SystemChannel) return;
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ module.exports = async (bot, message) => {
|
|||||||
const args = message.content.slice(supportbot.Prefix.length).trim().split(/ +/g);
|
const args = message.content.slice(supportbot.Prefix.length).trim().split(/ +/g);
|
||||||
const command = args.shift().toLowerCase();
|
const command = args.shift().toLowerCase();
|
||||||
|
|
||||||
|
console.log(`\u001b[32m`, `[${supportbot.Bot_Name}]`, `\u001b[36m`, `${message.author.tag}`, `\u001b[33m`, `has executed the command`, `\u001b[36m`,`${supportbot.Prefix}${command}`)
|
||||||
|
|
||||||
const cmd = bot.commands.get(command);
|
const cmd = bot.commands.get(command);
|
||||||
if(!cmd) return;
|
if(!cmd) return;
|
||||||
cmd.execute(message, args);
|
cmd.execute(message, args);
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ module.exports = async (client, reaction, user) => {
|
|||||||
channel: reaction.message.channel
|
channel: reaction.message.channel
|
||||||
}
|
}
|
||||||
|
|
||||||
if (supportbot.ReactionTickets === true) {
|
if (supportbot.ReactionTickets) {
|
||||||
if (reaction.message.id === tickets.ReactionMessage_ID) {
|
if (reaction.message.id === tickets.ReactionMessage_ID) {
|
||||||
if (reaction.emoji.name == supportbot.ReactionEmoji || reaction.emoji.id == supportbot.ReactionEmoji) {
|
if (reaction.emoji.name == supportbot.ReactionEmoji || reaction.emoji.id == supportbot.ReactionEmoji) {
|
||||||
await reaction.users.remove(user.id)
|
await reaction.users.remove(user.id)
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
const Discord = require("discord.js");
|
||||||
|
const fs = require("fs");
|
||||||
|
|
||||||
|
const yaml = require('js-yaml');
|
||||||
|
const supportbot = yaml.load(fs.readFileSync('./supportbot-config.yml', 'utf8'));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
module.exports = async (bot, message, packet) => {
|
||||||
|
if (!['MESSAGE_REACTION_ADD', 'MESSAGE_REACTION_REMOVE'].includes(packet.t)) return;
|
||||||
|
|
||||||
|
const channel = bot.channels.cache.get(packet.d.channel_id);
|
||||||
|
if (channel.messages.has(packet.d.message_id)) return;
|
||||||
|
|
||||||
|
channel.messages.fetch(packet.d.message_id).then(message => {
|
||||||
|
const emoji = packet.d.emoji.id ? `${packet.d.emoji.name}:${packet.d.emoji.id}` : packet.d.emoji.name;
|
||||||
|
const reaction = message.reactions.get(emoji);
|
||||||
|
if (reaction) reaction.users.set(packet.d.user_id, bot.users.get(packet.d.user_id));
|
||||||
|
if (packet.t === 'MESSAGE_REACTION_ADD') {
|
||||||
|
bot.emit('messageReactionAdd', reaction, bot.users.get(packet.d.user_id));
|
||||||
|
}
|
||||||
|
if (packet.t === 'MESSAGE_REACTION_REMOVE') {
|
||||||
|
bot.emit('messageReactionRemove', reaction, bot.users.get(packet.d.user_id));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
+21
-3
@@ -16,9 +16,27 @@ module.exports = async (bot) => {
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log(`\u001b[32m`, `―――――――――――――――――― SupportBot ――――――――――――――――――`)
|
console.log(`\u001b[32m`, `┏━━━┓╋╋╋╋╋╋╋╋╋╋╋╋╋┏┓┏━━┓╋╋╋┏┓`)
|
||||||
console.log(`\u001b[37m`, `${supportbot.Bot_Name} has successfully connected to discord`)
|
console.log(`\u001b[32m`, `┃┏━┓┃╋╋╋╋╋╋╋╋╋╋╋╋┏┛┗┫┏┓┃╋╋┏┛┗┓`)
|
||||||
console.log(`\u001b[32m`, `―――――――――――――――――― SupportBot ――――――――――――――――――`)
|
console.log(`\u001b[32m`, `┃┗━━┳┓┏┳━━┳━━┳━━┳┻┓┏┫┗┛┗┳━┻┓┏┛`)
|
||||||
|
console.log(`\u001b[32m`, `┗━━┓┃┃┃┃┏┓┃┏┓┃┏┓┃┏┫┃┃┏━┓┃┏┓┃┃`)
|
||||||
|
console.log(`\u001b[32m`, `┃┗━┛┃┗┛┃┗┛┃┗┛┃┗┛┃┃┃┗┫┗━┛┃┗┛┃┗┓`)
|
||||||
|
console.log(`\u001b[32m`, `┗━━━┻━━┫┏━┫┏━┻━━┻┛┗━┻━━━┻━━┻━┛`)
|
||||||
|
console.log(`\u001b[32m`, `┗╋╋╋╋╋╋╋┃┃╋┃┃`)
|
||||||
|
console.log(`\u001b[32m`, `╋╋╋╋╋╋╋┗┛╋┗┛`)
|
||||||
|
console.log(` `)
|
||||||
|
console.log(`\u001b[31m`, `――――――――――――――――――――――――――――――――――――――――――――`)
|
||||||
|
console.log(` `)
|
||||||
|
console.log(`\u001b[33m`, `${supportbot.Bot_Name}`, `\u001b[36m`, `Connected to Discord`)
|
||||||
|
console.log(`\u001b[33m`, `Documentation:`, `\u001b[36m`, `https://docs.emeraldsrv.dev`)
|
||||||
|
console.log(`\u001b[33m`, `Discord:`, `\u001b[36m`, `https://emeraldsrv.dev/discord`)
|
||||||
|
console.log(`\u001b[33m`, `Hosting:`, `\u001b[36m`, `https://emeraldsrv.dev/hosting`)
|
||||||
|
console.log(` `)
|
||||||
|
console.log(`\u001b[37m`, `SupportBot proudly created by Emerald Services`)
|
||||||
|
console.log(` `)
|
||||||
|
console.log(`\u001b[31m`, `――――――――――――――――――――――――――――――――――――――――――――`)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (supportbot.ReactionTickets === true) {
|
if (supportbot.ReactionTickets === true) {
|
||||||
let chan1 = bot.channels.cache.find(channel => channel.name === supportbot.ReactionChannel)
|
let chan1 = bot.channels.cache.find(channel => channel.name === supportbot.ReactionChannel)
|
||||||
|
|||||||
@@ -1,15 +1,13 @@
|
|||||||
// _________ __ __________ __
|
// ___ _ ___ _
|
||||||
// / _____/__ ________ ______ ____________/ |\______ \ _____/ |_
|
// / __> _ _ ___ ___ ___ _ _ _| |_ | . > ___ _| |_
|
||||||
// \_____ \| | \____ \\____ \ / _ \_ __ \ __\ | _// _ \ __\
|
// \__ \| | || . \| . \/ . \| '_> | | | . \/ . \ | |
|
||||||
// / \ | / |_> > |_> > <_> ) | \/| | | | ( <_> ) |
|
// <___/`___|| _/| _/\___/|_| |_| |___/\___/ |_|
|
||||||
// /_______ /____/| __/| __/ \____/|__| |__| |______ /\____/|__|
|
// |_| |_|
|
||||||
// \/ |__| |__| \/
|
|
||||||
//
|
//
|
||||||
// SupportBot version 6.4
|
// SupportBot created by Emerald Services
|
||||||
// Created by Emerald Services
|
// Installed with MIT License
|
||||||
// Installed with MIT License
|
|
||||||
//
|
//
|
||||||
// Support Server: discord.gg/jspKFcE
|
// Discord Support: https://emeraldsrv.dev/discord
|
||||||
|
|
||||||
const Discord = require("discord.js");
|
const Discord = require("discord.js");
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
@@ -33,23 +31,30 @@ String.prototype.toProperCase = function () {
|
|||||||
const init = async () => {
|
const init = async () => {
|
||||||
const evtFiles = await readdir("./events/");
|
const evtFiles = await readdir("./events/");
|
||||||
|
|
||||||
|
console.info(`\u001b[36m`, `➢ SupportBot Events`);
|
||||||
|
console.info(` `);
|
||||||
|
|
||||||
evtFiles.forEach((file, i) => {
|
evtFiles.forEach((file, i) => {
|
||||||
const eventName = file.split(".")[0];
|
const eventName = file.split(".")[0];
|
||||||
const event = require(`./events/${file}`);
|
const event = require(`./events/${file}`);
|
||||||
|
console.info(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[36m`, `#${i + 1} Event Loaded: ${eventName.toProperCase()} `);
|
||||||
console.info(`\u001b[37m`, `[${supportbot.Bot_Name}]:`, `\u001b[31m`, `#${i + 1} Event Loaded: ${eventName.toProperCase()} `);
|
|
||||||
|
|
||||||
bot.on(eventName, event.bind(null, bot));
|
bot.on(eventName, event.bind(null, bot));
|
||||||
delete require.cache[require.resolve(`./events/${file}`)];
|
delete require.cache[require.resolve(`./events/${file}`)];
|
||||||
});
|
});
|
||||||
|
|
||||||
console.info(`\u001b[37m`, `[${supportbot.Bot_Name}]:`, `\u001b[32m`, `Successfully loaded ${evtFiles.length} events.`);
|
console.info(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[36m`, `Successfully loaded ${evtFiles.length} events.`);
|
||||||
console.info(`\u001b[37m`, "-----------------------------------------------------------------------------");
|
console.log(`\u001b[31m`, `――――――――――――――――――――――――――――――――――――――――――――`)
|
||||||
|
console.log(` `)
|
||||||
};
|
};
|
||||||
|
|
||||||
init();
|
init();
|
||||||
|
|
||||||
fs.readdir("./commands/", (err, files) => {
|
fs.readdir("./commands/", (err, files) => {
|
||||||
|
|
||||||
|
console.info(`\u001b[36m`, `➢ SupportBot Commands`);
|
||||||
|
console.info(` `);
|
||||||
|
|
||||||
if (err) console.info(err, "error");
|
if (err) console.info(err, "error");
|
||||||
|
|
||||||
let jsfiles = files.filter((f) => f.split(".").pop() === "js");
|
let jsfiles = files.filter((f) => f.split(".").pop() === "js");
|
||||||
@@ -61,32 +66,40 @@ fs.readdir("./commands/", (err, files) => {
|
|||||||
|
|
||||||
jsfiles.forEach((f, i) => {
|
jsfiles.forEach((f, i) => {
|
||||||
let props = require(`./commands/${f}`);
|
let props = require(`./commands/${f}`);
|
||||||
console.info(`\u001b[37m`, `[${supportbot.Bot_Name}]:`, `\u001b[31m`, `#${i + 1} Command Loaded: ${props.name.toProperCase()}`);
|
|
||||||
|
console.info(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[36m`, `#${i + 1} Command Loaded: ${props.name.toProperCase()}`);
|
||||||
bot.commands.set(props.name, props);
|
bot.commands.set(props.name, props);
|
||||||
});
|
});
|
||||||
|
|
||||||
console.info(`\u001b[37m`, `[${supportbot.Bot_Name}]:`, `\u001b[32m`, `Loaded ${jsfiles.length} commands!`);
|
console.info(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[36m`, `Loaded ${jsfiles.length} commands!`);
|
||||||
console.info(`\u001b[37m`, "-----------------------------------------------------------------------------");
|
console.log(`\u001b[31m`, `――――――――――――――――――――――――――――――――――――――――――――`)
|
||||||
|
console.log(` `)
|
||||||
});
|
});
|
||||||
|
|
||||||
fs.readdir("./addons/", (err, files) => {
|
fs.readdir("./addons/", (err, files) => {
|
||||||
|
|
||||||
|
console.info(`\u001b[36m`, `➢ SupportBot Addons`);
|
||||||
|
console.info(` `);
|
||||||
|
|
||||||
if (err) console.info(err, "error");
|
if (err) console.info(err, "error");
|
||||||
|
|
||||||
let jsfiles = files.filter((f) => f.split(".").pop() === "js");
|
let jsfiles = files.filter((f) => f.split(".").pop() === "js");
|
||||||
|
|
||||||
if (jsfiles.length <= 0) {
|
if (jsfiles.length <= 0) {
|
||||||
console.log(`[${supportbot.Bot_Name}]: No addons found. You can download addons from https://emeraldservices.xyz`);
|
console.log(`[${supportbot.Bot_Name}]: No addons found. You can download addons from https://emeraldsrv.dev`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
jsfiles.forEach((f, i) => {
|
jsfiles.forEach((f, i) => {
|
||||||
let props = require(`./addons/${f}`);
|
let props = require(`./addons/${f}`);
|
||||||
console.info(`\u001b[37m`, `[${supportbot.Bot_Name}]:`, `\u001b[31m`, `#${i + 1} Command Loaded: ${props.name.toProperCase()}`);
|
|
||||||
|
console.info(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[36m`, `#${i + 1} Addon Loaded: ${props.name.toProperCase()}`);
|
||||||
bot.commands.set(props.name, props);
|
bot.commands.set(props.name, props);
|
||||||
});
|
});
|
||||||
|
|
||||||
console.info(`\u001b[37m`, `[${supportbot.Bot_Name}]:`, `\u001b[32m`, `Loaded ${jsfiles.length} commands!`);
|
console.info(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[36m`, `Loaded ${jsfiles.length} addons!`);
|
||||||
console.info(`\u001b[37m`, "-----------------------------------------------------------------------------");
|
console.log(`\u001b[31m`, `――――――――――――――――――――――――――――――――――――――――――――`)
|
||||||
|
console.log(` `)
|
||||||
});
|
});
|
||||||
|
|
||||||
bot.login(supportbot.Token);
|
bot.login(supportbot.Token);
|
||||||
Generated
+120
@@ -0,0 +1,120 @@
|
|||||||
|
{
|
||||||
|
"name": "supportbot",
|
||||||
|
"version": "7.0.0",
|
||||||
|
"lockfileVersion": 1,
|
||||||
|
"requires": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@discordjs/collection": {
|
||||||
|
"version": "0.1.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.1.6.tgz",
|
||||||
|
"integrity": "sha512-utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ=="
|
||||||
|
},
|
||||||
|
"@discordjs/form-data": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@discordjs/form-data/-/form-data-3.0.1.tgz",
|
||||||
|
"integrity": "sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==",
|
||||||
|
"requires": {
|
||||||
|
"asynckit": "^0.4.0",
|
||||||
|
"combined-stream": "^1.0.8",
|
||||||
|
"mime-types": "^2.1.12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"abort-controller": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
|
||||||
|
"requires": {
|
||||||
|
"event-target-shim": "^5.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"argparse": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
|
||||||
|
},
|
||||||
|
"asynckit": {
|
||||||
|
"version": "0.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||||
|
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
|
||||||
|
},
|
||||||
|
"combined-stream": {
|
||||||
|
"version": "1.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||||
|
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||||
|
"requires": {
|
||||||
|
"delayed-stream": "~1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"delayed-stream": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
|
||||||
|
},
|
||||||
|
"discord.js": {
|
||||||
|
"version": "12.5.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-12.5.3.tgz",
|
||||||
|
"integrity": "sha512-D3nkOa/pCkNyn6jLZnAiJApw2N9XrIsXUAdThf01i7yrEuqUmDGc7/CexVWwEcgbQR97XQ+mcnqJpmJ/92B4Aw==",
|
||||||
|
"requires": {
|
||||||
|
"@discordjs/collection": "^0.1.6",
|
||||||
|
"@discordjs/form-data": "^3.0.1",
|
||||||
|
"abort-controller": "^3.0.0",
|
||||||
|
"node-fetch": "^2.6.1",
|
||||||
|
"prism-media": "^1.2.9",
|
||||||
|
"setimmediate": "^1.0.5",
|
||||||
|
"tweetnacl": "^1.0.3",
|
||||||
|
"ws": "^7.4.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"event-target-shim": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="
|
||||||
|
},
|
||||||
|
"js-yaml": {
|
||||||
|
"version": "4.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
|
||||||
|
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
|
||||||
|
"requires": {
|
||||||
|
"argparse": "^2.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mime-db": {
|
||||||
|
"version": "1.48.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz",
|
||||||
|
"integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ=="
|
||||||
|
},
|
||||||
|
"mime-types": {
|
||||||
|
"version": "2.1.31",
|
||||||
|
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz",
|
||||||
|
"integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==",
|
||||||
|
"requires": {
|
||||||
|
"mime-db": "1.48.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node-fetch": {
|
||||||
|
"version": "2.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
|
||||||
|
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
|
||||||
|
},
|
||||||
|
"prism-media": {
|
||||||
|
"version": "1.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.1.tgz",
|
||||||
|
"integrity": "sha512-nyYAa3KB4qteJIqdguKmwxTJgy55xxUtkJ3uRnOvO5jO+frci+9zpRXw6QZVcfDeva3S654fU9+26P2OSTzjHw=="
|
||||||
|
},
|
||||||
|
"setimmediate": {
|
||||||
|
"version": "1.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
|
||||||
|
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
|
||||||
|
},
|
||||||
|
"tweetnacl": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz",
|
||||||
|
"integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw=="
|
||||||
|
},
|
||||||
|
"ws": {
|
||||||
|
"version": "7.5.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.1.tgz",
|
||||||
|
"integrity": "sha512-2c6faOUH/nhoQN6abwMloF7Iyl0ZS2E9HGtsiLrWn0zOOMWlhtDmdf/uihDt6jnuCxgtwGBNy6Onsoy2s2O2Ow=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Executable → Regular
+10
-18
@@ -1,26 +1,18 @@
|
|||||||
{
|
{
|
||||||
"name": "supportbot",
|
"name": "supportbot",
|
||||||
"version": "6.4",
|
"version": "7.0.0",
|
||||||
"description": "SupportBot | #1 Self-Hosted Ticket Bot",
|
"description": "SupportBot, a free open-source discord ticket application with ease of use.",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
|
||||||
"discord.js": "^12.5.1",
|
|
||||||
"js-yaml": "^4.0.0"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"node-fetch": ">=2.6.1"
|
|
||||||
},
|
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "help"
|
"supportbot": "node index.js"
|
||||||
},
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/1tzemerald/SupportBot.git"
|
|
||||||
},
|
},
|
||||||
|
"keywords": [
|
||||||
|
"supportbot"
|
||||||
|
],
|
||||||
"author": "Emerald Services",
|
"author": "Emerald Services",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bugs": {
|
"dependencies": {
|
||||||
"url": "https://github.com/1tzemerald/SupportBot/issues"
|
"discord.js": "^12.5.3",
|
||||||
},
|
"js-yaml": "^4.1.0"
|
||||||
"homepage": "https://emeraldsrv.dev"
|
}
|
||||||
}
|
}
|
||||||
+129
-58
@@ -1,101 +1,150 @@
|
|||||||
# _________ __ __________ __
|
# ___ _ ___ _
|
||||||
# / _____/__ ________ ______ ____________/ |\______ \ _____/ |_
|
# / __> _ _ ___ ___ ___ _ _ _| |_ | . > ___ _| |_
|
||||||
# \_____ \| | \____ \\____ \ / _ \_ __ \ __\ | _// _ \ __\
|
# \__ \| | || . \| . \/ . \| '_> | | | . \/ . \ | |
|
||||||
# / \ | / |_> > |_> > <_> ) | \/| | | | ( <_> ) |
|
# <___/`___|| _/| _/\___/|_| |_| |___/\___/ |_|
|
||||||
# /_______ /____/| __/| __/ \____/|__| |__| |______ /\____/|__|
|
# |_| |_|
|
||||||
# \/ |__| |__| \/
|
|
||||||
#
|
#
|
||||||
# SupportBot version 6.4
|
# SupportBot created by Emerald Services
|
||||||
# Created by Emerald Services
|
# Installed with MIT License
|
||||||
# Installed with MIT License
|
|
||||||
#
|
#
|
||||||
# Support Server: discord.gg/jspKFcE
|
# Discord Support: https://emeraldsrv.dev/discord
|
||||||
|
|
||||||
# General Bot Configuration
|
SupportBot Version: "7.0"
|
||||||
|
|
||||||
Token: "BOT_TOKEN_HERE"
|
# -------------------------
|
||||||
Prefix: "-"
|
# General Configuration
|
||||||
|
# -------------------------
|
||||||
|
|
||||||
|
Token: "TOKEN HERE"
|
||||||
|
Prefix: "!!"
|
||||||
Bot_Name: "SupportBot"
|
Bot_Name: "SupportBot"
|
||||||
|
|
||||||
|
DeleteMessages: true
|
||||||
|
# Should the bot delete command messages after executed?
|
||||||
|
|
||||||
|
# -------------------------
|
||||||
|
# Activity Configuration
|
||||||
|
# -------------------------
|
||||||
|
|
||||||
BotActivity: "-help | SupportBot"
|
BotActivity: "-help | SupportBot"
|
||||||
|
|
||||||
StreamingURL: "https://www.twitch.tv/YOUR_TWITCH_NAME"
|
StreamingURL: "https://www.twitch.tv/YOUR_TWITCH_NAME"
|
||||||
# Must set ActivityType to STREAMING in order for Streaming URL to work in the bots status.
|
# Set The ActivityType to "STREAMING" for a streaming status!
|
||||||
|
|
||||||
ActivityType: "PLAYING"
|
ActivityType: "PLAYING"
|
||||||
# Activity status can either be PLAYING, WATCHING, LISTENING or STREAMING.
|
# Activity status can either be PLAYING, WATCHING, LISTENING or STREAMING.
|
||||||
|
|
||||||
DeleteMessages: "true"
|
# -------------------------
|
||||||
|
# Embed Configuration
|
||||||
|
# -------------------------
|
||||||
|
|
||||||
# Embed Configuration
|
EmbedColour: "#f74343"
|
||||||
|
|
||||||
EmbedColour: "#04b545"
|
|
||||||
EmbedFooter: "SupportBot | The #1 Supportive Discord Bot"
|
EmbedFooter: "SupportBot | The #1 Supportive Discord Bot"
|
||||||
|
|
||||||
ErrorColour: "#d12519"
|
ErrorColour: "#d12519"
|
||||||
SuccessColour: "#04b545"
|
SuccessColour: "#04b545"
|
||||||
WarningColour: "#fca117"
|
WarningColour: "#fca117"
|
||||||
|
|
||||||
# Role Configuration
|
# -------------------------
|
||||||
|
# Help Configuration
|
||||||
|
# -------------------------
|
||||||
|
|
||||||
AutoRole: "true"
|
HelpMenu: true # Do not change!
|
||||||
# By setting "AutoRole to 'true' the bot will automatically apply the role below when members joins. Set to 'false' to disable this feature.
|
SendHelpPage: "channel" # Set to channel or dm
|
||||||
|
|
||||||
|
# -------------------------
|
||||||
|
# Role Configuration
|
||||||
|
# -------------------------
|
||||||
|
|
||||||
|
AutoRole: true
|
||||||
AutoRole_Role: "Member"
|
AutoRole_Role: "Member"
|
||||||
LockdownRole: "@everyone"
|
LockdownRole: "@everyone"
|
||||||
|
|
||||||
Staff: "Staff"
|
Staff: "Staff"
|
||||||
Admin: "Administration"
|
Admin: "Admin"
|
||||||
TicketBlackListRole: "Blacklisted"
|
TicketBlackListRole: "Blacklisted"
|
||||||
|
|
||||||
# Ticket Configuration
|
# -------------------------
|
||||||
|
# Tickets Configuration
|
||||||
|
# -------------------------
|
||||||
|
|
||||||
|
# --- General Config ---
|
||||||
|
# --- Start ---
|
||||||
|
|
||||||
|
TicketCategory: "Support Tickets"
|
||||||
TicketChannel: "ticket"
|
TicketChannel: "ticket"
|
||||||
TicketCategory: "Tickets"
|
|
||||||
TicketLog: "ticket-logs"
|
TicketLog: "ticket-logs"
|
||||||
TranscriptLog: "transcripts"
|
TranscriptLog: "transcripts"
|
||||||
|
|
||||||
|
TranscriptTitle: "Ticket Transcript"
|
||||||
|
TicketBlackListMessage: "You are not allowed to open a ticket"
|
||||||
|
|
||||||
TicketSubject: "description"
|
TicketSubject: "description"
|
||||||
# TicketSubject: "description" means that the subject (reason) of the ticket will be displayed upon the channel description if set to "embed" it will be displayed within the embed.
|
# "description" will displays the ticket reason within the channel description
|
||||||
|
# "embed" will displays the ticket reason within the ticket embed
|
||||||
|
|
||||||
AllowTicketMentions: "true"
|
AllowTicketMentions: true
|
||||||
# Set to "true" to allow the ticket to mention the author and the support team.
|
# Set to true to allow the ticket to mention the author and the support team.
|
||||||
# Set to "false" to dis-allow mentions within tickets.
|
# Set to false to dis-allow mentions within tickets.
|
||||||
|
|
||||||
# Ticket Panel (Ticket Reaction Create)
|
# --- Panel Config ---
|
||||||
|
# --- Start ---
|
||||||
|
|
||||||
|
ReactionChannel: "create-ticket"
|
||||||
|
ReactionEmoji: "📩"
|
||||||
|
# For cusomt emojis: <:emoji_name:EMOJI_ID>
|
||||||
|
|
||||||
ReactionTickets: true
|
ReactionTickets: true
|
||||||
ReactionMessage: "React with %reaction_emoji% to create a Support Ticket!"
|
ReactionMessage: "React with %reaction_emoji% to create a Support Ticket!"
|
||||||
|
|
||||||
ReactionPanel_Description: true
|
ReactionPanel_Description: true
|
||||||
ReactionDescription: "Create a support ticket to contact a member of staff."
|
ReactionDescription: "Create a support ticket to contact a member of staff."
|
||||||
ReactionChannel: "create-ticket"
|
|
||||||
ReactionEmoji: "📩"
|
|
||||||
# Custom Emojis: <:test:EMOJI_ID>
|
|
||||||
ReactionPanel_Thumbnail: true
|
ReactionPanel_Thumbnail: true
|
||||||
ReactionThumbnail: "https://hotemoji.com/images/dl/5/ticket-emoji-by-twitter.png"
|
ReactionThumbnail: "https://hotemoji.com/images/dl/5/ticket-emoji-by-twitter.png"
|
||||||
|
|
||||||
ReactionPanel_Image: true
|
ReactionPanel_Image: true
|
||||||
ReactionImage: "https://wallpapercave.com/wp/wp4462546.jpg"
|
ReactionImage: "https://wallpapercave.com/wp/wp4462546.jpg"
|
||||||
|
|
||||||
Ticket_Thumbnail: "https://images.emojiterra.com/google/android-pie/512px/1f39f.png"
|
# --- Creation Config ---
|
||||||
|
# --- Start ---
|
||||||
|
|
||||||
|
# Available Placeholders:
|
||||||
|
|
||||||
|
# %ticketusername% - User who created the ticket.
|
||||||
|
# <@%ticketauthor%> - Tags the user who created the ticket.
|
||||||
|
# <#%ticketid%> - Mentions the ticket channel.
|
||||||
|
|
||||||
|
|
||||||
Ticket_Title: "Server Support | %ticketusername%"
|
Ticket_Title: "Server Support | %ticketusername%"
|
||||||
TicketMessage: "Hello <@%ticketauthor%>, Thank you for creating a support ticket\nPlease wait patiently whilst a member of our team reaches out to you."
|
TicketMessage: "Hello <@%ticketauthor%>, Thank you for creating a support ticket\nPlease wait patiently whilst a member of our team reaches out to you."
|
||||||
|
|
||||||
|
Ticket_Thumbnail: "https://images.emojiterra.com/google/android-pie/512px/1f39f.png"
|
||||||
NoTicketSubject: "No Reason Provided!"
|
NoTicketSubject: "No Reason Provided!"
|
||||||
|
|
||||||
TicketCreatedAlert: ":ticket: Your support ticket has been created: <#%ticketid%>"
|
TicketCreatedAlert: ":ticket: Your support ticket has been created: <#%ticketid%>"
|
||||||
TranscriptTitle: "Ticket Transcript"
|
|
||||||
TicketBlackListMessage: "You are not allowed to open a ticket"
|
|
||||||
|
|
||||||
AddedUser: "👍 <@%user%> has been added to this ticket"
|
AddedUser: "👍 <@%user%> has been added to this ticket"
|
||||||
RemovedUser: "👍 <@%user%> has been removed from this ticket"
|
RemovedUser: "👍 <@%user%> has been removed from this ticket"
|
||||||
|
|
||||||
|
# --- Closing Config ---
|
||||||
|
# --- Start ---
|
||||||
|
|
||||||
ClosingTicket: ":warning: You have requested to close your support ticket."
|
ClosingTicket: ":warning: You have requested to close your support ticket."
|
||||||
ClosingConfirmation_Word: "confirm"
|
ClosingConfirmation_Word: "confirm"
|
||||||
CloseConfirmation: "true"
|
CloseConfirmation: true
|
||||||
# CloseConfirmation to true will make users confirm that they want to close a their ticket, settings to false will just close the ticket.
|
|
||||||
|
|
||||||
# Ticket Department Configuration
|
# --- Departments Config ---
|
||||||
|
# --- Start ---
|
||||||
|
|
||||||
TicketDepartments: "true"
|
TicketDepartments: true
|
||||||
# This option enable or disable the ticket departments. If set false Ticket Departments will not work
|
|
||||||
|
|
||||||
AllowStaff: "true"
|
AllowStaff: true
|
||||||
# AllowStaff is an option to whether or not you want the users with the "Staff" role to be able to view inside tickets. If set false "Staff" will not view tickets.
|
# If set to true users with the "Staff" role will not be able to view tickets
|
||||||
|
# without a valid department role set below.
|
||||||
|
|
||||||
|
# Set to false to allow "Staff" to see tickets whether its a department for them or not.
|
||||||
|
|
||||||
DepartmentEmoji_1: "🙋"
|
DepartmentEmoji_1: "🙋"
|
||||||
DepartmentEmoji_2: "💸"
|
DepartmentEmoji_2: "💸"
|
||||||
@@ -112,14 +161,23 @@ DepartmentRole_2: "Admin"
|
|||||||
DepartmentRole_3: "Support"
|
DepartmentRole_3: "Support"
|
||||||
# Ticket roles are the roles that will be able to gain access to tickets depending on what department has been choosen.
|
# Ticket roles are the roles that will be able to gain access to tickets depending on what department has been choosen.
|
||||||
|
|
||||||
# System Message Configuration
|
# --------------------------------
|
||||||
|
# System Messages Configuration
|
||||||
|
# --------------------------------
|
||||||
|
|
||||||
SystemMessages: "true"
|
# Available Placeholders:
|
||||||
|
# %guildname% - This displays the name of the discord server.
|
||||||
|
|
||||||
|
SystemMessages: true
|
||||||
|
SystemMessage_EmbedFooter: false
|
||||||
|
|
||||||
SystemMessage_Channel: "system-messages"
|
SystemMessage_Channel: "system-messages"
|
||||||
SystemMessage_Type: "embed"
|
SystemMessage_Type: "embed"
|
||||||
# There are 2 types of how you can send system messages, 'normal' or 'embed'
|
# There are 2 types of how you can send system messages, 'normal' or 'embed'
|
||||||
|
|
||||||
SystemMessage_Icon: "USER"
|
SystemMessage_Icon: "USER"
|
||||||
|
# USER - This will display the user's icon of who joins.
|
||||||
|
# BOT - This will display the bot's icon when a someone joins.
|
||||||
|
|
||||||
Welcome_Title: "User Joined!"
|
Welcome_Title: "User Joined!"
|
||||||
WelcomeMessage: "Hello %member%, Welcome to %guildname%!"
|
WelcomeMessage: "Hello %member%, Welcome to %guildname%!"
|
||||||
@@ -129,27 +187,33 @@ Leave_Title: "User Left!"
|
|||||||
LeaveMessage: "Goodbye %member%, Thank you for visting %guildname%!"
|
LeaveMessage: "Goodbye %member%, Thank you for visting %guildname%!"
|
||||||
# %member% define the user who left and %guildnamne% defines the server name.
|
# %member% define the user who left and %guildnamne% defines the server name.
|
||||||
|
|
||||||
SystemMessage_EmbedFooter: "false"
|
# -------------------------
|
||||||
|
# Links Configuration
|
||||||
|
# -------------------------
|
||||||
|
|
||||||
# LINKS Configuration
|
LinksTitle: "Server Links"
|
||||||
|
|
||||||
LinksTitle: "Quick Links"
|
|
||||||
|
|
||||||
LINKS:
|
LINKS:
|
||||||
"Website": "https://www.example.com"
|
"Website": "https://www.example.com"
|
||||||
"Store": "https://store.example.com"
|
"Store": "https://store.example.com"
|
||||||
"Discord": "https://discord.gg/example"
|
"Discord": "https://discord.gg/example"
|
||||||
# "Twitter": "https://twitter.com/example"
|
# "Twitter": "https://twitter.com/example"
|
||||||
|
# "Add More": "Just follow this format!"
|
||||||
|
|
||||||
# Suggestions Configuration
|
# --------------------------
|
||||||
|
# Suggestion Configuration
|
||||||
|
# --------------------------
|
||||||
|
|
||||||
SuggestionChannel: "suggestions"
|
SuggestionChannel: "suggestions"
|
||||||
SuggestionTitle: "Suggestion"
|
SuggestionTitle: "Suggestion"
|
||||||
|
|
||||||
SuggestionStarter: "What would you like to suggest?"
|
SuggestionStarter: "What would you like to suggest?"
|
||||||
SuggestReact_1: 👍
|
SuggestReact_1: 👍
|
||||||
SuggestReact_2: 👎
|
SuggestReact_2: 👎
|
||||||
|
|
||||||
# Announcement Configuration
|
# ----------------------------
|
||||||
|
# Announcement Configuration
|
||||||
|
# ----------------------------
|
||||||
|
|
||||||
AnnouncementChannel: "announcements"
|
AnnouncementChannel: "announcements"
|
||||||
AnnouncementTitle: "Servername Announcement"
|
AnnouncementTitle: "Servername Announcement"
|
||||||
@@ -157,7 +221,9 @@ AnnouncementIcon: "https://i.imgur.com/HbkZyB7.png"
|
|||||||
|
|
||||||
AnnouncementStarter: "What would you like to announce?"
|
AnnouncementStarter: "What would you like to announce?"
|
||||||
|
|
||||||
# Moderation System Configuration
|
# --------------------------
|
||||||
|
# Moderation Configuration
|
||||||
|
# --------------------------
|
||||||
|
|
||||||
BanTitle: "User Banned!"
|
BanTitle: "User Banned!"
|
||||||
DaysBannedFor: 7
|
DaysBannedFor: 7
|
||||||
@@ -176,15 +242,18 @@ PruneColour: "#1BA30C"
|
|||||||
BlacklistTitle: "Blacklisted User"
|
BlacklistTitle: "Blacklisted User"
|
||||||
BlacklistColour: "#000000"
|
BlacklistColour: "#000000"
|
||||||
|
|
||||||
|
# --------------------------
|
||||||
|
# Command Configuration
|
||||||
|
# --------------------------
|
||||||
|
|
||||||
# General Command Configuration
|
# --- User Commands ---
|
||||||
|
|
||||||
HelpCommand: "help"
|
HelpCommand: "help"
|
||||||
LinksCommand: "links"
|
LinksCommand: "links"
|
||||||
PingCommand: "ping"
|
PingCommand: "ping"
|
||||||
SuggestCommand: "suggest"
|
SuggestCommand: "suggest"
|
||||||
|
|
||||||
# Support Command Configuration
|
# --- Ticket Commands ---
|
||||||
|
|
||||||
NewTicket: "ticket"
|
NewTicket: "ticket"
|
||||||
CloseTicket: "close"
|
CloseTicket: "close"
|
||||||
@@ -192,19 +261,21 @@ AddUser: "add"
|
|||||||
RemoveUser: "remove"
|
RemoveUser: "remove"
|
||||||
RenameTicket: "rename"
|
RenameTicket: "rename"
|
||||||
|
|
||||||
# Staff Command Configuration
|
# --- Staff/Admin Commands ---
|
||||||
|
|
||||||
BotSay: "say"
|
BotSay: "say"
|
||||||
PurgeMessage: "purge"
|
PurgeMessage: "purge"
|
||||||
|
|
||||||
# Admin Command Configuration
|
|
||||||
|
|
||||||
AnnounceCommand: "announce"
|
AnnounceCommand: "announce"
|
||||||
BanUser: "ban"
|
BanUser: "ban"
|
||||||
KickUser: "kick"
|
KickUser: "kick"
|
||||||
BlacklistUser: "blacklist"
|
BlacklistUser: "blacklist"
|
||||||
|
|
||||||
# Commmand Descriptions
|
# --------------------------
|
||||||
|
# Messages Configuration
|
||||||
|
# --------------------------
|
||||||
|
|
||||||
|
# --- Command Messages ---
|
||||||
|
|
||||||
NewTicketDesc: "Create a new support ticket"
|
NewTicketDesc: "Create a new support ticket"
|
||||||
AnnounceDesc: "Create a server announcement"
|
AnnounceDesc: "Create a server announcement"
|
||||||
@@ -221,7 +292,7 @@ KickDesc: "Kick a member from this server."
|
|||||||
PurgeDesc: "Purge messages from the chat."
|
PurgeDesc: "Purge messages from the chat."
|
||||||
BlacklistDesc: "Decline a member to open a ticket"
|
BlacklistDesc: "Decline a member to open a ticket"
|
||||||
|
|
||||||
# Error / Warining Messages
|
# Error / Warning Messages
|
||||||
|
|
||||||
IncorrectPerms: ":x: **Err!** You do not have the correct permissions to use this command."
|
IncorrectPerms: ":x: **Err!** You do not have the correct permissions to use this command."
|
||||||
InvalidChannel: ":x: **Err!** Channel not found. Please create it!"
|
InvalidChannel: ":x: **Err!** Channel not found. Please create it!"
|
||||||
|
|||||||
Reference in new issue
Block a user