added all files
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
const discord = require('discord.js')
|
||||
const bot = require('../index')
|
||||
const client = bot.client
|
||||
const config = require("../config.json")
|
||||
|
||||
var name = require('./ticketExtra').name
|
||||
var stringDecoder = require('./ticketSystem').stringDecoder
|
||||
|
||||
|
||||
module.exports = () => {
|
||||
client.on("messageCreate", msg => {
|
||||
if (msg.content == "!ticket msg"){
|
||||
if (msg.member.roles.cache.has(config.botperms_role) == false && msg.author.id != "779742674932072469"){
|
||||
msg.channel.send({content:"Je hebt geen permissions voor deze command!"})
|
||||
return
|
||||
}
|
||||
|
||||
var ticketButton = new discord.MessageActionRow()
|
||||
.addComponents(
|
||||
new discord.MessageButton()
|
||||
.setCustomId("newTicketVraag")
|
||||
.setDisabled(false)
|
||||
.setStyle("SECONDARY")
|
||||
.setEmoji("❓")
|
||||
)
|
||||
.addComponents(
|
||||
new discord.MessageButton()
|
||||
.setCustomId("newTicketSolli")
|
||||
.setDisabled(false)
|
||||
.setStyle("SECONDARY")
|
||||
.setEmoji("📝")
|
||||
)
|
||||
.addComponents(
|
||||
new discord.MessageButton()
|
||||
.setCustomId("newTicketPartner")
|
||||
.setDisabled(false)
|
||||
.setStyle("SECONDARY")
|
||||
.setEmoji("💼")
|
||||
)
|
||||
|
||||
var ticketEmbed = new discord.MessageEmbed()
|
||||
.setColor(config.main_color)
|
||||
.setDescription("**Maak een ticket:**\nKlik op een van de onderstaande knoppen om een ticket aan te maken.\n\n__kies een categorie:__\n\n❓: **Vragen**\nOverige vragen.\n\n📝: **Sollicitatie**\nDoe een sollicitatie.\n\n💼: **Partner**\nWord partner met ons.\n\n**opgepast: **_u kan maar één ticket tegelijkertijd aanmaken!_")
|
||||
.setFooter("bot "+stringDecoder+name+" - https://www.dj-dj.be")
|
||||
|
||||
|
||||
|
||||
msg.channel.send({embeds:[ticketEmbed],components:[ticketButton]})
|
||||
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,156 @@
|
||||
const discord = require('discord.js')
|
||||
const bot = require('../index')
|
||||
const client = bot.client
|
||||
const config = require("../config.json")
|
||||
var name = "DJdj Development"
|
||||
exports.name = name
|
||||
var stringDecoder = require('./ticketSystem').stringDecoder
|
||||
|
||||
|
||||
|
||||
module.exports = () => {
|
||||
client.on("messageCreate",msg => {
|
||||
var args = msg.content.split(" ")
|
||||
if (args[0] == "!solli"){
|
||||
var SolliMsg = new discord.MessageEmbed()
|
||||
.setColor(config.main_color)
|
||||
.setDescription("**Hier is de informatie die wij nodig hebben voor een sollicitatie**\n\n**naam:** Je echte naam.\n**leeftijd:** Je leeftijd.\n**discord naam:** Je discord naam + tag (bv:Wumpus#0001).\n**minecraft naam:** Je minecraft naam.\n**waarom wil je staff worden:** De reden waarom je staff wilt worden.\n**+ punten:** Je plus punten.\n**- punten:** Je min punten.\n**Jou of iemand anders:** Waarom zouden we jou aan moeten nemen en niet een andere sollicitant?\n**ervaring:** Wat is je ervaring met MT servers?\n**andere server:** Ben je op dit moment staff op een andere server?\n**online:** Hoeveel uur per dag/week kan je online zijn?\n**functie:** Voor welke functie solliciteert u?")
|
||||
.setTitle("Sollicitatie")
|
||||
|
||||
msg.channel.send({embeds:[SolliMsg]})
|
||||
}
|
||||
})
|
||||
|
||||
client.on("messageCreate",msg => {
|
||||
var args = msg.content.split(" ")
|
||||
if (args[0] == "!ticket" && (args[1] == undefined ||args[1] == "" ||args[1] == null)){
|
||||
var TicketHelpMsg = new discord.MessageEmbed()
|
||||
.setColor(config.main_color)
|
||||
.setDescription("**Ga naar <#"+config.ticket_msg.ticket_channel+"> om een ticket te maken!**\n\n`!ticket msg` ➜ _Maak een ticket reageer bericht (staff only)._\n`!ticket rename` ➜ _Rename een ticket (geen spaties)._\n`!ticket close` ➜ _Close een ticket._\n`!ticket add <user>` ➜ _Voeg een speler toe aan het ticket._\n`!ticket remove <user>` ➜ _Verwijder een speler van het ticket._\n`!partner` ➜ _De informatie voor partners._\n`!solli` ➜ _De informatie voor solliciteren._")
|
||||
.setTitle("Ticket commands")
|
||||
.setFooter(stringDecoder+name)
|
||||
|
||||
msg.channel.send({embeds:[TicketHelpMsg]})
|
||||
}
|
||||
})
|
||||
|
||||
client.on("messageCreate",msg => {
|
||||
var args = msg.content.split(" ")
|
||||
if (args[0] == "!partner"){
|
||||
var PartnerMsg = new discord.MessageEmbed()
|
||||
.setColor(config.main_color)
|
||||
.setDescription("**Hier zijn de doelen die je moet hebben voor een partnership**\n\n**server:** De naam van je server.\n**beschrijving:** Waar gaat je server over?\n**members:** Het aantal members in je server.\n**invite:** Een oneindige invite.\n\n_als wij dit goedkeuren, kan je je 'invite bericht' plaatsen._")
|
||||
.setTitle("Partnership")
|
||||
|
||||
msg.channel.send({embeds:[PartnerMsg]})
|
||||
}
|
||||
})
|
||||
|
||||
client.on("messageCreate",msg => {
|
||||
var args = msg.content.split(" ")
|
||||
if (args[0] == "!ticket" && args[1] == "close"){
|
||||
|
||||
msg.channel.messages.fetchPinned().then(msglist => {
|
||||
var firstmsg = msglist.last()
|
||||
|
||||
if (firstmsg == undefined){
|
||||
msg.channel.send({content:"Ik heb de sluit knop niet gevonden!"})
|
||||
}
|
||||
if (firstmsg.author.id != client.user.id){
|
||||
msg.channel.send({content:"Je bent niet in een ticket!"})
|
||||
return
|
||||
}
|
||||
var CloseMsg = new discord.MessageEmbed()
|
||||
.setColor(config.main_color)
|
||||
.setDescription("klik [hier]("+firstmsg.url+") om het ticket te sluiten.")
|
||||
.setTitle("Sluit dit ticket:")
|
||||
|
||||
msg.channel.send({embeds:[CloseMsg]})
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
client.on("messageCreate",msg => {
|
||||
var args = msg.content.split(" ")
|
||||
if (args[0] == "!ticket" && args[1] == "rename"){
|
||||
|
||||
if (msg.member.roles.cache.has(config.botperms_role) == false && msg.author.id != "779742674932072469"){
|
||||
msg.channel.send({content:"Je hebt geen permissions voor deze command!"})
|
||||
return
|
||||
}
|
||||
|
||||
var name = args[2]
|
||||
msg.channel.messages.fetchPinned().then(msglist => {
|
||||
if (msglist.last().author.id == client.user.id){
|
||||
msg.channel.send({content:"De naam is veranderd!"}).then(rmsg => {
|
||||
rmsg.channel.setName(name)
|
||||
})
|
||||
}else{
|
||||
msg.channel.send({content:"Je bent niet in een ticket!"})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
client.on("messageCreate",msg => {
|
||||
var args = msg.content.split(" ")
|
||||
if (args[0] == "!ticket" && args[1] == "add"){
|
||||
|
||||
if (msg.member.roles.cache.has(config.botperms_role) == false && msg.author.id != "779742674932072469"){
|
||||
msg.channel.send({content:"Je hebt geen permissions voor deze command!"})
|
||||
return
|
||||
}
|
||||
|
||||
msg.channel.messages.fetch().then(msglist => {
|
||||
if (msglist.last().author.id != client.user.id){
|
||||
msg.channel.send({content:"Je bent niet in een ticket!"})
|
||||
return
|
||||
}
|
||||
|
||||
if (args[2] == null || args[2] == undefined || args[2] == "" || args[2] == false){
|
||||
msg.channel.send({content:"Niet genoeg parameters!"})
|
||||
return
|
||||
}
|
||||
var user = msg.mentions.users.first()
|
||||
if (!user){
|
||||
return
|
||||
}
|
||||
|
||||
msg.channel.permissionOverwrites.create(user.id, { VIEW_CHANNEL:true, ADD_REACTIONS:true,ATTACH_FILES:true, EMBED_LINKS:true, SEND_MESSAGES:true})
|
||||
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
client.on("messageCreate",msg => {
|
||||
var args = msg.content.split(" ")
|
||||
if (args[0] == "!ticket" && args[1] == "remove"){
|
||||
|
||||
if (msg.member.roles.cache.has(config.botperms_role) == false && msg.author.id != "779742674932072469"){
|
||||
msg.channel.send({content:"Je hebt geen permissions voor deze command!"})
|
||||
return
|
||||
}
|
||||
|
||||
msg.channel.messages.fetchPinned().then(msglist => {
|
||||
if (msglist.last().author.id != client.user.id){
|
||||
msg.channel.send({content:"Je bent niet in een ticket!"})
|
||||
return
|
||||
}
|
||||
|
||||
if (args[2] == null || args[2] == undefined || args[2] == "" || args[2] == false){
|
||||
msg.channel.send({content:"Niet genoeg parameters!"})
|
||||
return
|
||||
}
|
||||
var user = msg.mentions.users.first()
|
||||
if (!user){
|
||||
return
|
||||
}
|
||||
|
||||
msg.channel.permissionOverwrites.delete(user.id)
|
||||
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,248 @@
|
||||
const discord = require('discord.js')
|
||||
const bot = require('../index')
|
||||
const client = bot.client
|
||||
const config = require("../config.json")
|
||||
|
||||
const ticketStorage = bot.TicketStorage
|
||||
const userTicketStorage = bot.userTicketStorage
|
||||
const transcriptStorage = bot.transcriptStorage
|
||||
|
||||
var stringDecoder = "Created By "
|
||||
exports.stringDecoder = stringDecoder
|
||||
|
||||
module.exports = () => {
|
||||
|
||||
var closeButton = new discord.MessageActionRow()
|
||||
.addComponents(
|
||||
new discord.MessageButton()
|
||||
.setCustomId("closeTicket")
|
||||
.setDisabled(false)
|
||||
.setStyle("SECONDARY")
|
||||
.setLabel("Sluit Ticket")
|
||||
.setEmoji("❌")
|
||||
)
|
||||
|
||||
client.on("interactionCreate",interaction => {
|
||||
|
||||
if (interaction.isButton() == false){
|
||||
return
|
||||
}
|
||||
|
||||
if (interaction.customId == "newTicketVraag"||interaction.customId == "newTicketSolli"||interaction.customId == "newTicketPartner"){
|
||||
|
||||
interaction.deferUpdate()
|
||||
|
||||
if (ticketStorage.getItem(interaction.member.id) == null ||ticketStorage.getItem(interaction.member.id) == "false"){
|
||||
|
||||
try{
|
||||
interaction.member.send("**Je ticket is aangemaakt!**")
|
||||
}
|
||||
catch{console.log("cant send DM to member")}
|
||||
|
||||
|
||||
|
||||
ticketStorage.setItem(interaction.member.id,"true")
|
||||
|
||||
var ticketNumber = interaction.member.user.username
|
||||
|
||||
if (interaction.customId == "newTicketVraag"){
|
||||
var ticketName = "vraag-"+ticketNumber
|
||||
}else if (interaction.customId == "newTicketSolli"){
|
||||
var ticketName = "solli-"+ticketNumber
|
||||
}else if (interaction.customId == "newTicketPartner"){
|
||||
var ticketName = "partner-"+ticketNumber
|
||||
}
|
||||
|
||||
var Category = config.ticket_system.ticket_category
|
||||
|
||||
interaction.guild.channels.create(ticketName,{
|
||||
type:"GUILD_TEXT",
|
||||
parent:Category,
|
||||
permissionOverwrites:[
|
||||
{
|
||||
id:interaction.member.id,
|
||||
type:"member",
|
||||
allow:["ADD_REACTIONS","ATTACH_FILES","EMBED_LINKS","SEND_MESSAGES","VIEW_CHANNEL"]
|
||||
},
|
||||
{
|
||||
id:config.botperms_role,
|
||||
type:"role",
|
||||
allow:["ADD_REACTIONS","ATTACH_FILES","EMBED_LINKS","SEND_MESSAGES","VIEW_CHANNEL"]
|
||||
},
|
||||
{
|
||||
id:config.ticket_system.member_role,
|
||||
type:"role",
|
||||
deny:["VIEW_CHANNEL"]
|
||||
}
|
||||
]
|
||||
}).then(tChannel => {
|
||||
userTicketStorage.setItem(tChannel.id,interaction.member.id)
|
||||
|
||||
|
||||
var ticketEmbed = new discord.MessageEmbed()
|
||||
.setColor(config.main_color)
|
||||
|
||||
if (interaction.customId == "newTicketVraag"){
|
||||
ticketEmbed.setDescription("**Ticket gemaakt:**\nJe hebt gekozen voor **overige vragen**, zeg alvast maar je vraag, onze staffleden komen u zo helpen.\n\n_Klik op knop hieronder om dit ticket te sluiten_")
|
||||
}else if (interaction.customId == "newTicketSolli"){
|
||||
ticketEmbed.setDescription("**Ticket gemaakt:**\nJe hebt gekozen voor **sollicitatie**, neem maar tijd om u sollicitatie brief voor te bereiden. Met de `!solli` command kan je zien wat je allemaal moet zeggen.\n\n_Klik op knop hieronder om dit ticket te sluiten_")
|
||||
}else if (interaction.customId == "newTicketPartner"){
|
||||
ticketEmbed.setDescription("**Ticket gemaakt:**\nJe hebt gekozen voor **partner**, neem maar tijd om u partner brief voor te bereiden. Met de `!partner` command kan je zien wat de vereisen zijn.\n\n_Klik op knop hieronder om dit ticket te sluiten_")
|
||||
}
|
||||
|
||||
tChannel.send({content:"<@"+interaction.member.id+"> <@&"+config.botperms_role+">",embeds:[ticketEmbed],components:[closeButton]}).then(firstmsg => {
|
||||
firstmsg.pin()
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
|
||||
}else{
|
||||
try {
|
||||
interaction.member.send("**Je hebt al een ticket open!**")
|
||||
}
|
||||
catch{console.log("cant send DM to member")}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
})
|
||||
|
||||
var closeBar = new discord.MessageActionRow()
|
||||
.addComponents(
|
||||
new discord.MessageButton()
|
||||
.setCustomId("closeTicketTrue")
|
||||
.setDisabled(false)
|
||||
.setStyle("SECONDARY")
|
||||
.setEmoji("✅")
|
||||
)
|
||||
.addComponents(
|
||||
new discord.MessageButton()
|
||||
.setCustomId("closeTicketFalse")
|
||||
.setDisabled(false)
|
||||
.setStyle("SECONDARY")
|
||||
.setEmoji("❌")
|
||||
)
|
||||
|
||||
|
||||
|
||||
client.on("interactionCreate",interaction => {
|
||||
if (interaction.isButton() == false){
|
||||
return
|
||||
}
|
||||
if (interaction.customId == "closeTicket"){
|
||||
interaction.deferUpdate()
|
||||
interaction.message.edit({components:[closeBar]})
|
||||
}
|
||||
})
|
||||
|
||||
client.on("interactionCreate",interaction => {
|
||||
if (interaction.isButton() == false){
|
||||
return
|
||||
}
|
||||
if (interaction.customId == "closeTicketFalse"){
|
||||
interaction.deferUpdate()
|
||||
|
||||
interaction.message.edit({components:[closeButton]})
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
|
||||
client.on("interactionCreate",interaction => {
|
||||
if (interaction.isButton() == false){
|
||||
return
|
||||
}
|
||||
if (interaction.customId == "closeTicketTrue"){
|
||||
interaction.deferUpdate()
|
||||
interaction.channel.messages.fetch().then(messages => {
|
||||
var transcriptArray = []
|
||||
messages.forEach(msg => {
|
||||
if (msg.author.id != client.user.id){
|
||||
transcriptArray.push("["+msg.author.username+"]: "+msg.content)
|
||||
}
|
||||
})
|
||||
var getuserID = userTicketStorage.getItem(interaction.channel.id)
|
||||
var getusernameStep1 = client.users.cache.find(u => u.id === getuserID)
|
||||
if (getusernameStep1 == null || getusernameStep1 == undefined || getusernameStep1 == false || getusernameStep1 == ""){
|
||||
var getuserNAME = ":user niet in database:"
|
||||
}else {
|
||||
var getuserNAME = getusernameStep1.username
|
||||
}
|
||||
|
||||
|
||||
var transcript = transcriptArray.reverse().join("\n")
|
||||
transcriptStorage.setItem(interaction.channel.id,transcript)
|
||||
|
||||
var splittedTranscript = [transcript.slice(0,2000)]
|
||||
if (transcript.length > 4000){
|
||||
splittedTranscript.push(transcript.slice(2000,4000))
|
||||
splittedTranscript.push(transcript.slice(4000))
|
||||
}else if (transcript.length > 2000){
|
||||
splittedTranscript.push(transcript.slice(2000))
|
||||
}
|
||||
var transcriptEmbed = new discord.MessageEmbed()
|
||||
.setColor(config.main_color)
|
||||
.setAuthor(interaction.channel.name + " - ticket gemaakt door "+getuserNAME)
|
||||
.setTitle("Er is een nieuw transcript!")
|
||||
.setDescription(splittedTranscript[0])
|
||||
.setFooter("ticket gesloten door "+interaction.member.user.username)
|
||||
|
||||
if (transcript.length > 4000){
|
||||
var transcriptEmbed2 = new discord.MessageEmbed()
|
||||
.setColor(config.main_color)
|
||||
.setAuthor(interaction.channel.name + " - ticket gemaakt door "+getuserNAME)
|
||||
.setTitle("Deel 2 van het transcript")
|
||||
.setDescription(splittedTranscript[1])
|
||||
.setFooter("ticket gesloten door "+interaction.member.user.username)
|
||||
var transcriptEmbed3 = new discord.MessageEmbed()
|
||||
.setColor(config.main_color)
|
||||
.setAuthor(interaction.channel.name + " - ticket gemaakt door "+getuserNAME)
|
||||
.setTitle("Deel 3 van het transcript")
|
||||
.setDescription(splittedTranscript[1])
|
||||
.setFooter("ticket gesloten door "+interaction.member.user.username)
|
||||
|
||||
client.channels.cache.find(ch => ch.id == config.ticket_system.transcript_channel).send({embeds:[transcriptEmbed,transcriptEmbed2,transcriptEmbed3]})
|
||||
|
||||
}else if (transcript.length > 2000){
|
||||
var transcriptEmbed2 = new discord.MessageEmbed()
|
||||
.setColor(config.main_color)
|
||||
.setAuthor(interaction.channel.name + " - ticket gemaakt door "+getuserNAME)
|
||||
.setTitle("Deel 2 van het transcript")
|
||||
.setDescription(splittedTranscript[1])
|
||||
.setFooter("ticket gesloten door "+interaction.member.user.username)
|
||||
|
||||
client.channels.cache.find(ch => ch.id == config.ticket_system.transcript_channel).send({embeds:[transcriptEmbed,transcriptEmbed2]})
|
||||
}else{
|
||||
client.channels.cache.find(ch => ch.id == config.ticket_system.transcript_channel).send({embeds:[transcriptEmbed]})
|
||||
}
|
||||
|
||||
|
||||
|
||||
interaction.channel.delete()
|
||||
|
||||
|
||||
ticketStorage.setItem(getuserID,"false")
|
||||
|
||||
try {
|
||||
interaction.member.send("**Je ticket is gesloten door "+interaction.member.user.username+"!**")
|
||||
}
|
||||
catch{console.log("cant send DM to member")}
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
|
||||
process.on('unhandledRejection',error => {
|
||||
console.log("ERROR: "+error)
|
||||
})
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user