almost the last push for v2.1.0
This commit is contained in:
+3
-3
@@ -11,7 +11,7 @@ module.exports = () => {
|
|||||||
var user = msg.mentions.users.first()
|
var user = msg.mentions.users.first()
|
||||||
if (!user) return msg.channel.send({embeds:[bot.errorLog.invalidArgsMessage(l.errors.missingArgsDescription+" `<user>`:\n`"+config.prefix+"add <user>`")]})
|
if (!user) return msg.channel.send({embeds:[bot.errorLog.invalidArgsMessage(l.errors.missingArgsDescription+" `<user>`:\n`"+config.prefix+"add <user>`")]})
|
||||||
|
|
||||||
if (!msg.member.permissions.has("MANAGE_CHANNELS") && !msg.member.permissions.has("ADMINISTRATOR")){
|
if (!msg.member.permissions.has("MANAGE_CHANNELS") && !msg.member.permissions.has("ADMINISTRATOR") && config.main_adminroles.some((item)=>{return msg.member.roles.cache.has(item)}) == false){
|
||||||
return msg.channel.send({embeds:[bot.errorLog.noPermsMessage]})
|
return msg.channel.send({embeds:[bot.errorLog.noPermsMessage]})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,8 +36,8 @@ module.exports = () => {
|
|||||||
const user = interaction.options.getUser("user")
|
const user = interaction.options.getUser("user")
|
||||||
|
|
||||||
const permsmember = client.guilds.cache.find(g => g.id == interaction.guild.id).members.cache.find(m => m.id == interaction.member.id)
|
const permsmember = client.guilds.cache.find(g => g.id == interaction.guild.id).members.cache.find(m => m.id == interaction.member.id)
|
||||||
if (config.main_adminroles.some((item)=>{return interaction.guild.members.cache.find((m) => m.id == interaction.member.id).roles.cache.has(item)}) == false && permsmember.permissions.has("ADMINISTRATOR")){
|
if (config.main_adminroles.some((item)=>{return permsmember.roles.cache.has(item)}) == false && !permsmember.permissions.has("ADMINISTRATOR") && !permsmember.permissions.has("MANAGE_GUILD")){
|
||||||
interaction.reply({embeds:[bot.errorLog.noPermsMessage]})
|
interaction.reply({embeds:[bot.errorLog.noPermsMessage],ephemeral:true})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,9 @@ module.exports = () => {
|
|||||||
client.on("messageCreate",msg => {
|
client.on("messageCreate",msg => {
|
||||||
if (!msg.content.startsWith(config.prefix+"delete")) return
|
if (!msg.content.startsWith(config.prefix+"delete")) return
|
||||||
|
|
||||||
|
if (!msg.member.permissions.has("MANAGE_CHANNELS") && !msg.member.permissions.has("ADMINISTRATOR") && config.main_adminroles.some((item)=>{return msg.member.roles.cache.has(item)}) == false){
|
||||||
|
return msg.channel.send({embeds:[bot.errorLog.noPermsMessage]})
|
||||||
|
}
|
||||||
|
|
||||||
msg.channel.messages.fetchPinned().then(msglist => {
|
msg.channel.messages.fetchPinned().then(msglist => {
|
||||||
var firstmsg = msglist.last()
|
var firstmsg = msglist.last()
|
||||||
@@ -37,6 +40,12 @@ module.exports = () => {
|
|||||||
if (!interaction.isCommand()) return
|
if (!interaction.isCommand()) return
|
||||||
if (interaction.commandName != "delete") return
|
if (interaction.commandName != "delete") return
|
||||||
|
|
||||||
|
const permsmember = client.guilds.cache.find(g => g.id == interaction.guild.id).members.cache.find(m => m.id == interaction.member.id)
|
||||||
|
if (config.main_adminroles.some((item)=>{return permsmember.roles.cache.has(item)}) == false && !permsmember.permissions.has("ADMINISTRATOR") && !permsmember.permissions.has("MANAGE_GUILD")){
|
||||||
|
interaction.reply({embeds:[bot.errorLog.noPermsMessage],ephemeral:true})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
interaction.channel.messages.fetchPinned().then(msglist => {
|
interaction.channel.messages.fetchPinned().then(msglist => {
|
||||||
var firstmsg = msglist.last()
|
var firstmsg = msglist.last()
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -11,7 +11,7 @@ module.exports = () => {
|
|||||||
var user = msg.mentions.users.first()
|
var user = msg.mentions.users.first()
|
||||||
if (!user) return msg.channel.send({embeds:[bot.errorLog.invalidArgsMessage(l.errors.missingArgsDescription+" `<user>`:\n`"+config.prefix+"remove <user>`")]})
|
if (!user) return msg.channel.send({embeds:[bot.errorLog.invalidArgsMessage(l.errors.missingArgsDescription+" `<user>`:\n`"+config.prefix+"remove <user>`")]})
|
||||||
|
|
||||||
if (!msg.member.permissions.has("MANAGE_CHANNELS") && !msg.member.permissions.has("ADMINISTRATOR")){
|
if (!msg.member.permissions.has("MANAGE_CHANNELS") && !msg.member.permissions.has("ADMINISTRATOR") && config.main_adminroles.some((item)=>{return msg.member.roles.cache.has(item)}) == false){
|
||||||
return msg.channel.send({embeds:[bot.errorLog.noPermsMessage]})
|
return msg.channel.send({embeds:[bot.errorLog.noPermsMessage]})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -37,8 +37,8 @@ module.exports = () => {
|
|||||||
const user = interaction.options.getUser("user")
|
const user = interaction.options.getUser("user")
|
||||||
|
|
||||||
const permsmember = client.guilds.cache.find(g => g.id == interaction.guild.id).members.cache.find(m => m.id == interaction.member.id)
|
const permsmember = client.guilds.cache.find(g => g.id == interaction.guild.id).members.cache.find(m => m.id == interaction.member.id)
|
||||||
if (config.main_adminroles.some((item)=>{return interaction.guild.members.cache.find((m) => m.id == interaction.member.id).roles.cache.has(item)}) == false && permsmember.permissions.has("ADMINISTRATOR")){
|
if (config.main_adminroles.some((item)=>{return permsmember.roles.cache.has(item)}) == false && !permsmember.permissions.has("ADMINISTRATOR") && !permsmember.permissions.has("MANAGE_GUILD")){
|
||||||
interaction.reply({embeds:[bot.errorLog.noPermsMessage]})
|
interaction.reply({embeds:[bot.errorLog.noPermsMessage],ephemeral:true})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-4
@@ -14,8 +14,7 @@ module.exports = () => {
|
|||||||
|
|
||||||
if (firstmsg == undefined || firstmsg.author.id != client.user.id) return msg.channel.send({embeds:[bot.errorLog.notInATicket]})
|
if (firstmsg == undefined || firstmsg.author.id != client.user.id) return msg.channel.send({embeds:[bot.errorLog.notInATicket]})
|
||||||
|
|
||||||
|
if (!msg.member.permissions.has("MANAGE_CHANNELS") && !msg.member.permissions.has("ADMINISTRATOR") && config.main_adminroles.some((item)=>{return msg.member.roles.cache.has(item)}) == false){
|
||||||
if (!msg.member.permissions.has("MANAGE_CHANNELS") && !msg.member.permissions.has("ADMINISTRATOR")){
|
|
||||||
return msg.channel.send({embeds:[bot.errorLog.noPermsMessage]})
|
return msg.channel.send({embeds:[bot.errorLog.noPermsMessage]})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -55,8 +54,8 @@ module.exports = () => {
|
|||||||
if (firstmsg == undefined || firstmsg.author.id != client.user.id)return interaction.reply({embeds:[bot.errorLog.notInATicket]})
|
if (firstmsg == undefined || firstmsg.author.id != client.user.id)return interaction.reply({embeds:[bot.errorLog.notInATicket]})
|
||||||
|
|
||||||
const permsmember = client.guilds.cache.find(g => g.id == interaction.guild.id).members.cache.find(m => m.id == interaction.member.id)
|
const permsmember = client.guilds.cache.find(g => g.id == interaction.guild.id).members.cache.find(m => m.id == interaction.member.id)
|
||||||
if (config.main_adminroles.some((item)=>{return interaction.guild.members.cache.find((m) => m.id == interaction.member.id).roles.cache.has(item)}) == false && permsmember.permissions.has("ADMINISTRATOR")){
|
if (config.main_adminroles.some((item)=>{return permsmember.roles.cache.has(item)}) == false && !permsmember.permissions.has("ADMINISTRATOR") && !permsmember.permissions.has("MANAGE_GUILD")){
|
||||||
interaction.reply({embeds:[bot.errorLog.noPermsMessage]})
|
interaction.reply({embeds:[bot.errorLog.noPermsMessage],ephemeral:true})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+8
-8
@@ -15,9 +15,9 @@ module.exports = () => {
|
|||||||
|
|
||||||
client.on("messageCreate", msg => {
|
client.on("messageCreate", msg => {
|
||||||
if (msg.content.startsWith(config.prefix+"msg"||config.prefix+"message")){
|
if (msg.content.startsWith(config.prefix+"msg"||config.prefix+"message")){
|
||||||
if (config.main_adminroles.some((item)=>{return msg.member.roles.cache.has(item)}) == false){
|
|
||||||
msg.channel.send({embeds:[bot.errorLog.noPermsMessage]})
|
if (!msg.member.permissions.has("MANAGE_CHANNELS") && !msg.member.permissions.has("ADMINISTRATOR") && config.main_adminroles.some((item)=>{return msg.member.roles.cache.has(item)}) == false){
|
||||||
return
|
return msg.channel.send({embeds:[bot.errorLog.noPermsMessage]})
|
||||||
}
|
}
|
||||||
|
|
||||||
const id = msg.content.split(config.prefix+"msg")[1].substring(1) ? msg.content.split(config.prefix+"msg")[1].substring(1) : false
|
const id = msg.content.split(config.prefix+"msg")[1].substring(1) ? msg.content.split(config.prefix+"msg")[1].substring(1) : false
|
||||||
@@ -38,11 +38,11 @@ module.exports = () => {
|
|||||||
if (!interaction.isCommand()) return
|
if (!interaction.isCommand()) return
|
||||||
if (interaction.commandName != "message") return
|
if (interaction.commandName != "message") return
|
||||||
|
|
||||||
const permsmember = client.guilds.cache.find(g => g.id == interaction.guild.id).members.cache.find(m => m.id == interaction.member.id)
|
const permsmember = client.guilds.cache.find(g => g.id == interaction.guild.id).members.cache.find(m => m.id == interaction.member.id)
|
||||||
if (config.main_adminroles.some((item)=>{return interaction.guild.members.cache.find((m) => m.id == interaction.member.id).roles.cache.has(item)}) == false && permsmember.permissions.has("ADMINISTRATOR")){
|
if (config.main_adminroles.some((item)=>{return permsmember.roles.cache.has(item)}) == false && !permsmember.permissions.has("ADMINISTRATOR") && !permsmember.permissions.has("MANAGE_GUILD")){
|
||||||
interaction.reply({embeds:[bot.errorLog.noPermsMessage]})
|
interaction.reply({embeds:[bot.errorLog.noPermsMessage],ephemeral:true})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
const id = interaction.options.getString("id")
|
const id = interaction.options.getString("id")
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
"has@everyoneaccess":false,
|
"has@everyoneaccess":false,
|
||||||
"member_role":"member role (doesn't have access to tickets)",
|
"member_role":"member role (doesn't have access to tickets)",
|
||||||
|
"closeMode":"adminonly|normal",
|
||||||
|
|
||||||
"enable_transcript":false,
|
"enable_transcript":false,
|
||||||
"enable_DM_transcript":false,
|
"enable_DM_transcript":false,
|
||||||
|
|||||||
+3
-1
@@ -188,7 +188,9 @@ exports.checker = async () => {
|
|||||||
|
|
||||||
//category
|
//category
|
||||||
checkType(option.category,"string",path+"/category")
|
checkType(option.category,"string",path+"/category")
|
||||||
checkDiscord("categoryid",option.category,path+"/category")
|
if (option.category.length > 0){
|
||||||
|
checkDiscord("categoryid",option.category,path+"/category")
|
||||||
|
}
|
||||||
|
|
||||||
//message
|
//message
|
||||||
checkType(option.message,"string",path+"/message")
|
checkType(option.message,"string",path+"/message")
|
||||||
|
|||||||
@@ -136,6 +136,15 @@ module.exports = () => {
|
|||||||
if (interaction.customId != "closeTicketTrue") return
|
if (interaction.customId != "closeTicketTrue") return
|
||||||
|
|
||||||
interaction.deferUpdate()
|
interaction.deferUpdate()
|
||||||
|
|
||||||
|
if (config.system.closeMode == "adminonly"){
|
||||||
|
const permsmember = client.guilds.cache.find(g => g.id == interaction.guild.id).members.cache.find(m => m.id == interaction.member.id)
|
||||||
|
if (config.main_adminroles.some((item)=>{return permsmember.roles.cache.has(item)}) == false && !permsmember.permissions.has("ADMINISTRATOR") && !permsmember.permissions.has("MANAGE_GUILD")){
|
||||||
|
interaction.channel.send({embeds:[bot.errorLog.noPermsMessage]})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
interaction.message.edit({components:[closeRowDisabled]})
|
interaction.message.edit({components:[closeRowDisabled]})
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -158,6 +167,15 @@ module.exports = () => {
|
|||||||
if (interaction.customId != "closeTicketTrue1") return
|
if (interaction.customId != "closeTicketTrue1") return
|
||||||
|
|
||||||
interaction.deferUpdate()
|
interaction.deferUpdate()
|
||||||
|
|
||||||
|
if (config.system.closeMode == "adminonly"){
|
||||||
|
const permsmember = client.guilds.cache.find(g => g.id == interaction.guild.id).members.cache.find(m => m.id == interaction.member.id)
|
||||||
|
if (config.main_adminroles.some((item)=>{return permsmember.roles.cache.has(item)}) == false && !permsmember.permissions.has("ADMINISTRATOR") && !permsmember.permissions.has("MANAGE_GUILD")){
|
||||||
|
interaction.channel.send({embeds:[bot.errorLog.noPermsMessage]})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const closedButtonDisabled = new discord.MessageActionRow()
|
const closedButtonDisabled = new discord.MessageActionRow()
|
||||||
.addComponents([
|
.addComponents([
|
||||||
new discord.MessageButton()
|
new discord.MessageButton()
|
||||||
@@ -210,6 +228,12 @@ module.exports = () => {
|
|||||||
|
|
||||||
interaction.deferUpdate()
|
interaction.deferUpdate()
|
||||||
|
|
||||||
|
const permsmember = client.guilds.cache.find(g => g.id == interaction.guild.id).members.cache.find(m => m.id == interaction.member.id)
|
||||||
|
if (config.main_adminroles.some((item)=>{return permsmember.roles.cache.has(item)}) == false && !permsmember.permissions.has("ADMINISTRATOR") && !permsmember.permissions.has("MANAGE_GUILD")){
|
||||||
|
interaction.channel.send({embeds:[bot.errorLog.noPermsMessage]})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type {String}
|
* @type {String}
|
||||||
*/
|
*/
|
||||||
@@ -250,6 +274,12 @@ module.exports = () => {
|
|||||||
|
|
||||||
interaction.deferUpdate()
|
interaction.deferUpdate()
|
||||||
|
|
||||||
|
const permsmember = client.guilds.cache.find(g => g.id == interaction.guild.id).members.cache.find(m => m.id == interaction.member.id)
|
||||||
|
if (config.main_adminroles.some((item)=>{return permsmember.roles.cache.has(item)}) == false && !permsmember.permissions.has("ADMINISTRATOR") && !permsmember.permissions.has("MANAGE_GUILD")){
|
||||||
|
interaction.channel.send({embeds:[bot.errorLog.noPermsMessage]})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type {String}
|
* @type {String}
|
||||||
*/
|
*/
|
||||||
|
|||||||
+82
-2
@@ -15,6 +15,7 @@ const storage = bot.storage
|
|||||||
exports.closeTicket = async (interaction,prefix,mode) => {
|
exports.closeTicket = async (interaction,prefix,mode) => {
|
||||||
const chalk = await (await import("chalk")).default
|
const chalk = await (await import("chalk")).default
|
||||||
const channelmessages = await interaction.channel.messages.fetch()
|
const channelmessages = await interaction.channel.messages.fetch()
|
||||||
|
const channel = interaction.channel
|
||||||
|
|
||||||
channelmessages.sweep((msgSweep) => {
|
channelmessages.sweep((msgSweep) => {
|
||||||
return msgSweep.author.id == client.user.id
|
return msgSweep.author.id == client.user.id
|
||||||
@@ -42,11 +43,46 @@ exports.closeTicket = async (interaction,prefix,mode) => {
|
|||||||
var enableTranscript = true
|
var enableTranscript = true
|
||||||
|
|
||||||
if (mode == "delete"){
|
if (mode == "delete"){
|
||||||
|
const permsmember = client.guilds.cache.find(g => g.id == interaction.guild.id).members.cache.find(m => m.id == interaction.member.id)
|
||||||
|
if (config.main_adminroles.some((item)=>{return permsmember.roles.cache.has(item)}) == false && !permsmember.permissions.has("ADMINISTRATOR") && !permsmember.permissions.has("MANAGE_GUILD")){
|
||||||
|
interaction.channel.send({embeds:[bot.errorLog.noPermsMessage]})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
interaction.channel.delete()
|
interaction.channel.delete()
|
||||||
log("system","deleted a ticket",[{key:"user",value:interaction.user.tag},{key:"ticket",value:interaction.channel.name}])
|
log("system","deleted a ticket",[{key:"user",value:interaction.user.tag},{key:"ticket",value:interaction.channel.name}])
|
||||||
|
|
||||||
if (!isDatabaseError) storage.set("ticketStorage",getuserID,Number(storage.get("ticketStorage",getuserID)) - 1)
|
if (!isDatabaseError) storage.set("ticketStorage",getuserID,Number(storage.get("ticketStorage",getuserID)) - 1)
|
||||||
|
|
||||||
|
//getID & send DM
|
||||||
|
interaction.channel.messages.fetchPinned().then(msglist => {
|
||||||
|
var firstmsg = msglist.last()
|
||||||
|
|
||||||
|
if (firstmsg == undefined || firstmsg.author.id != client.user.id) return false
|
||||||
|
|
||||||
|
if (!firstmsg.embeds[0].author) return false
|
||||||
|
const id = firstmsg.embeds[0].author.name
|
||||||
|
|
||||||
|
if (!id) return false
|
||||||
|
|
||||||
|
try{
|
||||||
|
if (config.system.enable_DM_Messages){
|
||||||
|
interaction.member.send({embeds:[bot.errorLog.custom(l.messages.deletedTicketDmTitle,l.messages.deletedTicketDmDescription,":ticket:",config.main_color)]})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch{log("system","can't send DM to member, member doesn't allow dm's")}
|
||||||
|
})
|
||||||
|
|
||||||
}else if (mode == "close"){
|
}else if (mode == "close"){
|
||||||
|
|
||||||
|
if (config.system.closeMode == "adminonly"){
|
||||||
|
const permsmember = client.guilds.cache.find(g => g.id == interaction.guild.id).members.cache.find(m => m.id == interaction.member.id)
|
||||||
|
if (config.main_adminroles.some((item)=>{return permsmember.roles.cache.has(item)}) == false && !permsmember.permissions.has("ADMINISTRATOR") && !permsmember.permissions.has("MANAGE_GUILD")){
|
||||||
|
interaction.channel.send({embeds:[bot.errorLog.noPermsMessage]})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var permissionArray = []
|
var permissionArray = []
|
||||||
if (!isDatabaseError) permissionArray.push({
|
if (!isDatabaseError) permissionArray.push({
|
||||||
id:getusernameStep1.id,
|
id:getusernameStep1.id,
|
||||||
@@ -98,18 +134,62 @@ exports.closeTicket = async (interaction,prefix,mode) => {
|
|||||||
|
|
||||||
log("system","closed a ticket",[{key:"user",value:interaction.user.tag},{key:"ticket",value:interaction.channel.name}])
|
log("system","closed a ticket",[{key:"user",value:interaction.user.tag},{key:"ticket",value:interaction.channel.name}])
|
||||||
|
|
||||||
|
//getID & send DM
|
||||||
|
interaction.channel.messages.fetchPinned().then(msglist => {
|
||||||
|
var firstmsg = msglist.last()
|
||||||
|
|
||||||
|
if (firstmsg == undefined || firstmsg.author.id != client.user.id) return false
|
||||||
|
|
||||||
|
const id = firstmsg.embeds[0].author.name
|
||||||
|
|
||||||
|
if (!id) return false
|
||||||
|
|
||||||
|
try{
|
||||||
|
if (config.system.enable_DM_Messages){
|
||||||
|
interaction.member.send({embeds:[bot.errorLog.custom(l.messages.closedTicketDmTitle,l.messages.closedTicketDmDescription,":ticket:",config.main_color)]})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch{log("system","can't send DM to member, member doesn't allow dm's")}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
}else if (mode == "deletenotranscript"){
|
}else if (mode == "deletenotranscript"){
|
||||||
|
|
||||||
|
const permsmember = client.guilds.cache.find(g => g.id == interaction.guild.id).members.cache.find(m => m.id == interaction.member.id)
|
||||||
|
if (config.main_adminroles.some((item)=>{return permsmember.roles.cache.has(item)}) == false && !permsmember.permissions.has("ADMINISTRATOR") && !permsmember.permissions.has("MANAGE_GUILD")){
|
||||||
|
interaction.channel.send({embeds:[bot.errorLog.noPermsMessage]})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
enableTranscript = false
|
enableTranscript = false
|
||||||
interaction.channel.delete()
|
interaction.channel.delete()
|
||||||
log("system","deleted a ticket",[{key:"user",value:interaction.user.tag},{key:"ticket",value:interaction.channel.name}])
|
log("system","deleted a ticket",[{key:"user",value:interaction.user.tag},{key:"ticket",value:interaction.channel.name}])
|
||||||
|
|
||||||
if (!isDatabaseError) storage.set("ticketStorage",getuserID,Number(storage.get("ticketStorage",getuserID)) - 1)
|
if (!isDatabaseError) storage.set("ticketStorage",getuserID,Number(storage.get("ticketStorage",getuserID)) - 1)
|
||||||
|
|
||||||
|
//getID & send DM
|
||||||
|
interaction.channel.messages.fetchPinned().then(msglist => {
|
||||||
|
var firstmsg = msglist.last()
|
||||||
|
|
||||||
|
if (firstmsg == undefined || firstmsg.author.id != client.user.id) return false
|
||||||
|
|
||||||
|
const id = firstmsg.embeds[0].author.name
|
||||||
|
|
||||||
|
if (!id) return false
|
||||||
|
|
||||||
|
try{
|
||||||
|
if (config.system.enable_DM_Messages){
|
||||||
|
interaction.member.send({embeds:[bot.errorLog.custom(l.messages.deletedTicketDmTitle,l.messages.deletedTicketDmDescription,":ticket:",config.main_color)]})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch{log("system","can't send DM to member, member doesn't allow dm's")}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
if (enableTranscript == true && mode != "deletenotranscript"){
|
if (enableTranscript == true && mode != "deletenotranscript"){
|
||||||
|
|
||||||
if (config.system.enable_transcript || config.system.enable_DM_transcript){
|
if (config.system.enable_transcript || config.system.enable_DM_transcript){
|
||||||
var fileattachment = await require("./transcript").createTranscript(channelmessages)
|
var fileattachment = await require("./transcript").createTranscript(channelmessages,channel)
|
||||||
|
|
||||||
if (fileattachment == false){log("system","internal error: transcript is not created!");return}
|
if (fileattachment == false){log("system","internal error: transcript is not created!");return}
|
||||||
}
|
}
|
||||||
@@ -156,7 +236,7 @@ exports.runThis = () => {
|
|||||||
return msgSweep.author.id == client.user.id
|
return msgSweep.author.id == client.user.id
|
||||||
})
|
})
|
||||||
|
|
||||||
var fileattachment = await require("./transcript").createTranscript(channelmessages)
|
var fileattachment = await require("./transcript").createTranscript(channelmessages,interaction.channel)
|
||||||
|
|
||||||
if (fileattachment == false){
|
if (fileattachment == false){
|
||||||
log("system","internal error: transcript is not created!")
|
log("system","internal error: transcript is not created!")
|
||||||
|
|||||||
@@ -151,6 +151,7 @@ module.exports = () => {
|
|||||||
storage.set("userTicketStorage",ticketChannel.id,interaction.member.id)
|
storage.set("userTicketStorage",ticketChannel.id,interaction.member.id)
|
||||||
|
|
||||||
var ticketEmbed = new discord.MessageEmbed()
|
var ticketEmbed = new discord.MessageEmbed()
|
||||||
|
.setAuthor({name:interaction.user.id})
|
||||||
.setColor(config.main_color)
|
.setColor(config.main_color)
|
||||||
.setTitle(currentTicketOptions.name)
|
.setTitle(currentTicketOptions.name)
|
||||||
if (currentTicketOptions.ticketmessage.length > 0) ticketEmbed.setDescription(currentTicketOptions.ticketmessage)
|
if (currentTicketOptions.ticketmessage.length > 0) ticketEmbed.setDescription(currentTicketOptions.ticketmessage)
|
||||||
|
|||||||
+18
-2
@@ -223,7 +223,23 @@ module.exports = () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
interaction.channel.permissionOverwrites.set(permissionsArray)
|
interaction.channel.permissionOverwrites.set(permissionsArray)
|
||||||
|
|
||||||
|
//getID & send DM
|
||||||
|
interaction.channel.messages.fetchPinned().then(msglist => {
|
||||||
|
var firstmsg = msglist.last()
|
||||||
|
|
||||||
|
if (firstmsg == undefined || firstmsg.author.id != client.user.id) return false
|
||||||
|
|
||||||
|
const id = firstmsg.embeds[0].author.name
|
||||||
|
|
||||||
|
if (!id) return false
|
||||||
|
|
||||||
|
try{
|
||||||
|
if (config.system.enable_DM_Messages){
|
||||||
|
interaction.member.send({embeds:[bot.errorLog.custom(l.messages.reopenTicketDmTitle,l.messages.reopenTicketDmDescription,":ticket:",config.main_color)]})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch{log("system","can't send DM to member, member doesn't allow dm's")}
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
+39
-4
@@ -4,19 +4,54 @@ const client = bot.client
|
|||||||
const config = bot.config
|
const config = bot.config
|
||||||
const l = bot.language
|
const l = bot.language
|
||||||
|
|
||||||
|
/** @param {discord.TextBasedChannel} channel @returns {Promise<{ticketname:String,ticketopener:{discordjsuser:discord.User,name:String,id:String}>} */
|
||||||
|
const getUserInfo = (channel) => {
|
||||||
|
return new Promise((promiseresolve,reject) => {
|
||||||
|
//getID
|
||||||
|
var result = {
|
||||||
|
ticketopener:{
|
||||||
|
discordjsuser:"",
|
||||||
|
id:"/",
|
||||||
|
name:"/"
|
||||||
|
},
|
||||||
|
ticketname:"/"
|
||||||
|
}
|
||||||
|
channel.messages.fetchPinned().then(msglist => {
|
||||||
|
var firstmsg = msglist.last()
|
||||||
|
|
||||||
|
if (firstmsg == undefined || firstmsg.author.id != client.user.id) return false
|
||||||
|
|
||||||
|
const id = firstmsg.embeds[0].author.name ? firstmsg.embeds[0].author.name : false
|
||||||
|
|
||||||
|
result.ticketopener.id = id
|
||||||
|
|
||||||
|
const ticketopener = client.users.cache.find(u => u.id == id)
|
||||||
|
const name = ticketopener.tag
|
||||||
|
|
||||||
|
const channelname = channel.name
|
||||||
|
|
||||||
|
promiseresolve({ticketname:channelname,ticketopener:{discordjsuser:ticketopener,name:name,id:id}})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param {discord.Message[]} messagecollection
|
* @param {discord.Message[]} messagecollection
|
||||||
|
* @param {discord.Channel} channel
|
||||||
* @returns new `discord.messageAttachment`
|
* @returns new `discord.messageAttachment`
|
||||||
*/
|
*/
|
||||||
|
|
||||||
exports.createTranscript = async (messagecollection) => {
|
exports.createTranscript = async (messagecollection,channel) => {
|
||||||
|
const ticketuserdata = await getUserInfo(channel)
|
||||||
try {
|
try {
|
||||||
const filearray = ["TRANSCRIPT START:"]
|
const cd = new Date()
|
||||||
|
const months = ["January","February","March","April","May","June","July","August","September","October","November","December"]
|
||||||
|
const dateString = cd.getDate()+" "+months[cd.getMonth()-1]+" "+cd.getFullYear()+" - "+cd.getSeconds()+":"+cd.getMinutes()+":"+cd.getHours()
|
||||||
|
const filearray = ["open ticket transcript:\ntranscript creation: "+dateString+"\nticket name: "+ticketuserdata.ticketname+"\nticket opener: "+ticketuserdata.ticketopener.name,"\nTRANSCRIPT START:"]
|
||||||
|
|
||||||
messagecollection.reverse()
|
messagecollection.reverse()
|
||||||
|
|
||||||
|
|
||||||
messagecollection.forEach((msg) => {
|
messagecollection.forEach((msg) => {
|
||||||
const timestamp = new Date(msg.createdTimestamp)
|
const timestamp = new Date(msg.createdTimestamp)
|
||||||
|
|
||||||
@@ -29,7 +64,7 @@ exports.createTranscript = async (messagecollection) => {
|
|||||||
if (filearray.length < 2) filearray.push("transcript is empty")
|
if (filearray.length < 2) filearray.push("transcript is empty")
|
||||||
const filestring = filearray.join("\n")
|
const filestring = filearray.join("\n")
|
||||||
const filebuff = Buffer.from(filestring,"utf-8")
|
const filebuff = Buffer.from(filestring,"utf-8")
|
||||||
return new discord.MessageAttachment(filebuff,"transcript.txt")
|
return new discord.MessageAttachment(filebuff,"transcript_"+ticketuserdata.ticketname+".txt")
|
||||||
}catch(err){
|
}catch(err){
|
||||||
console.log("[error] "+err)
|
console.log("[error] "+err)
|
||||||
return false
|
return false
|
||||||
|
|||||||
@@ -64,6 +64,10 @@
|
|||||||
"createdDescription":"Your ticket is created, you can detect it by a ping!",
|
"createdDescription":"Your ticket is created, you can detect it by a ping!",
|
||||||
|
|
||||||
"newTicketDmTitle":"New Ticket!",
|
"newTicketDmTitle":"New Ticket!",
|
||||||
|
"closedTicketDmTitle":"Ticket Closed!",
|
||||||
|
"deletedTicketDmTitle":"Ticket Deleted!",
|
||||||
|
"closedTicketDmDescription":"Your ticket is closed!",
|
||||||
|
"deletedTicketDmDescription":"Your ticket is deleted!",
|
||||||
"newTranscriptTitle":"A new transcript is here!",
|
"newTranscriptTitle":"A new transcript is here!",
|
||||||
"newTranscriptDescription":"You can find the transcript in the text file above!",
|
"newTranscriptDescription":"You can find the transcript in the text file above!",
|
||||||
"hereIsTheTranscript":"Here is the transcript:",
|
"hereIsTheTranscript":"Here is the transcript:",
|
||||||
|
|||||||
+7
-1
@@ -30,7 +30,7 @@
|
|||||||
"closeDescription":"Je kan dit ticket sluiten door op de knop hier onder te duwen!",
|
"closeDescription":"Je kan dit ticket sluiten door op de knop hier onder te duwen!",
|
||||||
"deleteTitle":"Verwijder dit ticket!",
|
"deleteTitle":"Verwijder dit ticket!",
|
||||||
"deleteDescription":"Je kan dit ticket verwijderen door op de knop hier onder te duwen!",
|
"deleteDescription":"Je kan dit ticket verwijderen door op de knop hier onder te duwen!",
|
||||||
"reopenTitle":"Heropen dit ticket ticket!",
|
"reopenTitle":"Heropen dit ticket!",
|
||||||
"reopenDescription":"Je kan dit ticket heropenen door op de knop hier onder te duwen!",
|
"reopenDescription":"Je kan dit ticket heropenen door op de knop hier onder te duwen!",
|
||||||
|
|
||||||
"ticketWarning":"De embed is in het bericht hier onder!",
|
"ticketWarning":"De embed is in het bericht hier onder!",
|
||||||
@@ -64,6 +64,12 @@
|
|||||||
"createdDescription":"Je ticket is gemaakt, je kan het detecteren bij een ping!",
|
"createdDescription":"Je ticket is gemaakt, je kan het detecteren bij een ping!",
|
||||||
|
|
||||||
"newTicketDmTitle":"Nieuw Ticket!",
|
"newTicketDmTitle":"Nieuw Ticket!",
|
||||||
|
"closedTicketDmTitle":"Ticket Gesloten!",
|
||||||
|
"deletedTicketDmTitle":"Ticket Verwijderd!",
|
||||||
|
"closedTicketDmDescription":"Je ticket is gesloten!",
|
||||||
|
"deletedTicketDmDescription":"Je ticket is verwijderd!",
|
||||||
|
"reopenTicketDmTitle":"Ticket Heropend!",
|
||||||
|
"reopenTicketDmDescription":"Je ticket is heropend!",
|
||||||
"newTranscriptTitle":"Een nieuw transcript is hier!",
|
"newTranscriptTitle":"Een nieuw transcript is hier!",
|
||||||
"newTranscriptDescription":"Je kan het transcript vinden in het bestand hierboven!",
|
"newTranscriptDescription":"Je kan het transcript vinden in het bestand hierboven!",
|
||||||
"hereIsTheTranscript":"Hier is het transcript:",
|
"hereIsTheTranscript":"Hier is het transcript:",
|
||||||
|
|||||||
@@ -64,6 +64,12 @@
|
|||||||
"createdDescription":"Your ticket is created, you can detect it by a ping!",
|
"createdDescription":"Your ticket is created, you can detect it by a ping!",
|
||||||
|
|
||||||
"newTicketDmTitle":"New Ticket!",
|
"newTicketDmTitle":"New Ticket!",
|
||||||
|
"closedTicketDmTitle":"Ticket Closed!",
|
||||||
|
"deletedTicketDmTitle":"Ticket Deleted!",
|
||||||
|
"closedTicketDmDescription":"Your ticket is closed!",
|
||||||
|
"deletedTicketDmDescription":"Your ticket is deleted!",
|
||||||
|
"reopenTicketDmTitle":"Ticket Re-opened!",
|
||||||
|
"reopenTicketDmDescription":"Your ticket is re-opened!",
|
||||||
"newTranscriptTitle":"A new transcript is here!",
|
"newTranscriptTitle":"A new transcript is here!",
|
||||||
"newTranscriptDescription":"You can find the transcript in the text file above!",
|
"newTranscriptDescription":"You can find the transcript in the text file above!",
|
||||||
"hereIsTheTranscript":"Here is the transcript:",
|
"hereIsTheTranscript":"Here is the transcript:",
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"header1":"**Deschide {0} pentru a creea un ticket!**\n\n",
|
"header1":"**Deschide {0} pentru a creea un ticket!**\n\n",
|
||||||
"header2":"**Ruleaza comanda `/new` ori `/ticket` pentru a creea un ticket!**\n\n",
|
"header2":"**Ruleaza comanda `/new` ori `/ticket` pentru a creea un ticket!**\n\n",
|
||||||
|
|
||||||
"msgCmd":"Afiseaza embed-ul cu tickete. (admins only)",
|
"msgCmd":"Afiseaza embed-ul cu tickete. (doar administratorii)",
|
||||||
"renameCmd":"Redenumeste un ticket. (no spaces)",
|
"renameCmd":"Redenumeste un ticket. (fara spatii)",
|
||||||
"closeCmd":"Redenumeste un ticket ticket.",
|
"closeCmd":"Redenumeste un ticket ticket.",
|
||||||
"deleteCmd":"Sterge un ticket a ticket.",
|
"deleteCmd":"Sterge un ticket a ticket.",
|
||||||
"addCmd":"adauga un utilizator la ticket.",
|
"addCmd":"adauga un utilizator la ticket.",
|
||||||
@@ -64,6 +64,12 @@
|
|||||||
"createdDescription":"Ticket-ul tau a fost creat, il poti vedea dupa mentionarea ta!",
|
"createdDescription":"Ticket-ul tau a fost creat, il poti vedea dupa mentionarea ta!",
|
||||||
|
|
||||||
"newTicketDmTitle":"Ticket Nou!",
|
"newTicketDmTitle":"Ticket Nou!",
|
||||||
|
"closedTicketDmTitle":"Ticket închis!",
|
||||||
|
"deletedTicketDmTitle":"Ticket șters!",
|
||||||
|
"closedTicketDmDescription":"Ticket-ul tau este închis!",
|
||||||
|
"deletedTicketDmDescription":"Ticket-ul tau este șters!",
|
||||||
|
"reopenTicketDmTitle":"Ticket Re-deschis!",
|
||||||
|
"reopenTicketDmDescription":"Ticket-ul tau este re-deschis!",
|
||||||
"newTranscriptTitle":"O noua copie a ticket-ului este aici!",
|
"newTranscriptTitle":"O noua copie a ticket-ului este aici!",
|
||||||
"newTranscriptDescription":"Poti vedea copia ticket-ului in fisierul .txt de mai sus!",
|
"newTranscriptDescription":"Poti vedea copia ticket-ului in fisierul .txt de mai sus!",
|
||||||
"hereIsTheTranscript":"Aceasta este copia ticket-ului:",
|
"hereIsTheTranscript":"Aceasta este copia ticket-ului:",
|
||||||
|
|||||||
Reference in New Issue
Block a user