v3.2.2 push 1
This commit is contained in:
+9
-7
@@ -1,11 +1,11 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
package-lock.json
|
package-lock.json
|
||||||
devConfig.json
|
devconfig.json
|
||||||
devConfig1.json
|
devconfig1.json
|
||||||
devConfig2.json
|
devconfig2.json
|
||||||
devConfig3.json
|
devconfig3.json
|
||||||
devConfig4.json
|
devconfig4.json
|
||||||
devConfig5.json
|
devconfig5.json
|
||||||
.DS_Store
|
.DS_Store
|
||||||
openticketdebug.txt
|
openticketdebug.txt
|
||||||
developerChangelog.md
|
developerChangelog.md
|
||||||
@@ -17,4 +17,6 @@ storage/.DS_Store
|
|||||||
.vscode/
|
.vscode/
|
||||||
livestatus.json
|
livestatus.json
|
||||||
test.js
|
test.js
|
||||||
devtsconfig.json
|
devtsconfig.json
|
||||||
|
plugins/*
|
||||||
|
!plugins/example.plugin.js
|
||||||
@@ -47,7 +47,6 @@ Translators
|
|||||||
|--------------|-------------------------|
|
|--------------|-------------------------|
|
||||||
|Dutch |DJj123dj#1706 |
|
|Dutch |DJj123dj#1706 |
|
||||||
|Romanian |Sanke#6086 |
|
|Romanian |Sanke#6086 |
|
||||||
|Russian |Apexo#0723 |
|
|
||||||
|French |Sanke#6086 |
|
|French |Sanke#6086 |
|
||||||
|Spanish |Redactado#1673 & josuens14#5267|
|
|Spanish |Redactado#1673 & josuens14#5267|
|
||||||
|German |david.#8276 |
|
|German |david.#8276 |
|
||||||
@@ -55,7 +54,8 @@ Translators
|
|||||||
|Czech |t0miiis#3022 |
|
|Czech |t0miiis#3022 |
|
||||||
|Arabic |ChilledBroke#9986 & M4#5882|
|
|Arabic |ChilledBroke#9986 & M4#5882|
|
||||||
|Danish |the_gamer#5095 |
|
|Danish |the_gamer#5095 |
|
||||||
|Portuguese |*unknown* |
|
|Portuguese |QuirAddon#9778 |
|
||||||
|
|Russian |Apexo#0723 |
|
||||||
|
|
||||||
## links
|
## links
|
||||||
current version: _v3.2.2_
|
current version: _v3.2.2_
|
||||||
|
|||||||
+4
-3
@@ -18,12 +18,13 @@
|
|||||||
"enable_DM_Messages":true,
|
"enable_DM_Messages":true,
|
||||||
|
|
||||||
"has@everyoneaccess":false,
|
"has@everyoneaccess":false,
|
||||||
"member_role":"member role (doesn't have access to tickets)",
|
"member_role":"member role (this role doesn't have access to tickets)",
|
||||||
"closeMode":"adminonly|normal",
|
"closeMode":"adminonly or normal (select one of the 2)",
|
||||||
|
|
||||||
"transcripts":"!!!! ALL SETTINGS FOR TRANSCRIPTS ARE LOCATED IN: transcriptconfig.json !!!!",
|
"transcripts":"!!!! ALL SETTINGS FOR TRANSCRIPTS ARE LOCATED IN: transcriptconfig.json !!!!",
|
||||||
|
|
||||||
"showSlashcmdsInHelp":false
|
"showSlashcmdsInHelp":false,
|
||||||
|
"answerInEphemeralOnOpen":true
|
||||||
},
|
},
|
||||||
|
|
||||||
"options":[
|
"options":[
|
||||||
|
|||||||
+2
-2
@@ -5,7 +5,7 @@ exports.checker = async () => {
|
|||||||
if (process.argv.some((v) => v == "--devconfig")){
|
if (process.argv.some((v) => v == "--devconfig")){
|
||||||
//console.log(chalk.blue("=> used dev config instead of normal config"))
|
//console.log(chalk.blue("=> used dev config instead of normal config"))
|
||||||
try{
|
try{
|
||||||
var tempconfig = require("../devConfig.json")
|
var tempconfig = require("../devconfig.json")
|
||||||
}catch(err){console.log(err);var tempconfig = require("../config.json")}
|
}catch(err){console.log(err);var tempconfig = require("../config.json")}
|
||||||
}else{
|
}else{
|
||||||
var tempconfig = require("../config.json")
|
var tempconfig = require("../config.json")
|
||||||
@@ -404,7 +404,7 @@ exports.checker = async () => {
|
|||||||
checkType(config.languagefile,"string","languagefile")
|
checkType(config.languagefile,"string","languagefile")
|
||||||
const lf = config.languagefile
|
const lf = config.languagefile
|
||||||
|
|
||||||
if (!lf.startsWith("custom") && !lf.startsWith("english") && !lf.startsWith("dutch") && !lf.startsWith("romanian") && !lf.startsWith("german") && !lf.startsWith("arabic") && !lf.startsWith("spanish") && !lf.startsWith("portuguese") && !lf.startsWith("french") && !lf.startsWith("italian") && !lf.startsWith("czech") && !lf.startsWith("danish")){
|
if (!lf.startsWith("custom") && !lf.startsWith("english") && !lf.startsWith("dutch") && !lf.startsWith("romanian") && !lf.startsWith("german") && !lf.startsWith("arabic") && !lf.startsWith("spanish") && !lf.startsWith("portuguese") && !lf.startsWith("french") && !lf.startsWith("italian") && !lf.startsWith("czech") && !lf.startsWith("danish") && !lf.startsWith("russian")){
|
||||||
createError("'languagefile' | invalid language, more info in the wiki")
|
createError("'languagefile' | invalid language, more info in the wiki")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+4
-13
@@ -1,23 +1,14 @@
|
|||||||
const index = require("../index")
|
const index = require("../index")
|
||||||
|
|
||||||
if (index.developerConfig){
|
if (index.developerConfig){
|
||||||
var config = require("../devConfig.json")
|
var config = require("../devconfig.json")
|
||||||
}else{var config = require("../config.json")}
|
}else{var config = require("../config.json")}
|
||||||
|
|
||||||
|
|
||||||
var localLanguage = require("../language/english.json")
|
var localLanguage = require("../language/english.json")
|
||||||
if (config.languagefile.startsWith("custom")) localLanguage = require("../language/custom.json")
|
const fs = require("fs")
|
||||||
else if (config.languagefile.startsWith("dutch")) localLanguage = require("../language/dutch.json")
|
const lfexists = fs.existsSync("./language/"+config.languagefile+".json")
|
||||||
else if (config.languagefile.startsWith("english")) localLanguage = require("../language/english.json")
|
if (lfexists) localLanguage = require("../language/"+config.languagefile+".json")
|
||||||
else if (config.languagefile.startsWith("german")) localLanguage = require("../language/german.json")
|
|
||||||
else if (config.languagefile.startsWith("french")) localLanguage = require("../language/french.json")
|
|
||||||
else if (config.languagefile.startsWith("romanian")) localLanguage = require("../language/romanian.json")
|
|
||||||
else if (config.languagefile.startsWith("arabic")) localLanguage = require("../language/arabic.json")
|
|
||||||
else if (config.languagefile.startsWith("spanish")) localLanguage = require("../language/spanish.json")
|
|
||||||
else if (config.languagefile.startsWith("portuguese")) localLanguage = require("../language/portuguese.json")
|
|
||||||
else if (config.languagefile.startsWith("italian")) localLanguage = require("../language/italian.json")
|
|
||||||
else if (config.languagefile.startsWith("danish")) localLanguage = require("../language/danish.json")
|
|
||||||
|
|
||||||
|
|
||||||
const errorLog = async () => {
|
const errorLog = async () => {
|
||||||
const chalk = await (await import("chalk")).default
|
const chalk = await (await import("chalk")).default
|
||||||
|
|||||||
@@ -239,12 +239,37 @@ exports.NEWcloseTicket = async (member,channel,prefix,mode,reason,nomessage) =>
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param {discord.TextChannel} channel
|
||||||
|
* @param {Number} limit
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
const getmessages = async (channel,limit) => {
|
||||||
|
const final = []
|
||||||
|
var lastId = ""
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
const options = {limit:100}
|
||||||
|
if (lastId) options.before = lastId
|
||||||
|
|
||||||
|
const messages = await channel.messages.fetch(options)
|
||||||
|
messages.forEach(msg => {final.push(msg)})
|
||||||
|
lastId = messages.last().id
|
||||||
|
|
||||||
|
if (messages.size != 100 || final >= limit) {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return final
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
const transcriptHandler = async () => {
|
const transcriptHandler = async () => {
|
||||||
if (!bot.tsconfig.sendTranscripts.enableChannel && !bot.tsconfig.sendTranscripts.enableDM) return false
|
if (!bot.tsconfig.sendTranscripts.enableChannel && !bot.tsconfig.sendTranscripts.enableDM) return false
|
||||||
|
|
||||||
const APIEvents = require("../api/modules/events")
|
const APIEvents = require("../api/modules/events")
|
||||||
const messages = await channel.messages.fetch({cache:true})
|
const messages = await getmessages(channel,5000)
|
||||||
await require("../transcriptSystem/manager")(messages,guild,channel,user,reason)
|
await require("../transcriptSystem/manager")(messages,guild,channel,user,reason)
|
||||||
APIEvents.onTranscriptCreation(messages,channel,guild,new Date())
|
APIEvents.onTranscriptCreation(messages,channel,guild,new Date())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,10 +53,10 @@ module.exports = () => {
|
|||||||
|
|
||||||
if (interaction.isButton()){
|
if (interaction.isButton()){
|
||||||
try {
|
try {
|
||||||
interaction.deferUpdate()
|
if (config.system.answerInEphemeralOnOpen) interaction.deferReply({ephemeral:true})
|
||||||
} catch{}
|
} catch{}
|
||||||
}else if (interaction.isChatInputCommand()){
|
}else if (interaction.isChatInputCommand()){
|
||||||
interaction.reply({embeds:[bot.errorLog.success(l.messages.createdTitle,l.messages.createdDescription)]})
|
interaction.deferReply({ephemeral:config.system.answerInEphemeralOnOpen})
|
||||||
}else if (interaction.isStringSelectMenu()){
|
}else if (interaction.isStringSelectMenu()){
|
||||||
try {
|
try {
|
||||||
interaction.deferUpdate()
|
interaction.deferUpdate()
|
||||||
@@ -65,14 +65,6 @@ module.exports = () => {
|
|||||||
|
|
||||||
if (storage.get("ticketStorage",interaction.member.id) == null || storage.get("ticketStorage",interaction.member.id) == "false"|| Number(storage.get("ticketStorage",interaction.member.id)) < config.system.max_allowed_tickets){
|
if (storage.get("ticketStorage",interaction.member.id) == null || storage.get("ticketStorage",interaction.member.id) == "false"|| Number(storage.get("ticketStorage",interaction.member.id)) < config.system.max_allowed_tickets){
|
||||||
|
|
||||||
try{
|
|
||||||
if (currentTicketOptions.enableDmOnOpen){
|
|
||||||
interaction.member.send({embeds:[bot.errorLog.custom(l.messages.newTicketDmTitle,currentTicketOptions.message,":ticket:",config.main_color)]})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch{log("system","can't send DM to member, member doesn't allow dm's")}
|
|
||||||
|
|
||||||
|
|
||||||
//update storage
|
//update storage
|
||||||
storage.set("ticketStorage",interaction.member.id,Number(storage.get("ticketStorage",interaction.member.id))+1)
|
storage.set("ticketStorage",interaction.member.id,Number(storage.get("ticketStorage",interaction.member.id))+1)
|
||||||
var ticketNumber = interaction.member.user.username
|
var ticketNumber = interaction.member.user.username
|
||||||
@@ -205,6 +197,24 @@ module.exports = () => {
|
|||||||
|
|
||||||
log("system","created new ticket",[{key:"ticket",value:ticketName},{key:"user",value:interaction.user.tag}])
|
log("system","created new ticket",[{key:"ticket",value:ticketName},{key:"user",value:interaction.user.tag}])
|
||||||
require("../api/modules/events").onTicketOpen(interaction.user,ticketChannel,interaction.guild,new Date(),{name:ticketName,status:"open",ticketOptions:currentTicketOptions})
|
require("../api/modules/events").onTicketOpen(interaction.user,ticketChannel,interaction.guild,new Date(),{name:ticketName,status:"open",ticketOptions:currentTicketOptions})
|
||||||
|
|
||||||
|
const channelbutton = new discord.ActionRowBuilder()
|
||||||
|
.addComponents([
|
||||||
|
new discord.ButtonBuilder()
|
||||||
|
.setStyle(discord.ButtonStyle.Link)
|
||||||
|
.setDisabled(false)
|
||||||
|
.setEmoji("🎫")
|
||||||
|
.setLabel("go to ticket")
|
||||||
|
.setURL(ticketChannel.url)
|
||||||
|
])
|
||||||
|
|
||||||
|
try{
|
||||||
|
if (currentTicketOptions.enableDmOnOpen) interaction.member.send({embeds:[bot.errorLog.custom(l.messages.newTicketDmTitle,currentTicketOptions.message,":ticket:",config.main_color)],components:[channelbutton]})
|
||||||
|
}
|
||||||
|
catch{log("system","failed to send DM")}
|
||||||
|
|
||||||
|
if ((interaction.isButton() && config.system.answerInEphemeralOnOpen) || interaction.isChatInputCommand()) interaction.editReply({embeds:[bot.errorLog.success(l.messages.createdTitle,l.messages.createdDescription)],components:[channelbutton]})
|
||||||
|
|
||||||
})
|
})
|
||||||
}else{
|
}else{
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ module.exports = async (messages,guild,channel,user,reason) => {
|
|||||||
if (!user) return
|
if (!user) return
|
||||||
const embed = tsembeds.tsready(chName,chId,url,user)
|
const embed = tsembeds.tsready(chName,chId,url,user)
|
||||||
try {
|
try {
|
||||||
user.send({embeds:[embed]})
|
ticketopener.send({embeds:[embed]})
|
||||||
}catch{}
|
}catch{}
|
||||||
}
|
}
|
||||||
},duration)
|
},duration)
|
||||||
|
|||||||
@@ -1,13 +1,46 @@
|
|||||||
// __________ __________ ___________ ____ ____
|
/**
|
||||||
// / ____ \ / ______ \ / | | \ | |
|
____ _____ ______ _ _ _______ _____ _____ _ ________ _______
|
||||||
// | / \ | | | | | | |_______| | \ | |
|
/ __ \| __ \| ____| \ | | |__ __|_ _/ ____| |/ / ____|__ __|
|
||||||
// | | | | | |____| | | | | |\ \ | |
|
| | | | |__) | |__ | \| | | | | || | | ' /| |__ | |
|
||||||
// | | | | | ________/ | |______ | | \ \ | |
|
| | | | ___/| __| | . ` | | | | || | | < | __| | |
|
||||||
// | | | | | | | _____| | | \ \ | |
|
| |__| | | | |____| |\ | | | _| || |____| . \| |____ | |
|
||||||
// | | | | | | | | | | \ \ | |
|
\____/|_| |______|_| \_| |_| |_____\_____|_|\_\______| |_|
|
||||||
// | | | | | | | |________ | | \ \| |
|
|
||||||
// | \____/ | | | | | | | \ |
|
Hey! we are looking for you!
|
||||||
// \__________/ |__| \__________| |__| \___|
|
Do you speak a language that isn't yet in our /languages directory
|
||||||
|
or do you speak one that isn't up-to-date? Open Ticket needs
|
||||||
|
translators for lots of different languages!
|
||||||
|
Feel free to join our translator team and help us improve Open Ticket!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SUGGESTING NEW FEATURES:
|
||||||
|
=====================
|
||||||
|
Open Ticket is a community project. This means that
|
||||||
|
almost all feature ideas come from our community.
|
||||||
|
Are you missing something you want in open ticket?
|
||||||
|
Then join our Discord server and we will add it (if possible)
|
||||||
|
|
||||||
|
Did you know that 80% of all features in OT were ideas from our community?
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
INFORMATION:
|
||||||
|
============
|
||||||
|
Open Ticket v3.2.2 - © DJdj Development
|
||||||
|
|
||||||
|
discord: https://discord.dj-dj.be
|
||||||
|
website: https://www.dj-dj.be
|
||||||
|
github: https://openticket.dj-dj.be
|
||||||
|
support e-mail: support@dj-dj.be
|
||||||
|
|
||||||
|
Config files:
|
||||||
|
./config.json
|
||||||
|
./transcriptconfig.json
|
||||||
|
|
||||||
|
Send ./openticketdebug.txt when there are errors!
|
||||||
|
*/
|
||||||
|
|
||||||
const discord = require("discord.js")
|
const discord = require("discord.js")
|
||||||
const fs = require('fs')
|
const fs = require('fs')
|
||||||
@@ -45,7 +78,7 @@ if (process.argv.some((v) => v == "--devconfig")){
|
|||||||
}; logFLAGS()
|
}; logFLAGS()
|
||||||
isDevConfig = true
|
isDevConfig = true
|
||||||
try{
|
try{
|
||||||
tempconfig = require("./devConfig.json")
|
tempconfig = require("./devconfig.json")
|
||||||
}catch{tempconfig = require("./config.json")}
|
}catch{tempconfig = require("./config.json")}
|
||||||
}else{
|
}else{
|
||||||
tempconfig = require("./config.json")
|
tempconfig = require("./config.json")
|
||||||
|
|||||||
Reference in New Issue
Block a user