v3.3 push 5

This commit is contained in:
DJj123dj
2023-03-16 20:58:08 +01:00
parent f67af805c1
commit 67d429c52b
8 changed files with 278 additions and 42 deletions
+6 -24
View File
@@ -32,6 +32,12 @@ exports.getOption = getOption
* @returns {discord.ButtonBuilder|false}
*/
exports.getButton = (id) => {
bot.actionRecorder.push({
category:"ot.managers.utils",
file:"./core/utils/getButton.js",
time:new Date().getTime(),
type:"getbutton"
})
const option = getOption(id)
if (!option) return false
if (option.type == "ticket"){
@@ -67,28 +73,4 @@ exports.getButton = (id) => {
}
return button
}
exports.rawButtonData = class {
constructor() {
this.id = ""
this.name = ""
this.description = ""
this.icon = ""
this.label = ""
this.type = ""
this.color = ""
this.enableDmOnOpen = true
this.url = ""
this.roles = ["",""]
this.mode = ""
this.adminroles = ["",""]
this.channelprefix = ""
this.category = ""
this.message = ""
this.ticketmessage = ""
}
}
+9 -3
View File
@@ -11,6 +11,12 @@ const configParser = require("./configParser")
* @returns {discord.StringSelectMenuBuilder|false}
*/
exports.getDropdown = (ids,placeholder) => {
bot.actionRecorder.push({
category:"ot.managers.utils",
file:"./core/utils/getDropdown.js",
time:new Date().getTime(),
type:"getdropdown"
})
const dropdown = new discord.StringSelectMenuBuilder()
.setCustomId("OTdropdownMenu")
.setDisabled(false)
@@ -18,7 +24,7 @@ exports.getDropdown = (ids,placeholder) => {
.setMinValues(1)
.setPlaceholder(placeholder || l.messages.chooseATicket)
.addOptions(
new discord.SelectMenuOptionBuilder()
new discord.StringSelectMenuBuilder()
.setDefault(true)
.setLabel(placeholder || l.messages.chooseATicket)
.setValue("OTChooseTicket")
@@ -28,7 +34,7 @@ exports.getDropdown = (ids,placeholder) => {
const option = configParser.getTicketById(id,true)
const roleoption = configParser.getRoleById(id,true)
if (option){
const selectComponent = new discord.SelectMenuOptionBuilder()
const selectComponent = new discord.StringSelectMenuOptionBuilder()
.setDefault(false)
.setValue("OTnewT"+option.id)
@@ -43,7 +49,7 @@ exports.getDropdown = (ids,placeholder) => {
dropdown.addOptions(selectComponent)
}else if (roleoption){
const selectComponent = new discord.SelectMenuOptionBuilder()
const selectComponent = new discord.StringSelectMenuOptionBuilder()
.setDefault(false)
.setValue("OTnewR"+roleoption.id)
+7 -1
View File
@@ -14,12 +14,18 @@ const l = bot.language
exports.createEmbed = (id) => {
bot.actionRecorder.push({
category:"ot.managers.utils",
file:"./core/utils/getEmbed.js",
time:new Date().getTime(),
type:"getembed"
})
//-----------------------------------
//general importing
const data = require("./configParser").getConfigMessage(id)
/**@type {discord.ButtonBuilder[]}*/
var buttons = []
/**@type {getButton.rawButtonData[]} */
/**@type {import('./configParser').OTAllOptions[]} */
var buttonData = []
data.options.forEach((option) => {
+54 -4
View File
@@ -4,6 +4,7 @@ const client = bot.client
const config = bot.config
const log = bot.errorLog.log
const axios = require("axios").default
const fs = require("fs")
const loadChalk = async () => {
return await (await import("chalk")).default
@@ -15,6 +16,19 @@ const loadChalk = async () => {
//OTLiveStatusError
/**@typedef {{bot:{id:String,pfp:String,name:String}, openticket:{version:String,language:String, slashcmds:Boolean,transcripts:false|"text"|"html",config:{system:{},options:{},messages:{},transcripts:{}},plugins:String[],pluginload:{success:Number,error:Number,total:Number}}, details:{actions:[{type:String,category:String,file:String,time:Number}],errortime:Number}, error:String}} OTLiveStatusError */
/**@type {[{type:String, category:String, file:String, time:Number}]} */
exports.actionRecorder = []
//================================================================
//=========================FUNCTIONS==============================
//================================================================
const getSlashEnabled = () => {
if (!fs.existsSync("./storage/slashcmdEnabled.txt")) return false
if (fs.readFileSync("./storage/slashcmdEnabled.txt").toString() == require("../../package.json").version){
return true
}else return false
}
/**
* @param {Boolean} [local=false]
@@ -68,8 +82,9 @@ exports.run = async (pluginData) => {
var tsmode = bot.tsconfig.sendTranscripts.useHTMLtranscripts ? "html" : "text"
const isTranscript = (a.transcripts.includes("html") && tsmode == "html" && tsenabled) || (a.transcripts.includes("text") && tsmode == "text" && tsenabled) || (a.transcripts.includes("both") && tsenabled)
const isPlugins = (a.usingPlugins.includes("yes") && pluginData.total > 0) || (a.usingPlugins.includes("no") && pluginData.total == 0) || (a.usingPlugins.includes("both"))
const isSlashCMD = (a.usingSlashCommands.includes("yes") && getSlashEnabled()) || (a.usingSlashCommands.includes("no") && !getSlashEnabled()) || (a.usingSlashCommands.includes("both"))
if (!isLanguage || !isVersion || !isTranscript || !isPlugins) return
if (!isLanguage || !isVersion || !isTranscript || !isPlugins || !isSlashCMD) return
announcement.style.forEach((s) => activeStyles.push(s))
})
const final = []
@@ -136,8 +151,43 @@ const uploadLiveStatus = (options) => {
})
}
/**@param {String} err */
const liveStatusUploadManager = (err) => {
//use globalPluginData for (some) plugin details
/**@param {String} err @returns {Promise<Boolean>}*/
exports.liveStatusUploadManager = async (err) => {
return new Promise(async (resolve) => {
//use globalPluginData for (some) plugin details
var tsenabled = (bot.tsconfig.sendTranscripts.enableChannel || bot.tsconfig.sendTranscripts.enableDM)
var tsmode = bot.tsconfig.sendTranscripts.useHTMLtranscripts ? "html" : "text"
const transcriptMode = tsenabled ? tsmode : false
const slashMode = getSlashEnabled()
try {
resolve(await uploadLiveStatus({
bot:{
id:client.user.id,
name:client.user.tag,
pfp:client.user.displayAvatarURL()
},
error:err,
openticket:{
config:{
messages:config.messages,
options:config.options,
transcripts:bot.tsconfig,
system:config.system
},
language:config.languageFile,
version:require("../../package.json").version,
slashcmds:slashMode,
transcripts:transcriptMode,
plugins:fs.readdirSync("./plugins"),
pluginload:globalPluginData
},
details:{
errortime:new Date().getTime(),
actions:this.actionRecorder
}
}))
}catch{resolve(false)}
})
}
+42
View File
@@ -13,6 +13,12 @@ const storage = bot.storage
* @returns {Boolean} has permissions?
*/
exports.command = (memberid,guildid) => {
bot.actionRecorder.push({
category:"ot.managers.permissionChecker",
file:"./core/permissionChecker.js",
time:new Date().getTime(),
type:"command"
})
const permsmember = client.guilds.cache.find(g => g.id == guildid).members.cache.find(m => m.id == memberid)
if (config.adminRoles.some((item)=>{return permsmember.roles.cache.has(item)}) == false && !permsmember.permissions.has("Administrator") && !permsmember.permissions.has("ManageGuild")){
return false
@@ -25,6 +31,12 @@ exports.command = (memberid,guildid) => {
* @returns {Boolean}
*/
exports.sendUserNoPerms = (user) => {
bot.actionRecorder.push({
category:"ot.managers.permissionChecker",
file:"./core/permissionChecker.js",
time:new Date().getTime(),
type:"sendusernoperms"
})
try {
user.send({embeds:[bot.errorLog.noPermsMessage(user)]})
return true
@@ -39,6 +51,12 @@ exports.sendUserNoPerms = (user) => {
* @returns {Boolean}
*/
exports.sendUserNoTicket = (user) => {
bot.actionRecorder.push({
category:"ot.managers.permissionChecker",
file:"./core/permissionChecker.js",
time:new Date().getTime(),
type:"sendusernoticket"
})
try {
user.send({embeds:[bot.errorLog.notInATicket]})
return true
@@ -53,6 +71,12 @@ exports.sendUserNoPerms = (user) => {
* @returns {Boolean}
*/
exports.sendUserNoDelete = (user) => {
bot.actionRecorder.push({
category:"ot.managers.permissionChecker",
file:"./core/permissionChecker.js",
time:new Date().getTime(),
type:"sendusernodelete"
})
try {
user.send({embeds:[bot.errorLog.noPermsDelete(user)]})
return true
@@ -68,6 +92,12 @@ exports.sendUserNoPerms = (user) => {
* @returns {Boolean}
*/
exports.sendChannelNoPerms = (channel,user) => {
bot.actionRecorder.push({
category:"ot.managers.permissionChecker",
file:"./core/permissionChecker.js",
time:new Date().getTime(),
type:"sendchannelnoperms"
})
try {
channel.send({embeds:[bot.errorLog.noPermsMessage(user)]})
return true
@@ -83,6 +113,12 @@ exports.sendUserNoPerms = (user) => {
* @returns {Boolean}
*/
exports.sendChannelNoTicket = (channel,user) => {
bot.actionRecorder.push({
category:"ot.managers.permissionChecker",
file:"./core/permissionChecker.js",
time:new Date().getTime(),
type:"sendchannelnoticket"
})
try {
channel.send({embeds:[bot.errorLog.notInATicket]})
return true
@@ -98,6 +134,12 @@ exports.sendUserNoPerms = (user) => {
* @returns {Boolean}
*/
exports.sendChannelNoDelete = (channel,user) => {
bot.actionRecorder.push({
category:"ot.managers.permissionChecker",
file:"./core/permissionChecker.js",
time:new Date().getTime(),
type:"sendchannelnodelete"
})
try {
channel.send({embeds:[bot.errorLog.noPermsDelete(user)]})
return true