Compare commits

..
49 Commits
Author SHA1 Message Date
ItzEmerald 10823b416c Update package.json 2021-05-14 15:46:23 +01:00
ItzEmerald 4490920ac6 Update index.js 2021-05-14 15:46:08 +01:00
ItzEmerald e0b8ad4a32 Update supportbot-config.yml 2021-05-14 15:45:49 +01:00
ItzEmerald e11063832b Merge pull request #65 from DuAnti7423/master
Blacklist Command
2021-05-12 15:35:56 +01:00
DuAnti7423 d598fdd753 updated help.js 2021-05-09 00:25:30 +02:00
DuAnti7423 157b93239a Added Logging to Blacklist 2021-05-08 23:55:57 +02:00
DuAnti7423 3d7058dccd Merge branch 'master' of https://github.com/DuAnti7423/SupportBot 2021-05-08 23:44:12 +02:00
DuAnti7423 1ec654d1ea Blacklist Command
Added Blacklist Command
Added configoption
2021-05-08 23:42:35 +02:00
ItzEmerald 8ce2d4269d Merge pull request #62 from DuAnti7423/master
Blacklist Role
2021-05-07 15:09:46 +01:00
DuAnti7423 49e8aa7869 Blacklist Role
Added Blacklist Role, via ID or Name
2021-04-17 22:15:59 +02:00
ItzEmerald 0827f55d43 Update guildMemberAdd.js 2021-03-31 01:21:34 +01:00
ItzEmerald ba6ff8c342 Update node.js.yml 2021-03-31 00:28:35 +01:00
ItzEmerald c0b7dc2737 Create node.js.yml 2021-03-31 00:27:10 +01:00
ItzEmerald ab6abd453b Delete node_modules directory 2021-03-30 20:20:33 +01:00
ItzEmerald 77921aca75 Update ready.js 2021-03-30 20:18:37 +01:00
ItzEmerald a8f91c4814 Update messageReactionAdd.js 2021-03-30 20:12:29 +01:00
ItzEmerald 7780fa792c Updated 2021-03-27 16:58:27 +00:00
ItzEmerald 41e4c376ec Merge branch 'master' of https://github.com/1tzemerald/SupportBot 2021-03-27 16:22:37 +00:00
ItzEmerald 09aad61cfe SB-6.3-BETA 2
Added Moderation
Added Node Modules
2021-03-27 16:22:19 +00:00
ItzEmerald 31ac81428f Update ready.js 2021-03-24 20:56:57 +00:00
ItzEmerald 60daab82d2 Merge branch 'master' of https://github.com/1tzemerald/SupportBot 2021-03-24 16:26:21 +00:00
ItzEmerald e7a0544004 Added Image to ReactionPanel 2021-03-24 16:25:16 +00:00
ItzEmerald ff0364bba8 Update supportbot-config_FR.yml 2021-03-17 16:04:41 +00:00
ItzEmerald a3b64be351 Update supportbot-config_ES.yml 2021-03-17 16:03:52 +00:00
ItzEmerald eae370e346 Update README.md 2021-03-17 14:36:11 +00:00
ItzEmerald 0d86b50a83 Update supportbot-config_ENG.yml 2021-03-17 14:35:45 +00:00
ItzEmerald 543b9028a3 Update supportbot-config_ES.yml 2021-03-17 14:35:15 +00:00
ItzEmerald 867f12d11f Update supportbot-config_FR.yml 2021-03-17 14:33:13 +00:00
ItzEmerald 462781ea6a Update supportbot-config_GER.yml 2021-03-17 14:31:37 +00:00
ItzEmerald c300ab6459 Update supportbot-config.yml 2021-03-11 18:57:27 +00:00
ItzEmerald 448d8f3007 Update ready.js 2021-03-11 18:55:33 +00:00
ItzEmerald faa53b0af1 Create supportbot-config_ENG.yml 2021-03-03 19:42:29 +00:00
ItzEmerald 8e53b8d9a6 Rename supportbot-config_GN.yml to supportbot-config_GER.yml 2021-03-03 19:41:36 +00:00
ItzEmerald 5678567baa Create supportbot-config_GN.yml 2021-03-03 19:37:39 +00:00
ItzEmerald 1c30f73bb1 Create supportbot-config_FR.yml 2021-03-03 18:36:02 +00:00
ItzEmerald bd3dbc3033 Rename supportbot-config.y_ES.yml to supportbot-config_ES.yml 2021-03-03 00:39:41 +00:00
ItzEmerald 3c312ab8d3 Create supportbot-config.y_ES.yml
Spanish
2021-03-03 00:39:20 +00:00
ItzEmerald 7284785db0 Delete eyeroe.md 2021-02-13 16:25:53 +00:00
ItzEmerald 4e543ea490 Update messageReactionAdd.js 2021-02-13 16:25:28 +00:00
ItzEmerald 4d3540126f Update eyeroe.md 2021-02-08 15:34:02 +00:00
ItzEmerald 6c29f0d792 Create eyeroe.md 2021-02-08 15:33:44 +00:00
wxip c85df7c40f Update ready.js 2021-02-05 21:39:16 +02:00
wxip 4f6ff575ce Quick Fix
Hopefully fixes `INVALID_TYPE` error on GuildMemberAdd event.
2021-02-05 21:26:21 +02:00
ItzEmerald aaf3890f71 Update guildMemberAdd.js 2021-02-05 16:15:51 +00:00
ItzEmerald 4f9837d991 Merge branch 'master' of https://github.com/1tzemerald/SupportBot 2021-02-04 12:54:29 +00:00
ItzEmerald 2e2eb008c6 Language PRE-01 2021-02-04 12:54:19 +00:00
ItzEmerald fa7074bb59 Update messageReactionAdd.js 2021-02-02 17:56:13 +00:00
ItzEmerald 18a7def050 Delete package-lock.json 2021-02-02 17:55:00 +00:00
ItzEmerald 40e9cf5fe5 Update messageReactionAdd.js 2021-02-02 17:52:07 +00:00
22 changed files with 1438 additions and 814 deletions

No files matched your search

