Compare commits

..
49 Commits
Author SHA1 Message Date
Xiled Emerald 84e0b504ab Delete .DS_Store 2021-06-30 21:33:35 +01:00
Xiled Emerald bedff6832c Update supportbot-config.yml 2021-06-30 21:33:16 +01:00
ItzEmerald 6c29e04de2 7.0 2021-06-30 21:30:41 +01:00
ItzEmerald ba674323e1 Update help.js 2021-06-15 21:05:38 +01:00
ItzEmerald 6d756a161e Update help.js 2021-06-15 21:04:32 +01:00
ItzEmerald 66a5cd95ec Update README.md 2021-06-15 19:56:39 +01:00
ItzEmerald 9f70648264 Update suggest.js 2021-06-15 19:10:17 +01:00
ItzEmerald b975b79691 Update removeUser.js 2021-06-15 19:10:07 +01:00
ItzEmerald 3cab896954 Update purge.js 2021-06-15 19:09:58 +01:00
ItzEmerald b9680e5b35 Update ping.js 2021-06-15 19:09:46 +01:00
ItzEmerald 43a003ca7d Update newticket.js 2021-06-15 19:09:35 +01:00
ItzEmerald fbe1cf2009 Update links.js 2021-06-15 19:09:23 +01:00
ItzEmerald fdee61cc11 Update kick.js 2021-06-15 19:09:06 +01:00
ItzEmerald 8b51200d9c Update help.js 2021-06-15 19:08:56 +01:00
ItzEmerald 0631ab536a Update close.js 2021-06-15 19:08:46 +01:00
ItzEmerald 0d76e76519 Update botSay.js 2021-06-15 19:07:42 +01:00
ItzEmerald 9e9f83d211 Update blacklistUser.js 2021-06-15 19:07:26 +01:00
ItzEmerald 0829d477d9 Update ban.js 2021-06-15 19:07:10 +01:00
ItzEmerald 1b7109fa23 Update announce.js 2021-06-15 19:06:58 +01:00
ItzEmerald 366669ccd8 Update addUser.js 2021-06-15 19:06:40 +01:00
ItzEmerald e05edd89fa Update ready.js 2021-06-15 18:09:24 +01:00
ItzEmerald a405df66c9 Update message.js 2021-06-15 18:09:06 +01:00
ItzEmerald 28a57ead9f Update index.js 2021-06-15 18:08:32 +01:00
ItzEmerald 72bfacae75 Merge pull request #68 from DuAnti7423/master
Boolean Changes, help menu fix, raw Event, ID Support added
2021-05-24 12:48:25 +01:00
DuAnti7423 10f8821b3b Random Stuff
idk why github thinks i changed something
2021-05-23 10:45:00 +02:00
DuAnti7423 92a3745ce1 Update supportbot-config.yml
Added HelpMenu_WithKey Option.
Boolean Changes
2021-05-23 10:44:00 +02:00
DuAnti7423 aff7ff1451 Update ready.js
ID Support, Boolean Changes
2021-05-23 10:41:15 +02:00
DuAnti7423 9e63e0ff09 Create raw.js
Added Raw-Event, probably fixxed the ticketreaction isnt 100% workin
2021-05-23 10:41:05 +02:00
DuAnti7423 2c5ebd8620 Update messageReactionAdd.js
ID Support, Boolean Changes
2021-05-23 10:40:37 +02:00
DuAnti7423 e6d63db3a9 Update guildMemberRemove.js
ID Support, Boolean Changes
2021-05-23 10:40:32 +02:00
DuAnti7423 2cc316aafb Update guildMemberAdd.js
ID Support, Boolean Changes
2021-05-23 10:40:28 +02:00
DuAnti7423 4f25cfa0dd Update suggest.js
ID Support, Boolean Changes
2021-05-23 10:40:20 +02:00
DuAnti7423 0385de3882 Update removeUser.js
ID Support, Boolean Changes
2021-05-23 10:40:16 +02:00
DuAnti7423 2e1253c54e Update purge.js
ID Support, Boolean Changes
2021-05-23 10:40:10 +02:00
DuAnti7423 14df15caeb Update ping.js
ID Support, Boolean Changes
2021-05-23 10:40:03 +02:00
DuAnti7423 af481a2ec8 Update newticket.js
ID Support, Boolean Changes

Fixxed everyone permissions on ticket creation
2021-05-23 10:39:58 +02:00
DuAnti7423 96c1d80844 Update links.js
ID Support, Boolean Changes
2021-05-23 10:39:42 +02:00
DuAnti7423 57ea2e25bd Update kick.js
ID Support, Boolean Changes
2021-05-23 10:39:36 +02:00
DuAnti7423 cd17b0a6d7 Update help.js
ID Support, Boolean Changes
2021-05-23 10:39:31 +02:00
DuAnti7423 c5dd8823f6 Update close.js
ID Support, Boolean Changes
2021-05-23 10:39:24 +02:00
DuAnti7423 c27f16f753 Update botSay.js
ID Support, Boolean Changes
2021-05-23 10:39:18 +02:00
DuAnti7423 4842610229 Update blacklistUser.js
ID Support, Boolean Changes
2021-05-23 10:39:13 +02:00
DuAnti7423 bd33669dba Update ban.js
ID Support, Boolean Changes
2021-05-23 10:39:08 +02:00
DuAnti7423 e81684d322 Update announce.js
ID Support, Boolean Changes
2021-05-23 10:39:03 +02:00
DuAnti7423 8209dfa26c Update addUser.js
ID Support, Boolean Changes
2021-05-23 10:38:55 +02:00
DuAnti7423 0a82c62a4e boolean changes
workin on suggestion #67  from pat2381
2021-05-22 23:41:39 +02:00
DuAnti7423 4399dfe6b8 Fixxed a copy error
replaced reactionUser with user cause reactionUser was defined in the ticket command
2021-05-22 23:38:32 +02:00
DuAnti7423 defd0cc78c Merge branch 'master' of https://github.com/DuAnti7423/SupportBot 2021-05-22 23:13:25 +02:00
DuAnti7423 fd5fc8294c update help.js
Fixxed a bug with staffcommands show
2021-05-22 23:13:16 +02:00
26 changed files with 459 additions and 218 deletions

No files matched your search

Vendored
BIN
View File
Binary file not shown.
+12 -9
View File
@@ -1,10 +1,13 @@
> #### SupportBot ![imgur](https://i.imgur.com/TQj40Mt.png)
>
> - 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
View File
@@ -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!")
+3 -5
View File
@@ -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
View File
@@ -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")
+4 -6
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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")
+3 -5
View File
@@ -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
View File
@@ -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")
+4 -4
View File
@@ -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)
} }
+2 -2
View File
@@ -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;
+2
View File
@@ -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);
+1 -1
View File
@@ -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)
+26
View File
@@ -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
View File
@@ -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)
+34 -21
View File
@@ -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);
+120
View File
@@ -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
View File
@@ -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
View File
@@ -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!"