Vendored
BIN
View File
Binary file not shown.
+32
View File
@@ -0,0 +1,32 @@
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: Node.js CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x, 12.x, 14.x, 15.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
- run: npm install discord.js --save
- run: npm install js-yaml
- run: npm run build --if-present
- run: node index.js
+110
View File
@@ -0,0 +1,110 @@
// SupportBot, Created by Emerald Services
// Say Command
const Discord = require("discord.js");
const fs = require("fs");
const yaml = require('js-yaml');
const { execute } = require("./help");
const supportbot = yaml.load(fs.readFileSync('./supportbot-config.yml', 'utf8'));
module.exports = {
name: supportbot.BanUser,
description: supportbot.BanDesc,
execute(message, args, member) {
if (supportbot.DeleteMessages == "true") message.delete();
let SupportStaff = message.guild.roles.cache.find(adminRole => adminRole.name === 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()
.setTitle("Invalid Permissions!")
.setDescription(`${supportbot.IncorrectPerms}\n\nRole Required: \`${SupportStaff.name}\``)
.setColor(supportbot.WarningColour)
if (!message.member.roles.cache.has(SupportStaff.id))
return message.channel.send({ embed: NoPerms });
let locateChannel = message.guild.channels.cache.find(ModLogChannel => ModLogChannel.name === supportbot.ModLogChannel);
const errornochannel = new Discord.MessageEmbed()
.setTitle("Invalid Channel")
.setDescription(`${supportbot.InvalidChannel}\n\nChannel Required: \`${supportbot.ModLogChannel}\``)
.setColor(supportbot.ErrorColour);
if(!locateChannel) return message.channel.send({ embed: errornochannel });
const user = message.mentions.members.first() || message.guild.members.cache.get(args[0]);
const embed1 = new Discord.MessageEmbed()
.setDescription("> :x: Please provide a reason to ban.\n\n`Try Again!`")
.setColor(supportbot.ErrorColour)
if (!args[0]) return message.channel.send({
embed: embed1
});
const embed2 = new Discord.MessageEmbed()
.setDescription("> :detective: **Hmm!** Can\'t seem tp find this user.\n\n`Are they in the server?`")
.setColor(supportbot.EmbedColour)
if (!user) return message.channel.send({
embed: embed2
})
const embed3 = new Discord.MessageEmbed()
.setDescription("> :x: **Err No!** Cannot punish this user!\n\n`Reason: Their permissions and or roles are greater than mine.`")
.setColor(supportbot.EmbedColour)
if(!user.bannable) return message.channel.send({
embed: embed3
});
const embed4 = new Discord.MessageEmbed()
.setDescription("> :joy: **OML!** Did you really just try to ban yourself!")
.setColor(supportbot.EmbedColour)
if(user.id === message.author.id) return message.channel.send({
embed: embed4
});
let reason = args.slice(1).join(" ");
if(!reason) reason = 'No Reason Provided.';
const embed5 = new Discord.MessageEmbed()
.setDescription("> :thinking: **Hmm** Something seems to have gone wrong.\n\n`Check your system for errors!`")
.setColor(supportbot.EmbedColour)
user.ban({ days: supportbot.DaysBannedFor, reason: `${reason}` }).catch(err => {
message.channel.send({ embed: embed5 })
console.log(err)
})
const successEmbed = new Discord.MessageEmbed()
.setDescription(`> :white_check_mark: **OOF!** ${user} has been banned!`)
.setColor(supportbot.SuccessColour)
message.channel.send({
embed: successEmbed
})
const logEmbed = new Discord.MessageEmbed()
.setTitle(supportbot.BanTitle)
.setThumbnail(supportbot.ModThumbnail)
.addField('Banned User:', user)
.addField('Staff Member', message.author)
.addField('Reason:', reason)
.setFooter(supportbot.EmbedFooter)
.setColor(supportbot.BanLogColour)
.setTimestamp()
locateChannel.send({ embed: logEmbed })
}
};
+102
View File
@@ -0,0 +1,102 @@
// SupportBot, Created by Emerald Services
// Blacklist Command
const Discord = require("discord.js");
const fs = require("fs");
const yaml = require('js-yaml');
const { execute } = require("./help");
const supportbot = yaml.load(fs.readFileSync('./supportbot-config.yml', 'utf8'));
module.exports = {
name: supportbot.BlacklistUser,
description: supportbot.BlacklistDesc,
execute(message, args) {
if (supportbot.DeleteMessages == "true") message.delete();
let SupportStaff = message.guild.roles.cache.find(adminRole => adminRole.name === 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()
.setTitle("Invalid Permissions!")
.setDescription(`${supportbot.IncorrectPerms}\n\nRole Required: \`${SupportStaff.name}\``)
.setColor(supportbot.WarningColour)
if (!message.member.roles.cache.has(SupportStaff.id)) {
return message.channel.send({ embed: NoPerms });
}
let locateChannel = message.guild.channels.cache.find(ModLogChannel => ModLogChannel.name === supportbot.ModLogChannel);
const user = message.mentions.members.first() || message.guild.members.cache.get(args[0]);
const errornochannel = new Discord.MessageEmbed()
.setTitle("Invalid Channel")
.setDescription(`${supportbot.InvalidChannel}\n\nChannel Required: \`${supportbot.ModLogChannel}\``)
.setColor(supportbot.ErrorColour);
if(!locateChannel) return message.channel.send({ embed: errornochannel });
const embed1 = new Discord.MessageEmbed()
.setDescription("> :x: Please mention or write an ID\n\n`Try Again!`")
.setColor(supportbot.ErrorColour)
if (!args[0]) return message.channel.send({
embed: embed1
});
const embed2 = new Discord.MessageEmbed()
.setDescription("> :detective: **Hmm!** Can\'t seem tp find this user.\n\n`Are they in the server?`")
.setColor(supportbot.EmbedColour)
if (!user) return message.channel.send({
embed: embed2
});
let role = message.guild.roles.cache.find(role => role.name === supportbot.TicketBlackListRole) || message.guild.roles.cache.find(role => role.id === supportbot.TicketBlackListRole)
const embed3 = new Discord.MessageEmbed()
.setDescription("> :detective: **Hmm!** Can\'t seem to find the blacklist role.\n\n`Did you created it?")
.setColor(supportbot.ErrorColour)
if (!role) return message.channel.send({
embed: embed3
});
const embed4 = new Discord.MessageEmbed()
.setDescription(`${user} is already blacklisted`)
.setColor(supportbot.ErrorColour)
if(user.roles.cache.find(role => role.name === supportbot.TicketBlackListRole) || reactionUser.roles.cache.find(role => role.id === supportbot.TicketBlackListRole)) {
return message.channel.send({
embed: embed4
})
};
user.roles.add(role);
const embed5 = new Discord.MessageEmbed()
.setDescription(`Blacklisted ${user} successfully from creating a ticket`)
.setColor(supportbot.EmbedColour)
message.channel.send({
embed: embed5
});
const logEmbed = new Discord.MessageEmbed()
.setTitle(supportbot.BlacklistTitle)
.setThumbnail(supportbot.ModThumbnail)
.addField('Banned User:', user)
.addField('Staff Member', message.author)
.setFooter(supportbot.EmbedFooter)
.setColor(supportbot.BlacklistColour)
.setTimestamp()
locateChannel.send({ embed: logEmbed });
}
};
+17 -8
View File
@@ -15,7 +15,8 @@ module.exports = {
if (supportbot.DeleteMessages == "true") message.delete();
console.log(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[32m`, `${message.author.tag} has executed ${supportbot.Prefix}${supportbot.HelpCommand}!`);
if (supportbot.helpmenu_withkey = "true") {
let generalCommands = "";
generalCommands += `**${supportbot.Prefix}${supportbot.HelpCommand}** ${supportbot.HelpDesc}\n`;
generalCommands += `**${supportbot.Prefix}${supportbot.LinksCommand}** ${supportbot.LinkDesc}\n`;
@@ -30,26 +31,34 @@ module.exports = {
staffCommands += `**${supportbot.Prefix}${supportbot.AddUser} <user#0000>** ${supportbot.AddUserDesc}\n`
staffCommands += `**${supportbot.Prefix}${supportbot.RemoveUser} <user#0000>** ${supportbot.RemoveUserDesc}\n`
staffCommands += `**${supportbot.Prefix}${supportbot.BotSay}** ${supportbot.BotSayDesc}\n`
staffCommands += `**${supportbot.Prefix}${supportbot.AnnounceCommand}** ${supportbot.AnnounceDesc}\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`
staffCommands += `**${supportbot.Prefix}${supportbot.KickUser}** ${supportbot.KickDesc} \`Admin Only\` \n`
staffCommands += `**${supportbot.Prefix}${supportbot.BlacklistUser}** ${supportbot.BlacklistDesc} \`Admin Only\` \n`
const HelpCommandEmbed = new Discord.MessageEmbed()
const HelpEmbed1 = new Discord.MessageEmbed()
.setTitle(supportbot.Bot_Name)
.setThumbnail(message.author.displayAvatarURL())
.addFields(
{ name: '🖥️ General Commands', value: `${generalCommands}\n`, inline: false },
{ name: '🎫 Support Commands', value: `${supportCommands}\n`, inline: false },
{ name: '🖥️ General Commands\n', value: `${generalCommands}\n`, inline: false },
{ name: '🎫 Support Commands\n', value: `${supportCommands}\n`, inline: false },
)
.setColor(supportbot.EmbedColour)
.setFooter(supportbot.EmbedFooter, message.author.displayAvatarURL());
if (message.member.roles.cache.some(role => role.name === supportbot.Staff || supportbot.Admin)) {
HelpCommandEmbed.addFields(
{ name: '🔐 Staff Commands', value: `${staffCommands}\n`, inline: false },
HelpEmbed1.addFields(
{ name: '🔐 Staff Commands\n', value: `${staffCommands}\n`, inline: false },
)
}
message.channel.send({ embed: HelpCommandEmbed });
message.channel.send({
embed: HelpEmbed1
});
}
}
};
+111
View File
@@ -0,0 +1,111 @@
// SupportBot, Created by Emerald Services
// Say Command
const Discord = require("discord.js");
const fs = require("fs");
const yaml = require('js-yaml');
const { execute } = require("./help");
const supportbot = yaml.load(fs.readFileSync('./supportbot-config.yml', 'utf8'));
module.exports = {
name: supportbot.KickUser,
description: supportbot.KickDesc,
execute(message, args, member) {
if (supportbot.DeleteMessages == "true") message.delete();
let SupportStaff = message.guild.roles.cache.find(adminRole => adminRole.name === 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()
.setTitle("Invalid Permissions!")
.setDescription(`${supportbot.IncorrectPerms}\n\nRole Required: \`${SupportStaff.name}\``)
.setColor(supportbot.WarningColour)
if (!message.member.roles.cache.has(SupportStaff.id))
return message.channel.send({ embed: NoPerms });
let locateChannel = message.guild.channels.cache.find(ModLogChannel => ModLogChannel.name === supportbot.ModLogChannel);
const errornochannel = new Discord.MessageEmbed()
.setTitle("Invalid Channel")
.setDescription(`${supportbot.InvalidChannel}\n\nChannel Required: \`${supportbot.ModLogChannel}\``)
.setColor(supportbot.ErrorColour);
if(!locateChannel) return message.channel.send({ embed: errornochannel });
const user = message.mentions.members.first() || message.guild.members.cache.get(args[0]);
const embed1 = new Discord.MessageEmbed()
.setDescription("> :x: Please provide a reason to kick.\n\n`Try Again!`")
.setColor(supportbot.ErrorColour)
if (!args[0]) return message.channel.send({
embed: embed1
});
const embed2 = new Discord.MessageEmbed()
.setDescription("> :detective: **Hmm!** Can\'t seem tp find this user.\n\n`Are they in the server?`")
.setColor(supportbot.EmbedColour)
if (!user) return message.channel.send({
embed: embed2
})
const embed3 = new Discord.MessageEmbed()
.setDescription("> :x: **Err No!** Cannot punish this user!\n\n`Reason: Their permissions and or roles are greater than mine.`")
.setColor(supportbot.EmbedColour)
if(!user.kickable) return message.channel.send({
embed: embed3
});
const embed4 = new Discord.MessageEmbed()
.setDescription("> :joy: **OML!** Did you really just try to kick yourself!")
.setColor(supportbot.EmbedColour)
if(user.id === message.author.id) return message.channel.send({
embed: embed4
});
let reason = args.slice(1).join(" ");
if(!reason) reason = 'No Reason Provided.';
const embed5 = new Discord.MessageEmbed()
.setDescription("> :thinking: **Hmm** Something seems to have gone wrong.\n\n`Check your system for errors!`")
.setColor(supportbot.EmbedColour)
user.kick({ reason: `${reason}` }).catch(err => {
message.channel.send({ embed: embed5 })
console.log(err)
})
const successEmbed = new Discord.MessageEmbed()
.setDescription(`> :white_check_mark: **OOF!** ${user} has been kicked!`)
.setColor(supportbot.SuccessColour)
message.channel.send({
embed: successEmbed
})
const logEmbed = new Discord.MessageEmbed()
.setTitle(supportbot.KickTitle)
.setThumbnail(supportbot.ModThumbnail)
.addField('Kicked User:', user)
.addField('Staff Member', message.author)
.addField('Reason:', reason)
.setFooter(supportbot.EmbedFooter)
.setColor(supportbot.KickLogColour)
.setTimestamp()
locateChannel.send({ embed: logEmbed })
}
};
+9
View File
@@ -21,6 +21,15 @@ module.exports = {
if (!message.channel.name === supportbot.ReactionChannel) {
if (supportbot.DeleteMessages == "true") message.delete();
}
let reactionUser = message.guild.members.cache.get(message.author.id)
if (reactionUser.roles.cache.find(role => role.name === supportbot.TicketBlackListRole) || reactionUser.roles.cache.find(role => role.id === supportbot.TicketBlackListRole)) {
return message.channel.send(`<@${message.author.id}> ${supportbot.TicketBlackListMessage}`).then(msg => {
msg.delete({timeout: 3500})
})
}
console.log(`\u001b[32m`, `[${supportbot.Bot_Name}]:`, `\u001b[32m`, `${message.author.tag} has executed ${supportbot.Prefix}${supportbot.NewTicket}!`);
+82
View File
@@ -0,0 +1,82 @@
// SupportBot, Created by Emerald Services
// Say Command
const Discord = require("discord.js");
const fs = require("fs");
const yaml = require('js-yaml');
const { execute } = require("./help");
const supportbot = yaml.load(fs.readFileSync('./supportbot-config.yml', 'utf8'));
module.exports = {
name: supportbot.PurgeMessage,
description: supportbot.PurgeDesc,
execute(message, args, member) {
if (supportbot.DeleteMessages == "true") message.delete();
let SupportStaff = message.guild.roles.cache.find(adminRole => adminRole.name === 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()
.setTitle("Invalid Permissions!")
.setDescription(`${supportbot.IncorrectPerms}\n\nRole Required: \`${SupportStaff.name}\``)
.setColor(supportbot.WarningColour)
if (!message.member.roles.cache.has(SupportStaff.id))
return message.channel.send({ embed: NoPerms });
let locateChannel = message.guild.channels.cache.find(ModLogChannel => ModLogChannel.name === supportbot.ModLogChannel);
const errornochannel = new Discord.MessageEmbed()
.setTitle("Invalid Channel")
.setDescription(`${supportbot.InvalidChannel}\n\nChannel Required: \`${supportbot.ModLogChannel}\``)
.setColor(supportbot.ErrorColour);
if(!locateChannel) return message.channel.send({ embed: errornochannel });
const embed1 = new Discord.MessageEmbed()
.setDescription(`> :thinking: **Hmm!** Please enter a valid number of message to purge!\n\n\`${supportbot.Prefix}${supportbot.PurgeMessage} <message count>\` `)
.setColor(supportbot.WarningColour)
if (!args[0]) return message.channel.send({
embed: embed1
});
const messagePrune = parseInt(args[0])
const embed2 = new Discord.MessageEmbed()
.setDescription("> :person_facepalming: **Grr!** Can you count? That ain't a number :joy:")
.setColor(supportbot.ErrorColour)
if (isNaN(messagePrune)) return message.reply({
embed: embed2
})
message.channel.bulkDelete(messagePrune).then(() => {
const embed3 = new Discord.MessageEmbed()
.setDescription(`> :recycle: \`${args[0]} messages\` **have been purged!** `)
.setColor(supportbot.ErrorColour)
message.channel.send({
embed: embed3
})
})
const logEmbed = new Discord.MessageEmbed()
.setTitle(supportbot.PruneLogTitle)
.setThumbnail(supportbot.PruneThumbnail)
.addField('Messages Purged', `\`${args[0]} messages\``)
.addField('Staff Member', message.author)
.setFooter(supportbot.EmbedFooter)
.setColor(supportbot.PruneColour)
.setTimestamp()
locateChannel.send({ embed: logEmbed })
}
};
+7 -2
View File
@@ -16,11 +16,16 @@ module.exports = async (bot, member) => {
console.log(`[${supportbot.Bot_Name}]: ${member.user.username} has joined ${member.guild.name}!`)
console.log(supportbot.AutoRole_Role)
const role = member.guild.roles.cache.find(role => role.name === supportbot.AutoRole_Role)
member.roles.add(role).catch(console.error);
if (supportbot.SystemMessage_Type === "embed") {
const GuildAddMember = new Discord.MessageEmbed()
.setTitle(supportbot.Welcome_Title)
.setDescription(supportbot.WelcomeMessage.replace(/%member%/g, member.user.username).replace(/%guildname%/g, member.guild.name))
.setDescription(supportbot.WelcomeMessage.replace(/%member%/g, `<@!${member.user.id}>`).replace(/%guildname%/g, member.guild.name))
.setColor(supportbot.EmbedColour)
if (supportbot.SystemMessage_Icon === "BOT") {
+4 -4
View File
@@ -13,20 +13,20 @@ module.exports = async (client, reaction, user) => {
let message = {
guild: reaction.message.channel.guild,
author: user,
content: "Not available",
content: "N/A",
channel: reaction.message.channel
}
if (supportbot.ReactionTickets === "true") {
if (supportbot.ReactionTickets === true) {
if (reaction.message.id === tickets.ReactionMessage_ID) {
if (reaction.emoji.name == supportbot.ReactionEmoji || reaction.emoji.id == supportbot.ReactionEmoji) {
await reaction.users.remove(user.id)
try {
const cmd = client.commands.get("ticket");
const cmd = client.commands.get(supportbot.NewTicket);
if(!cmd) return;
cmd.execute(message, "undefined");
cmd.execute(message, message.content);
} catch (error) {
console.error(error);
}
+14 -2
View File
@@ -20,7 +20,7 @@ module.exports = async (bot) => {
console.log(`\u001b[37m`, `${supportbot.Bot_Name} has successfully connected to discord`)
console.log(`\u001b[32m`, `―――――――――――――――――― SupportBot ――――――――――――――――――`)
if (supportbot.ReactionTickets === "true") {
if (supportbot.ReactionTickets === true) {
let chan1 = bot.channels.cache.find(channel => channel.name === supportbot.ReactionChannel)
if (!chan1) {
@@ -33,7 +33,19 @@ module.exports = async (bot) => {
.setTitle(supportbot.ReactionMessage.replace(/%reaction_emoji%/g, supportbot.ReactionEmoji))
.setColor(supportbot.SuccessColour)
.setFooter(supportbot.EmbedFooter);
if (supportbot.ReactionPanel_Description === true) {
embed.setDescription(supportbot.ReactionDescription)
}
if (supportbot.ReactionPanel_Thumbnail === true) {
embed.setThumbnail(supportbot.ReactionThumbnail)
}
if (supportbot.ReactionPanel_Image === true) {
embed.setImage(supportbot.ReactionImage)
}
bot.channels.cache.find(channel => channel.name === supportbot.ReactionChannel).send({
embed: embed
}).then(r => {
@@ -51,4 +63,4 @@ module.exports = async (bot) => {
}
};
};
+2 -2
View File
@@ -5,7 +5,7 @@
// /_______ /____/| __/| __/ \____/|__| |__| |______ /\____/|__|
// \/ |__| |__| \/
//
// SupportBot version 6.1
// SupportBot version 6.4
// Created by Emerald Services
// Installed with MIT License
//
@@ -89,4 +89,4 @@ fs.readdir("./addons/", (err, files) => {
console.info(`\u001b[37m`, "-----------------------------------------------------------------------------");
});
bot.login(supportbot.Token);
bot.login(supportbot.Token);
+8
View File
@@ -0,0 +1,8 @@
SupportBot Language Compatibility
In order to switch languages simple remove the current existig configuration file and replace it with one of the files here renamnig the file to "supportbot-config.yml" from (for example) "supportbot-config_es.yml" to home directory of SupportBot.
-> Delete the existing supportbot-config.yml file
-> Download the new file for whatever language
-> Upload the file to SupportBot and rename it to supportbot-config.yml
-> Job Done, restart the bot :wink:
+229
View File
@@ -0,0 +1,229 @@
# _________ __ __________ __
# / _____/__ ________ ______ ____________/ |\______ \ _____/ |_
# \_____ \| | \____ \\____ \ / _ \_ __ \ __\ | _// _ \ __\
# / \ | / |_> > |_> > <_> ) | \/| | | | ( <_> ) |
# /_______ /____/| __/| __/ \____/|__| |__| |______ /\____/|__|
# \/ |__| |__| \/
#
# SupportBot version 6.1
# Created by Emerald Services
# Installed with MIT License
#
# Support Server: discord.gg/jspKFcE
# General Bot Configuration
Token: "BOT_TOKEN_HERE"
Prefix: "-"
Bot_Name: "SupportBot"
BotActivity: "-help | SupportBot"
StreamingURL: "https://www.twitch.tv/YOUR_TWITCH_NAME"
# Must set ActivityType to STREAMING in order for Streaming URL to work in the bots status.
ActivityType: "PLAYING"
# Activity status can either be PLAYING, WATCHING, LISTENING or STREAMING.
DeleteMessages: "true"
# Embed Configuration
EmbedColour: "#04b545"
EmbedFooter: "SupportBot | The #1 Supportive Discord Bot"
ErrorColour: "#d12519"
SuccessColour: "#04b545"
WarningColour: "#fca117"
# Role Configuration
AutoRole: "true"
# By setting "AutoRole to 'true' the bot will automatically apply the role below when members joins. Set to 'false' to disable this feature.
AutoRole_Role: "Member"
LockdownRole: "@everyone"
Staff: "Staff"
Admin: "Admin"
# Help Configuration
HelpMenu_withKey: "false"
# If set to true, emojis will be used as a key to define the access level of commands.
# Ticket Configuration
TicketChannel: "ticket"
TicketCategory: "Tickets"
TicketLog: "ticket-logs"
TranscriptLog: "transcripts"
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.
AllowTicketMentions: "true"
# Set to "true" to allow the ticket to mention the author and the support team.
# Set to "false" to dis-allow mentions within tickets.
# Ticket Panel (Ticket Reaction Create)
ReactionTickets: true
ReactionMessage: "React with %reaction_emoji% to create a Support Ticket!"
ReactionPanel_Description: true
ReactionDescription: "Create a support ticket to contact a member of staff."
ReactionChannel: "create-ticket"
ReactionEmoji: "📩"
# Custom Emojis: <:test:EMOJI_ID>
ReactionPanel_Thumbnail: true
ReactionThumbnail: "https://hotemoji.com/images/dl/5/ticket-emoji-by-twitter.png"
ReactionPanel_Image: true
ReactionImage: "https://wallpapercave.com/wp/wp4462546.jpg"
Ticket_Thumbnail: "https://images.emojiterra.com/google/android-pie/512px/1f39f.png"
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."
NoTicketSubject: "No Reason Provided!"
TicketCreatedAlert: ":ticket: Your support ticket has been created: <#%ticketid%>"
TranscriptTitle: "Ticket Transcript"
AddedUser: "👍 <@%user%> has been added to this ticket"
RemovedUser: "👍 <@%user%> has been removed from this ticket"
ClosingTicket: ":warning: You have requested to close your support ticket."
ClosingConfirmation_Word: "confirm"
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
TicketDepartments: "true"
# This option enable or disable the ticket departments. If set false Ticket Departments will not work
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.
DepartmentEmoji_1: "🙋"
DepartmentEmoji_2: "💸"
DepartmentEmoji_3: "📗"
# Ticket emojis, the emojis are what users will need to react with inorder to proceed furthur if departments are enabled.
DepartmentTitle_1: "Support"
DepartmentTitle_2: "Billing"
DepartmentTitle_3: "Other"
# Ticket department title, This is the title for a ticket department to help users know what is available.
DepartmentRole_1: "Support"
DepartmentRole_2: "Admin"
DepartmentRole_3: "Support"
# Ticket roles are the roles that will be able to gain access to tickets depending on what department has been choosen.
# System Message Configuration
SystemMessages: "true"
SystemMessage_Channel: "system-messages"
SystemMessage_Type: "embed"
# There are 2 types of how you can send system messages, 'normal' or 'embed'
SystemMessage_Icon: "USER"
Welcome_Title: "User Joined!"
WelcomeMessage: "Hello %member%, Welcome to %guildname%!"
# %member% define the user who joined and %guildnamne% defines the server name.
Leave_Title: "User Left!"
LeaveMessage: "Goodbye %member%, Thank you for visting %guildname%!"
# %member% define the user who left and %guildnamne% defines the server name.
SystemMessage_EmbedFooter: "false"
# LINKS Configuration
LinksTitle: "Quick Links"
LINKS:
"Website": "https://www.example.com"
"Store": "https://store.example.com"
"Discord": "https://discord.gg/example"
# "Twitter": "https://twitter.com/example"
# Suggestions Configuration
SuggestionChannel: "suggestions"
SuggestionTitle: "Suggestion"
SuggestionStarter: "What would you like to suggest?"
SuggestReact_1: 👍
SuggestReact_2: 👎
# Announcement Configuration
AnnouncementChannel: "announcements"
AnnouncementTitle: "Servername Announcement"
AnnouncementIcon: "https://i.imgur.com/HbkZyB7.png"
AnnouncementStarter: "What would you like to announce?"
# Moderation System Configuration
BanTitle: "User Banned!"
DaysBannedFor: 7
BanLogColour: "#D911B4"
KickTitle: "User Kicked!"
KickLogColour: "#D9B111"
ModThumbnail: "https://i.imgur.com/l6P3DF6.png"
ModLogChannel: "mod-logs"
PruneLogTitle: "Bulk Delete"
PruneThumbnail: "https://i.imgur.com/OAgW2vR.png"
PruneColour: "#1BA30C"
# General Command Configuration
HelpCommand: "help"
LinksCommand: "links"
PingCommand: "ping"
SuggestCommand: "suggest"
# Support Command Configuration
NewTicket: "ticket"
CloseTicket: "close"
AddUser: "add"
RemoveUser: "remove"
RenameTicket: "rename"
# Staff Command Configuration
BotSay: "say"
PurgeMessage: "purge"
# Admin Command Configuration
AnnounceCommand: "announce"
BanUser: "ban"
KickUser: "kick"
# Commmand Descriptions
NewTicketDesc: "Create a new support ticket"
AnnounceDesc: "Create a server announcement"
CloseTicketDesc: "Close your support ticket"
LinksDesc: "View some important links"
PingDesc: "Get the bot's latency"
HelpDesc: "Get a list of all the commands"
RemoveUserDesc: "Remove a user from a support ticket"
AddUserDesc: "Add a user to a support ticket"
SuggestionDesc: "Create a server suggestion"
BotSayDesc: "Say something with the bot"
BanDesc: "Ban a member from this server."
KickDesc: "Kick a member from this server."
PurgeDesc: "Purge messages from the chat."
# Error / Warining Messages
IncorrectPerms: ":x: **Err!** You do not have the correct permissions to use this command."
InvalidChannel: ":x: **Err!** Channel not found. Please create it!"
UserNotFound: ":x: **Err!** This user doesn't exist, Are they in this server?"
NoValidTicket: ":warning: You cannot execute this command here. This command is used when closing a ticket."
TicketExists: ":warning: This ticket cannot be opened, It already exists!"
+222
View File
@@ -0,0 +1,222 @@
# _________ __ __________ __
# / _____/__ ________ ______ ____________/ |\______ \ _____/ |_
# \_____ \| | \____ \\____ \ / _ \_ __ \ __\ | _// _ \ __\
# / \ | / |_> > |_> > <_> ) | \/| | | | ( <_> ) |
# /_______ /____/| __/| __/ \____/|__| |__| |______ /\____/|__|
# \/ |__| |__| \/
#
# SupportBot version 6.2
# Created by Emerald Services
# Installed with MIT License
#
# Support Server: discord.gg/jspKFcE
# General Bot Configuration
Token: "BOT_TOKEN_HERE"
Prefix: "-"
Bot_Name: "SupportBot"
BotActivity: "-help | SupportBot"
StreamingURL: "https://www.twitch.tv/YOUR_TWITCH_NAME"
# Debe establecer ActivityType en STREAMING para que la dirección URL de streaming funcione en el estado de los bots.
ActivityType: "PLAYING"
# El estado de la actividad puede ser
DeleteMessages: "true"
# Embed Configuration
EmbedColour: "#04b545"
EmbedFooter: "SupportBot El #1 bot de discordia de apoyo"
ErrorColour: "#d12519"
SuccessColour: "#04b545"
WarningColour: "#fca117"
# Role Configuration
AutoRole: "true"
# Estableciendo "AutoRole para 'true' el bot aplicará automáticamente el rol siguiente cuando los miembros se unan. Establecer en 'false' para desactivar esta función.
AutoRole_Role: "Miembro"
LockdownRole: "@everyone"
Staff: "Personal"
Admin: "Admin"
# Ticket Configuration
TicketChannel: "ticket"
TicketCategory: "Tickets"
TicketLog: "ticket-logs"
TranscriptLog: "transcripts"
TicketSubject: "description"
# TicketSubject: "description" significa que el sujeto (motivo) del billete se mostrará en la descripción del canal si se establece en "embed" se mostrará dentro de la incrustación.
AllowTicketMentions: "true"
# Establecer en "true" para permitir que el boleto mencione al autor y al equipo de apoyo.
# Establecer en "false" para desautorizar las menciones dentro de los boletos.
# Ticket Panel (Ticket Reaction Create)
ReactionTickets: "true"
ReactionMessage: "React with %reaction_emoji% para crear un Ticket de Soporte!"
ReactionChannel: "crear-ticket"
ReactionPanel_Description: "true"
ReactionDescription: "Cree un ticket de soporte para contactar a un miembro del personal."
ReactionEmoji: "📩"
# Custom Emojis: <:test:EMOJI_ID>
ReactionPanel_Thumbnail: true
ReactionThumbnail: "https://hotemoji.com/images/dl/5/ticket-emoji-by-twitter.png"
ReactionPanel_Image: true
ReactionImage: "https://wallpapercave.com/wp/wp4462546.jpg"
Ticket_Thumbnail: "https://images.emojiterra.com/google/android-pie/512px/1f39f.png"
Ticket_Title: "Server Support | %ticketusername%"
TicketMessage: "Hola <@%ticketauthor%>, Gracias por crear un ticket de apoyo\nPor favor, espere pacientemente mientras un miembro de nuestro equipo se acerca a usted."
NoTicketSubject: "No Reason Provided!"
TicketCreatedAlert: ":ticket: Se ha creado su ticket de soporte: <#%ticketid%>"
TranscriptTitle: "Transcripción de entradas"
AddedUser: "👍 <@%user%> se ha añadido a este billete"
RemovedUser: "👍 <@%user%> ha sido retirado de este boleto"
ClosingTicket: ":warning: Ha solicitado cerrar su ticket de soporte."
ClosingConfirmation_Word: "confirm"
CloseConfirmation: "true"
# CloseConfirmation a true hará que los usuarios confirmen que quieren cerrar un billete, la configuración a false simplemente cerrará el ticket.
# Ticket Department Configuration
TicketDepartments: "true"
# Esta opción habilite o deshabilite los departamentos de tickets. Compensar "false" Los departamentos de entradas no funcionarán.
AllowStaff: "true"
# AllowStaff es una opción para si desea o no que los usuarios con el rol "Personal" puedan ver dentro de los tickets. Si se establece falso "Personal" no verá los boletos.
DepartmentEmoji_1: "🙋"
DepartmentEmoji_2: "💸"
DepartmentEmoji_3: "📗"
# Ticket emojis, los emojis son lo que los usuarios tendrán que reaccionar con orden para proceder furthur si los departamentos están habilitados.
DepartmentTitle_1: "Apoyo"
DepartmentTitle_2: "Facturación"
DepartmentTitle_3: "Otro"
# Ticket department title, Este es el título de un departamento de tickets para ayudar a los usuarios a saber lo que está disponible.
DepartmentRole_1: "Apoyo"
DepartmentRole_2: "Admin"
DepartmentRole_3: "Apoyo"
# Los roles de tickets son los roles que podrán acceder a los boletos dependiendo del departamento que se haya elegido.
# System Message Configuration
SystemMessages: "true"
SystemMessage_Channel: "smensajes-del-sistema"
SystemMessage_Type: "embed"
# Hay 2 tipos de cómo puede enviar mensajes del sistema, 'normal' or 'embed'
SystemMessage_Icon: "USER"
Welcome_Title: "Usuario unido!"
WelcomeMessage: "Hola %member%, Bienvenido a %guildname%!"
# %member% definir el usuario que se unió y %guildnamne% define el nombre del servidor.
Leave_Title: "¡Usuario a la izquierda!"
LeaveMessage: "Adios %member%, Gracias por visting %guildname%!"
# %member% definir el usuario que se unió y %guildnamne% define el nombre del servidor.
SystemMessage_EmbedFooter: "false"
# LINKS Configuration
LinksTitle: "Enlaces rápidos"
LINKS:
"Website": "https://www.example.com"
"Store": "https://store.example.com"
"Discord": "https://discord.gg/example"
# "Twitter": "https://twitter.com/example"
# Suggestions Configuration
SuggestionChannel: "Sugerencias"
SuggestionTitle: "Sugerencia"
SuggestionStarter: "¿Qué te gustaría sugerir?"
SuggestReact_1: 👍
SuggestReact_2: 👎
# Announcement Configuration
AnnouncementChannel: "anuncios"
AnnouncementTitle: "Anuncio de nombre de servidor"
AnnouncementIcon: "https://i.imgur.com/HbkZyB7.png"
AnnouncementStarter: "¿Qué te gustaría anunciar?"
# Moderation System Configuration
BanTitle: "User Banned!"
DaysBannedFor: 7
BanLogColour: "#D911B4"
KickTitle: "User Kicked!"
KickLogColour: "#D9B111"
ModThumbnail: "https://i.imgur.com/l6P3DF6.png"
ModLogChannel: "mod-logs"
PruneLogTitle: "Bulk Delete"
PruneThumbnail: "https://i.imgur.com/OAgW2vR.png"
PruneColour: "#1BA30C"
# General Command Configuration
HelpCommand: "ayuda"
LinksCommand: "enlaces"
PingCommand: "senal"
SuggestCommand: "cugerir"
# Support Command Configuration
NewTicket: "boleto"
CloseTicket: "cerca"
AddUser: "anadir"
RemoveUser: "eliminar"
RenameTicket: "renombrar"
# Staff Command Configuration
BotSay: "decir"
PurgeMessage: "purge"
# Admin Command Configuration
AnnounceCommand: "anunciar"
BanUser: "ban"
KickUser: "kick"
# Commmand Descriptions
NewTicketDesc: "Crear un nuevo ticket de soporte"
AnnounceDesc: "Crear un anuncio de servidor"
CloseTicketDesc: "Cierre su ticket de soporte"
LinksDesc: "Ver algunos enlaces importantes"
PingDesc: "Obtener la latencia del bot"
HelpDesc: "Obtener una lista de todos los comandoss"
RemoveUserDesc: "Eliminar un usuario de un ticket de soporte"
AddUserDesc: "Add un usuario a un ticket de soporte"
SuggestionDesc: "Crear una sugerencia de servidor"
BotSayDesc: "Di algo con el bot"
BanDesc: "Prohibir a un/una miembro de este servidor."
KickDesc: "Patea a un/una miembro de este servidor."
PurgeDesc: "Purga los mensajes del chat."
# Error / Warining Messages
IncorrectPerms: ":x: **Err!** No tiene los permisos correctos para utilizar este comando."
InvalidChannel: ":x: **Err!** Canal no encontrado. ¡Por favor, créalo!"
UserNotFound: ":x: **Err!** Este usuario no existe, ¿están en este servidor?"
NoValidTicket: ":warning: No puede ejecutar este comando aquí. Este comando se utiliza al cerrar un vale."
TicketExists: ":warning: Este billete no se puede abrir, ¡Ya existe!"
+224
View File
@@ -0,0 +1,224 @@
# _________ __ __________ __
# / _____/__ ________ ______ ____________/ |\______ \ _____/ |_
# \_____ \| | \____ \\____ \ / _ \_ __ \ __\ | _// _ \ __\
# / \ | / |_> > |_> > <_> ) | \/| | | | ( <_> ) |
# /_______ /____/| __/| __/ \____/|__| |__| |______ /\____/|__|
# \/ |__| |__| \/
#
# SupportBot version 6.1
# Created by Emerald Services
# Installed with MIT License
#
# Support Server: discord.gg/jspKFcE
# General Bot Configuration
Token: "BOT_TOKEN_HERE"
Prefix: "-"
Bot_Name: "SupportBot"
BotActivity: "-help | SupportBot"
StreamingURL: "https://www.twitch.tv/YOUR_TWITCH_NAME"
# Doit définir ActivityType a STREAMING afin que l’URL de streaming fonctionne dans le statut bots.
ActivityType: "PLAYING"
# L’état d’activité peut être PLAYING, WATCHING, LISTENING ou STREAMING.
DeleteMessages: "true"
# Embed Configuration
EmbedColour: "#04b545"
EmbedFooter: "SupportBot | The #1 Supportive Discord Bot"
ErrorColour: "#d12519"
SuccessColour: "#04b545"
WarningColour: "#fca117"
# Role Configuration
AutoRole: "true"
# En parametre "AutoRole a 'true' le bot appliquera automatiquement le rôle ci-dessous lorsque les membres se joindra. Mis à 'false' désactiver cette fonctionnalite.
AutoRole_Role: "Membre"
LockdownRole: "@everyone"
Staff: "Personnel"
Admin: "Admin"
# Ticket Configuration
TicketChannel: "ticket"
TicketCategory: "Tickets"
TicketLog: "ticket-logs"
TranscriptLog: "transcripts"
TicketSubject: "description"
# TicketSubject: "description" signifie que le sujet (reason) du billet sera affiché sur la description du canal s’il est défini pour "embed" il sera affiché dans l’intégration.
AllowTicketMentions: "true"
# Mis a "true" pour permettre au billet de mentionner l’auteur et l’équipe de soutien.
# Mis a "false" pour désa autoriser les mentions dans les billets.
# Ticket Panel (Ticket Reaction Create)
ReactionTickets: "true"
ReactionMessage: "Réagissez avec %reaction_emoji% pour créer un ticket de support !"
ReactionChannel: "creer-billet"
ReactionPanel_Description: "true"
ReactionDescription: "Créez un ticket de support pour contacter un membre du personnel."
ReactionEmoji: "📩"
# Custom Emojis: <:test:EMOJI_ID>
ReactionPanel_Thumbnail: true
ReactionThumbnail: "https://hotemoji.com/images/dl/5/ticket-emoji-by-twitter.png"
ReactionPanel_Image: true
ReactionImage: "https://wallpapercave.com/wp/wp4462546.jpg"
Ticket_Thumbnail: "https://images.emojiterra.com/google/android-pie/512px/1f39f.png"
Ticket_Title: "Prise en charge du serveur | %ticketusername%"
TicketMessage: "Bonjour <@%ticketauthor%>, Merci d’avoir créé un billet de support\nS’il vous plaît attendre patiemment pendant qu’un membre de notre équipe vous tend la main."
NoTicketSubject: "Aucune raison fournie!"
TicketCreatedAlert: ":ticket: Votre ticket de support a été créé : <#%ticketid%>"
TranscriptTitle: "Transcription du billet"
AddedUser: "👍 <@%user%> a ete ajoute a ce billet"
RemovedUser: "👍 <@%user%> a ete retiré de ce billet"
ClosingTicket: ":warning: Vous avez demandé de fermer votre billet de soutien."
ClosingConfirmation_Word: "confirm"
CloseConfirmation: "true"
# CloseConfirmation a vrai fera confirmer aux utilisateurs qu’ils veulent fermer un leur billet, les paramètres à faux va juste fermer le billet.
# Ticket Department Configuration
TicketDepartments: "true"
# Cette option permet ou désactive les départements de billetterie. Si définissez faux départements de billets ne fonctionnera pas
AllowStaff: "true"
# AllowStaff est une option pour savoir si oui ou non vous voulez les utilisateurs avec le "Staff" rôle pour être en mesure de voir à l’intérieur des billets. S’il est mis faux "Staff" ne affichera pas les billets.
DepartmentEmoji_1: "🙋"
DepartmentEmoji_2: "💸"
DepartmentEmoji_3: "📗"
# Emojis billet, les emojis sont ce que les utilisateurs devront réagir avec inorder pour procéder furthur si les départements sont activés.
DepartmentTitle_1: "Soutien"
DepartmentTitle_2: "Facturation"
DepartmentTitle_3: "Autres"
# Titre du département des billets, C’est le titre d’un service de billetterie pour aider les utilisateurs à savoir ce qui est disponible.
DepartmentRole_1: "Soutien"
DepartmentRole_2: "Admin"
DepartmentRole_3: "Soutien"
# Les rôles de billets sont les rôles qui seront en mesure d’accéder aux billets en fonction du ministère qui a été choisi.
# System Message Configuration
SystemMessages: "true"
SystemMessage_Channel: "messages-systeme"
SystemMessage_Type: "embed"
# Il existe 2 types de la façon dont vous pouvez envoyer des messages système, 'normal' or 'embed'
SystemMessage_Icon: "USER"
Welcome_Title: "Utilisateur rejoint!"
WelcomeMessage: "Bonjour %member%, Bienvenue à %guildname%!"
# %member% définir l’utilisateur qui a rejoint et %guildnamne% définit le nom du serveur.
Leave_Title: "Utilisateur à gauche!"
LeaveMessage: "Au revoir %member%, Merci d’avoir visting %guildname%!"
# %member% définir l’utilisateur qui est parti et %guildnamne% définit le nom du serveur.
SystemMessage_EmbedFooter: "false"
# LINKS Configuration
LinksTitle: "Liens rapides"
LINKS:
"Website": "https://www.example.com"
"Store": "https://store.example.com"
"Discord": "https://discord.gg/example"
# "Twitter": "https://twitter.com/example"
# Suggestions Configuration
SuggestionChannel: "suggestions"
SuggestionTitle: "Suggestion"
SuggestionStarter: "Qu’aimeriez-vous suggérer?"
SuggestReact_1: 👍
SuggestReact_2: 👎
# Announcement Configuration
AnnouncementChannel: "annonces"
AnnouncementTitle: "Annonce servername"
AnnouncementIcon: "https://i.imgur.com/HbkZyB7.png"
AnnouncementStarter: "Qu’aimeriez-vous annoncer?"
# Moderation System Configuration
BanTitle: "User Banned!"
DaysBannedFor: 7
BanLogColour: "#D911B4"
KickTitle: "User Kicked!"
KickLogColour: "#D9B111"
ModThumbnail: "https://i.imgur.com/l6P3DF6.png"
ModLogChannel: "mod-logs"
PruneLogTitle: "Bulk Delete"
PruneThumbnail: "https://i.imgur.com/OAgW2vR.png"
PruneColour: "#1BA30C"
# General Command Configuration
HelpCommand: "aide"
LinksCommand: "liens"
PingCommand: "ping"
SuggestCommand: "suggerer"
# Support Command Configuration
NewTicket: "billet"
CloseTicket: "proche"
AddUser: "ajouter"
RemoveUser: "retirer"
RenameTicket: "renommer"
# Staff Command Configuration
BotSay: "dire"
PurgeMessage: "purge"
# Admin Command Configuration
AnnounceCommand: "annoncer"
BanUser: "ban"
KickUser: "kick"
# Commmand Descriptions
NewTicketDesc: "Créer un nouveau ticket de support"
AnnounceDesc: "Créer une annonce de serveur"
CloseTicketDesc: "Fermez votre billet de support"
LinksDesc: "View some important links"
PingDesc: "Obtenez la latence du bot"
HelpDesc: "Obtenez une liste de toutes les commandes"
RemoveUserDesc: "Supprimer un utilisateur d’un ticket de support"
AddUserDesc: "Ajouter un utilisateur à un ticket de support"
SuggestionDesc: "Créer une suggestion de serveur"
BotSayDesc: "Dites quelque chose avec le bot"
BanDesc: "Bannir un membre de ce serveur."
KickDesc: "Kick un membre de ce serveur."
PurgeDesc: "Purgez les messages du chat."
# Error / Warining Messages
IncorrectPerms: ":x: **Err!** Vous n’avez pas les autorisations correctes pour utiliser cette commande."
InvalidChannel: ":x: **Err!** Canal ina pas trouvé. S’il vous plaît le créer!"
UserNotFound: ":x: **Err!** Vous ne pouvez pas exécuter cette commande ici. Cette commande est utilisée lors de la fermeture d’un billet. ..."
NoValidTicket: ":warning: Vous ne pouvez pas exécuter cette commande ici. Cette commande est utilisée lors de la fermeture d’un billet."
TicketExists: ":warning: Ce billet ne peut pas être ouvert, il existe déjà!"
+222
View File
@@ -0,0 +1,222 @@
# _________ __ __________ __
# / _____/__ ________ ______ ____________/ |\______ \ _____/ |_
# \_____ \| | \____ \\____ \ / _ \_ __ \ __\ | _// _ \ __\
# / \ | / |_> > |_> > <_> ) | \/| | | | ( <_> ) |
# /_______ /____/| __/| __/ \____/|__| |__| |______ /\____/|__|
# \/ |__| |__| \/
#
# SupportBot version 6.2
# Erstellt von Emerald Services
# Installiert unter MIT License
#
# Support Server: discord.gg/jspKFcE
# Generelle Bot Konfiguration
Token: "BOT_TOKEN_HERE"
Prefix: "-"
Bot_Name: "SupportBot"
BotActivity: "-help | SupportBot"
StreamingURL: "https://www.twitch.tv/YOUR_TWITCH_NAME"
# ActivityType muss auf STREAMING gesetzt werden, damit die Streaming-URL im Bot-Status funktioniert
ActivityType: "PLAYING"
# Der Aktivitätsstatus kann entweder PLAYING, WATCHING, LISTENING oder STREAMING sein.
DeleteMessages: "true"
# Embed Konfiguration
EmbedColour: "#04b545"
EmbedFooter: "SupportBot | Der #1 Support Discord Bot"
ErrorColour: "#d12519"
SuccessColour: "#04b545"
WarningColour: "#fca117"
# Rollen Konfiguration
AutoRole: "true"
# Wenn Sie "AutoRole" auf "true" setzen, vergibt der Bot automatisch die folgende Rolle, wenn Mitglieder deinem Discord Server beitreten. Setze dies auf "false", um diese Funktion zu deaktivieren.
AutoRole_Role: "Member"
LockdownRole: "@everyone"
Staff: "Staff"
Admin: "Admin"
# Ticket Konfiguration
TicketChannel: "ticket"
TicketCategory: "Tickets"
TicketLog: "ticket-logs"
TranscriptLog: "transcripts"
TicketSubject: "description"
# TicketSubject: "description" bedeutet, dass der Grund des Tickets in der Kanalbeschreibung steht, "embed" bedeutet, dass der Grund im Embed steht.
AllowTicketMentions: "true"
# Setze dies auf "true" damit das Ticket den Ersteller und das Support-Team pingt.
# Setze dies auf "false" um Pings in Tickets zu deaktivieren
# Ticket Panel (Per Reaktion ein Ticket erstellen)
ReactionTickets: "true"
ReactionMessage: "Reagiere mit %reaction_emoji% um ein Ticket zu erstellen!"
ReactionPanel_Description: "true"
ReactionDescription: "Erstellen Sie ein Support-Ticket, um einen Mitarbeiter zu kontaktieren."
ReactionChannel: "create-ticket"
ReactionEmoji: "📩"
# Custom Emojis: <:test:EMOJI_ID>
ReactionPanel_Thumbnail: true
ReactionThumbnail: "https://hotemoji.com/images/dl/5/ticket-emoji-by-twitter.png"
ReactionPanel_Image: true
ReactionImage: "https://wallpapercave.com/wp/wp4462546.jpg"
Ticket_Thumbnail: "https://images.emojiterra.com/google/android-pie/512px/1f39f.png"
Ticket_Title: "Server Support | %ticketusername%"
TicketMessage: "Hallo <@%ticketauthor%>, Vielen Dank das du ein Ticket erstellt hast\nBitte warte, bis sich ein Mitglied unseres Teams meldet!"
NoTicketSubject: "Keinen Grund angegeben!"
TicketCreatedAlert: ":ticket: Dein Ticket wurde erstellt: <#%ticketid%>"
TranscriptTitle: "Ticket Transcript"
AddedUser: "👍 <@%user%> wurde zu dem Ticket hinzugefügt"
RemovedUser: "👍 <@%user%> wurde aus dem Ticket entfernt"
ClosingTicket: ":warning: Du hast angefragt, dein Ticket zu schließen"
ClosingConfirmation_Word: "confirm"
CloseConfirmation: "true"
# CloseConfirmation "true" erwartet von Usern eine Bestätigung zum schließen des Ticket, setze dies auf "false" damit das Ticket einfach geschlossen wird.
# Ticket Abteilungskonfiguration
TicketDepartments: "true"
# Diese Option aktiviert oder deaktiviert die verschiedenen Ticket Abteilungen, setze dies auf "false" um keine Ticket Abteilungen zu haben.
AllowStaff: "true"
# Allowstaff ist eine Option welche der Rolle "Staff" ermöglicht, im Ticket mitzulesen, setze dies auf "false" damit die Rolle "Staff" nicht mitlesen kann.
DepartmentEmoji_1: "🙋"
DepartmentEmoji_2: "💸"
DepartmentEmoji_3: "📗"
# Ticket Emojis, auf welche die User reagieren um ein Ticket für die verschiedenen Abteilungen zu erstellen, natürlich nur wenn die Abteilungen aktiviert sind.
DepartmentTitle_1: "Support"
DepartmentTitle_2: "Billing"
DepartmentTitle_3: "Other"
# Ticket Abteilungstitel, dies ist der Titel einer Ticketabteilung, um Nutzern zu helfen, damit diese wissen welche Abteilungen vorhanden sind.
DepartmentRole_1: "Support"
DepartmentRole_2: "Admin"
DepartmentRole_3: "Support"
# Ticketrollen sind die Rollen, welche abhängig von der Abteilung Zugriff auf Tickets erhalten.
# System Nachrichten Konfiguration
SystemMessages: "true"
SystemMessage_Channel: "System-Nachrichten"
SystemMessage_Type: "embed"
# Es gibt 2 Arten wie Sie System Nachrichten senden können, "normal" oder "embed"
SystemMessage_Icon: "USER"
Welcome_Title: "User hat den Server betreten!"
WelcomeMessage: "Herzlich Willkommen %member%, Willkommen auf %guildname%!"
# %member% definiert den Nutzer welcher gerade gejoint ist, %guildnamne% den Server Namen.
Leave_Title: "User hat den Server verlassen!"
LeaveMessage: "Es war schön dich zu sehen %member%, Danke dir für den Besuch auf %guildname%!"
# %member% definiert den Nutzer, welcher den Server verlassen hat, %guildname% den Server Namen.
SystemMessage_EmbedFooter: "false"
# LINKS Konfiguration
LinksTitle: "Quick Links"
LINKS:
"Website": "https://www.example.com"
"Store": "https://store.example.com"
"Discord": "https://discord.gg/example"
# "Twitter": "https://twitter.com/example"
# Suggestions Konfiguration
SuggestionChannel: "suggestions"
SuggestionTitle: "Suggestion"
SuggestionStarter: "Was möchtest du vorschlagen?"
SuggestReact_1: 👍
SuggestReact_2: 👎
# Announcement Konfiguration
AnnouncementChannel: "announcements"
AnnouncementTitle: "Servername Announcement"
AnnouncementIcon: "https://i.imgur.com/HbkZyB7.png"
AnnouncementStarter: "Was möchtest du ankündigen?"
# Moderation System Configuration
BanTitle: "User Banned!"
DaysBannedFor: 7
BanLogColour: "#D911B4"
KickTitle: "User Kicked!"
KickLogColour: "#D9B111"
ModThumbnail: "https://i.imgur.com/l6P3DF6.png"
ModLogChannel: "mod-logs"
PruneLogTitle: "Bulk Delete"
PruneThumbnail: "https://i.imgur.com/OAgW2vR.png"
PruneColour: "#1BA30C"
# General Command Konfiguration
HelpCommand: "help"
LinksCommand: "links"
PingCommand: "ping"
SuggestCommand: "suggest"
# Support Command Konfiguration
NewTicket: "ticket"
CloseTicket: "close"
AddUser: "add"
RemoveUser: "remove"
RenameTicket: "rename"
# Staff Command Konfiguration
BotSay: "say"
PurgeMessage: "purge"
# Admin Command Konfiguration
AnnounceCommand: "announce"
BanUser: "ban"
KickUser: "kick"
# Commmand Beschreibungen (help)
NewTicketDesc: "Erstelle ein neues Support Ticket"
AnnounceDesc: "Erstelle eine neue Server Ankündigung"
CloseTicketDesc: "Schließe dein Support Ticket"
LinksDesc: "Zeigt wichtige Links an"
PingDesc: "Bekomme die Bot Latenz"
HelpDesc: "Erhalte eine Liste der verfügbaren Befehle"
RemoveUserDesc: "Entferne einen Nutzer aus einem Ticket"
AddUserDesc: "Füge einen Nutzer einem Ticket hinzu"
SuggestionDesc: "Erstelle einen Server Vorschlag"
BotSayDesc: "Sage etwas mit dem Bot"
BanDesc: "Verbannen Sie ein Mitglied von diesem Server."
KickDesc: "Treten Sie ein Mitglied von diesem Server."
PurgeDesc: "Nachrichten aus dem Chat löschen."
# Error / Warning Nachrichten
IncorrectPerms: ":x: **Error!** Du hast nicht die benötigten Berechtigungen um diesen Befehl auszuführen."
InvalidChannel: ":x: **Error!** Channel nicht gefunden. Bitte erstelle diesen Channel!"
UserNotFound: ":x: **Error!** Dieser Nutzer existiert nicht, ist er auf diesem Server?"
NoValidTicket: ":warning: Du kannst diesen Befehl hier nicht verwenden. Dieser Befehl wird zum schließen eines Tickets verwendet."
TicketExists: ":warning: Dieses Ticket kann nicht erstellt werden, es existiert bereits."
-777
View File
@@ -1,777 +0,0 @@
{
"name": "supportbot",
"version": "6.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"
}
},
"@javascript-obfuscator/escodegen": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/@javascript-obfuscator/escodegen/-/escodegen-2.1.1.tgz",
"integrity": "sha512-d5TIrhngNyqphUPgjWRVcepw55+aIrN2YX6BHy+4XOTq3/6AZCFj18Ym0tYSDm8T7+hLN6Culif18cepF/NpDQ==",
"requires": {
"esprima": "^4.0.1",
"estraverse": "^5.2.0",
"esutils": "^2.0.2",
"optionator": "^0.8.1",
"source-map": "~0.6.1"
}
},
"@nuxtjs/opencollective": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz",
"integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==",
"requires": {
"chalk": "^4.1.0",
"consola": "^2.15.0",
"node-fetch": "^2.6.1"
}
},
"@types/minimatch": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
"integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA=="
},
"@types/validator": {
"version": "13.0.0",
"resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.0.0.tgz",
"integrity": "sha512-WAy5txG7aFX8Vw3sloEKp5p/t/Xt8jD3GRD9DacnFv6Vo8ubudAsRTXgxpQwU0mpzY/H8U4db3roDuCMjShBmw=="
},
"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"
}
},
"acorn": {
"version": "8.0.4",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.4.tgz",
"integrity": "sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ=="
},
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"requires": {
"color-convert": "^2.0.1"
}
},
"argparse": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"requires": {
"sprintf-js": "~1.0.2"
}
},
"array-differ": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz",
"integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg=="
},
"array-filter": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz",
"integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM="
},
"array-union": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
"integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="
},
"arrify": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
"integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug=="
},
"assert": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz",
"integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==",
"requires": {
"es6-object-assign": "^1.1.0",
"is-nan": "^1.2.1",
"object-is": "^1.0.1",
"util": "^0.12.0"
}
},
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"available-typed-arrays": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz",
"integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==",
"requires": {
"array-filter": "^1.0.0"
}
},
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"buffer-from": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
},
"call-bind": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz",
"integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==",
"requires": {
"function-bind": "^1.1.1",
"get-intrinsic": "^1.0.0"
}
},
"chalk": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
"integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"chance": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/chance/-/chance-1.1.7.tgz",
"integrity": "sha512-bua/2cZEfzS6qPm0vi3JEvGNbriDLcMj9lKxCQOjUcCJRcyjA7umP0zZm6bKWWlBN04vA0L99QGH/CZQawr0eg=="
},
"char-regex": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
"integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw=="
},
"charenc": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
"integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc="
},
"class-validator": {
"version": "0.12.2",
"resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.12.2.tgz",
"integrity": "sha512-TDzPzp8BmpsbPhQpccB3jMUE/3pK0TyqamrK0kcx+ZeFytMA+O6q87JZZGObHHnoo9GM8vl/JppIyKWeEA/EVw==",
"requires": {
"@types/validator": "13.0.0",
"google-libphonenumber": "^3.2.8",
"tslib": ">=1.9.0",
"validator": "13.0.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"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"
}
},
"commander": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz",
"integrity": "sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q=="
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
"consola": {
"version": "2.15.0",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.15.0.tgz",
"integrity": "sha512-vlcSGgdYS26mPf7qNi+dCisbhiyDnrN1zaRbw3CSuc2wGOMEGGPsp46PdRG5gqXwgtJfjxDkxRNAgRPr1B77vQ=="
},
"crypt": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
"integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs="
},
"deep-is": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
},
"define-properties": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
"integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
"requires": {
"object-keys": "^1.0.12"
}
},
"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.1",
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-12.5.1.tgz",
"integrity": "sha512-VwZkVaUAIOB9mKdca0I5MefPMTQJTNg0qdgi1huF3iwsFwJ0L5s/Y69AQe+iPmjuV6j9rtKoG0Ta0n9vgEIL6w==",
"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.2",
"setimmediate": "^1.0.5",
"tweetnacl": "^1.0.3",
"ws": "^7.3.1"
}
},
"es-abstract": {
"version": "1.18.0-next.1",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
"integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
"requires": {
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.1",
"is-callable": "^1.2.2",
"is-negative-zero": "^2.0.0",
"is-regex": "^1.1.1",
"object-inspect": "^1.8.0",
"object-keys": "^1.1.1",
"object.assign": "^4.1.1",
"string.prototype.trimend": "^1.0.1",
"string.prototype.trimstart": "^1.0.1"
}
},
"es-to-primitive": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
"integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
"requires": {
"is-callable": "^1.1.4",
"is-date-object": "^1.0.1",
"is-symbol": "^1.0.2"
}
},
"es6-object-assign": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz",
"integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw="
},
"eslint-scope": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
"integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
"requires": {
"esrecurse": "^4.3.0",
"estraverse": "^4.1.1"
},
"dependencies": {
"estraverse": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
}
}
},
"esprima": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
},
"esrecurse": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
"integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
"requires": {
"estraverse": "^5.2.0"
}
},
"estraverse": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
"integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ=="
},
"esutils": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
},
"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=="
},
"eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
"integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="
},
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"fast-levenshtein": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
},
"foreach": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
"integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k="
},
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
},
"get-intrinsic": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz",
"integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==",
"requires": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.1"
}
},
"google-libphonenumber": {
"version": "3.2.15",
"resolved": "https://registry.npmjs.org/google-libphonenumber/-/google-libphonenumber-3.2.15.tgz",
"integrity": "sha512-tbCIuzMoH34RdrbFRw5kijAZn/p6JMQvsgtr1glg2ugbwqrMPlOL8pHNK8cyGo9B6SXpcMm4hdyDqwomR+HPRg=="
},
"has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"requires": {
"function-bind": "^1.1.1"
}
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
},
"has-symbols": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
"integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg=="
},
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"inversify": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/inversify/-/inversify-5.0.1.tgz",
"integrity": "sha512-Ieh06s48WnEYGcqHepdsJUIJUXpwH5o5vodAX+DK2JA/gjy4EbEcQZxw+uFfzysmKjiLXGYwNG3qDZsKVMcINQ=="
},
"is-arguments": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz",
"integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==",
"requires": {
"call-bind": "^1.0.0"
}
},
"is-buffer": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
},
"is-callable": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
"integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA=="
},
"is-date-object": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
"integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g=="
},
"is-generator-function": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz",
"integrity": "sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ=="
},
"is-nan": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.0.tgz",
"integrity": "sha512-z7bbREymOqt2CCaZVly8aC4ML3Xhfi0ekuOnjO2L8vKdl+CttdVoGZQhd4adMFAsxQ5VeRVwORs4tU8RH+HFtQ==",
"requires": {
"define-properties": "^1.1.3"
}
},
"is-negative-zero": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
"integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w=="
},
"is-regex": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
"integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
"requires": {
"has-symbols": "^1.0.1"
}
},
"is-symbol": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
"integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
"requires": {
"has-symbols": "^1.0.1"
}
},
"is-typed-array": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.4.tgz",
"integrity": "sha512-ILaRgn4zaSrVNXNGtON6iFNotXW3hAPF3+0fB1usg2jFlWqo5fEDdmJkz0zBfoi7Dgskr8Khi2xZ8cXqZEfXNA==",
"requires": {
"available-typed-arrays": "^1.0.2",
"call-bind": "^1.0.0",
"es-abstract": "^1.18.0-next.1",
"foreach": "^2.0.5",
"has-symbols": "^1.0.1"
}
},
"javascript-obfuscator": {
"version": "2.9.4",
"resolved": "https://registry.npmjs.org/javascript-obfuscator/-/javascript-obfuscator-2.9.4.tgz",
"integrity": "sha512-isaI1E9BkqUI7cgG7RKmzzqe8GrmIr3E+AJBCJ+Q78dEZk4RByPHq65tkCUdKKRT8pZ1y729prPa5UAme2B4Ug==",
"requires": {
"@javascript-obfuscator/escodegen": "2.1.1",
"@nuxtjs/opencollective": "0.3.2",
"acorn": "8.0.4",
"assert": "2.0.0",
"chalk": "4.1.0",
"chance": "1.1.7",
"class-validator": "0.12.2",
"commander": "6.2.0",
"eslint-scope": "5.1.1",
"estraverse": "5.2.0",
"eventemitter3": "4.0.7",
"fast-deep-equal": "3.1.3",
"inversify": "5.0.1",
"js-string-escape": "1.0.1",
"md5": "2.3.0",
"mkdirp": "1.0.4",
"multimatch": "5.0.0",
"process": "0.11.10",
"reflect-metadata": "0.1.13",
"source-map-support": "0.5.19",
"string-template": "1.0.0",
"stringz": "2.1.0",
"tslib": "2.0.3"
}
},
"js-string-escape": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz",
"integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8="
},
"js-yaml": {
"version": "3.14.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
"integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
"requires": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
}
},
"levn": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
"integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
"requires": {
"prelude-ls": "~1.1.2",
"type-check": "~0.3.2"
}
},
"md5": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz",
"integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==",
"requires": {
"charenc": "0.0.2",
"crypt": "0.0.2",
"is-buffer": "~1.1.6"
}
},
"mime-db": {
"version": "1.44.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
"integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
},
"mime-types": {
"version": "2.1.27",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
"integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
"requires": {
"mime-db": "1.44.0"
}
},
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"requires": {
"brace-expansion": "^1.1.7"
}
},
"mkdirp": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
},
"multimatch": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz",
"integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==",
"requires": {
"@types/minimatch": "^3.0.3",
"array-differ": "^3.0.0",
"array-union": "^2.1.0",
"arrify": "^2.0.1",
"minimatch": "^3.0.4"
}
},
"node-fetch": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
},
"object-inspect": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz",
"integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw=="
},
"object-is": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz",
"integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==",
"requires": {
"call-bind": "^1.0.0",
"define-properties": "^1.1.3"
}
},
"object-keys": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
},
"object.assign": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
"integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
"requires": {
"call-bind": "^1.0.0",
"define-properties": "^1.1.3",
"has-symbols": "^1.0.1",
"object-keys": "^1.1.1"
}
},
"optionator": {
"version": "0.8.3",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
"integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
"requires": {
"deep-is": "~0.1.3",
"fast-levenshtein": "~2.0.6",
"levn": "~0.3.0",
"prelude-ls": "~1.1.2",
"type-check": "~0.3.2",
"word-wrap": "~1.2.3"
}
},
"prelude-ls": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
"integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
},
"prism-media": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.2.2.tgz",
"integrity": "sha512-I+nkWY212lJ500jLe4tN9tWO7nRiBAVdMv76P9kffZjYhw20raMlW1HSSvS+MLXC9MmbNZCazMrAr+5jEEgTuw=="
},
"process": {
"version": "0.11.10",
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
"integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
},
"reflect-metadata": {
"version": "0.1.13",
"resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
"integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg=="
},
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
},
"setimmediate": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
},
"source-map-support": {
"version": "0.5.19",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
"integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
"requires": {
"buffer-from": "^1.0.0",
"source-map": "^0.6.0"
}
},
"sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
},
"string-template": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/string-template/-/string-template-1.0.0.tgz",
"integrity": "sha1-np8iM9wA8hhxjsN5oopWc+zKi5Y="
},
"string.prototype.trimend": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz",
"integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==",
"requires": {
"call-bind": "^1.0.0",
"define-properties": "^1.1.3"
}
},
"string.prototype.trimstart": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz",
"integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==",
"requires": {
"call-bind": "^1.0.0",
"define-properties": "^1.1.3"
}
},
"stringz": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/stringz/-/stringz-2.1.0.tgz",
"integrity": "sha512-KlywLT+MZ+v0IRepfMxRtnSvDCMc3nR1qqCs3m/qIbSOWkNZYT8XHQA31rS3TnKp0c5xjZu3M4GY/2aRKSi/6A==",
"requires": {
"char-regex": "^1.0.2"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"requires": {
"has-flag": "^4.0.0"
}
},
"tslib": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
"integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ=="
},
"tweetnacl": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz",
"integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw=="
},
"type-check": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
"integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
"requires": {
"prelude-ls": "~1.1.2"
}
},
"util": {
"version": "0.12.3",
"resolved": "https://registry.npmjs.org/util/-/util-0.12.3.tgz",
"integrity": "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==",
"requires": {
"inherits": "^2.0.3",
"is-arguments": "^1.0.4",
"is-generator-function": "^1.0.7",
"is-typed-array": "^1.1.3",
"safe-buffer": "^5.1.2",
"which-typed-array": "^1.1.2"
}
},
"validator": {
"version": "13.0.0",
"resolved": "https://registry.npmjs.org/validator/-/validator-13.0.0.tgz",
"integrity": "sha512-anYx5fURbgF04lQV18nEQWZ/3wHGnxiKdG4aL8J+jEDsm98n/sU/bey+tYk6tnGJzm7ioh5FoqrAiQ6m03IgaA=="
},
"which-typed-array": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz",
"integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==",
"requires": {
"available-typed-arrays": "^1.0.2",
"call-bind": "^1.0.0",
"es-abstract": "^1.18.0-next.1",
"foreach": "^2.0.5",
"function-bind": "^1.1.1",
"has-symbols": "^1.0.1",
"is-typed-array": "^1.1.3"
}
},
"word-wrap": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="
},
"ws": {
"version": "7.4.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.0.tgz",
"integrity": "sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ=="
}
}
}
+2 -3
View File
@@ -1,12 +1,11 @@
{
"name": "supportbot",
"version": "6.1",
"version": "6.4",
"description": "SupportBot | #1 Self-Hosted Ticket Bot",
"main": "index.js",
"dependencies": {
"discord.js": "^12.5.1",
"javascript-obfuscator": "^2.9.4",
"js-yaml": "^3.14.0"
"js-yaml": "^4.0.0"
},
"devDependencies": {
"node-fetch": ">=2.6.1"
+1 -4
View File
@@ -1,4 +1 @@
{
"ticket": "ticket-0012",
"id":419821884431925260
}
{}
+1 -8
View File
@@ -1,8 +1 @@
{
"716992597377286145": {
"id": 65
},
"805909541979029524": {
"id": 13
}
}
{}
+39 -4
View File
@@ -5,7 +5,7 @@
# /_______ /____/| __/| __/ \____/|__| |__| |______ /\____/|__|
# \/ |__| |__| \/
#
# SupportBot version 6.1
# SupportBot version 6.4
# Created by Emerald Services
# Installed with MIT License
#
@@ -43,7 +43,8 @@ AutoRole_Role: "Member"
LockdownRole: "@everyone"
Staff: "Staff"
Admin: "Admin"
Admin: "Administration"
TicketBlackListRole: "Blacklisted"
# Ticket Configuration
@@ -58,14 +59,19 @@ AllowTicketMentions: "true"
# Set to "true" to allow the ticket to mention the author and the support team.
# Set to "false" to dis-allow mentions within tickets.
# Ticket Panel (Ticket Reaction Create)
ReactionTickets: "true"
ReactionTickets: true
ReactionMessage: "React with %reaction_emoji% to create a Support Ticket!"
ReactionPanel_Description: true
ReactionDescription: "Create a support ticket to contact a member of staff."
ReactionChannel: "create-ticket"
ReactionEmoji: "📩"
# Custom Emojis: <:test:EMOJI_ID>
ReactionPanel_Thumbnail: true
ReactionThumbnail: "https://hotemoji.com/images/dl/5/ticket-emoji-by-twitter.png"
ReactionPanel_Image: true
ReactionImage: "https://wallpapercave.com/wp/wp4462546.jpg"
Ticket_Thumbnail: "https://images.emojiterra.com/google/android-pie/512px/1f39f.png"
Ticket_Title: "Server Support | %ticketusername%"
@@ -73,6 +79,7 @@ TicketMessage: "Hello <@%ticketauthor%>, Thank you for creating a support ticket
NoTicketSubject: "No Reason Provided!"
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"
RemovedUser: "👍 <@%user%> has been removed from this ticket"
@@ -150,6 +157,26 @@ AnnouncementIcon: "https://i.imgur.com/HbkZyB7.png"
AnnouncementStarter: "What would you like to announce?"
# Moderation System Configuration
BanTitle: "User Banned!"
DaysBannedFor: 7
BanLogColour: "#D911B4"
KickTitle: "User Kicked!"
KickLogColour: "#D9B111"
ModThumbnail: "https://i.imgur.com/l6P3DF6.png"
ModLogChannel: "mod-logs"
PruneLogTitle: "Bulk Delete"
PruneThumbnail: "https://i.imgur.com/OAgW2vR.png"
PruneColour: "#1BA30C"
BlacklistTitle: "Blacklisted User"
BlacklistColour: "#000000"
# General Command Configuration
HelpCommand: "help"
@@ -168,10 +195,14 @@ RenameTicket: "rename"
# Staff Command Configuration
BotSay: "say"
PurgeMessage: "purge"
# Admin Command Configuration
AnnounceCommand: "announce"
BanUser: "ban"
KickUser: "kick"
BlacklistUser: "blacklist"
# Commmand Descriptions
@@ -185,6 +216,10 @@ RemoveUserDesc: "Remove a user from a support ticket"
AddUserDesc: "Add a user to a support ticket"
SuggestionDesc: "Create a server suggestion"
BotSayDesc: "Say something with the bot"
BanDesc: "Ban a member from this server."
KickDesc: "Kick a member from this server."
PurgeDesc: "Purge messages from the chat."
BlacklistDesc: "Decline a member to open a ticket"
# Error / Warining Messages