Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ddae7b5e46 | ||
|
|
32c9a6b4f3 | ||
|
|
0ad24ba89f | ||
|
|
5412416166 | ||
|
|
78a937d4e9 | ||
|
|
5b45dc265b | ||
|
|
4b210fe793 | ||
|
|
8891320bdf | ||
|
|
8ccfd5c4eb | ||
|
|
44074004e4 | ||
|
|
2f1c885b4f | ||
|
|
c94867280d | ||
|
|
138f7fa2bb | ||
|
|
465eda1c24 | ||
|
|
c821e7dd6d | ||
|
|
f9ce496cc5 | ||
|
|
3989fb5f76 | ||
|
|
779efca39a | ||
|
|
4976aa3d45 | ||
|
|
9cdff2c1de | ||
|
|
2e29947ba5 | ||
|
|
0aa3dca63b | ||
|
|
90851f881d | ||
|
|
b972c97871 | ||
|
|
db94f226fb | ||
|
|
6a4f40d862 | ||
|
|
1f402a848e | ||
|
|
24d98aeaeb | ||
|
|
b95b8f239e | ||
|
|
488b5fce53 | ||
|
|
c2117a67ed | ||
|
|
d31be1bb57 | ||
|
|
76095bea30 | ||
|
|
da962c6c2e | ||
|
|
a89d5c2149 | ||
|
|
7d5313c77e | ||
|
|
16f1be32a3 | ||
|
|
e1a6feea6e | ||
|
|
9668851a82 | ||
|
|
68d6a2df3f | ||
|
|
f835850b3f | ||
|
|
f7fa0998b6 | ||
|
|
4416736947 | ||
|
|
5494c1ad8f | ||
|
|
4147658575 | ||
|
|
f7cda48ed6 | ||
|
|
4b485adf82 | ||
|
|
e55438cc67 | ||
|
|
c7b44232c4 | ||
|
|
68a8170570 | ||
|
|
34ed4edede | ||
|
|
a40a9b8be8 | ||
|
|
e8f96ef84f | ||
|
|
8413d3c2b7 | ||
|
|
30b6ab4df6 | ||
|
|
2aef855902 | ||
|
|
4aacdd1607 | ||
|
|
d66925a450 | ||
|
|
d2cd6be513 | ||
|
|
30a0a6c503 | ||
|
|
72f84b2566 | ||
|
|
6ce017b407 | ||
|
|
415330be21 | ||
|
|
21ce2921a1 | ||
|
|
b07252151b | ||
|
|
02d37dd177 | ||
|
|
706006e319 | ||
|
|
82f2aeaa90 | ||
|
|
793c6f0603 | ||
|
|
1ef74f0b6b | ||
|
|
337dc3827e | ||
|
|
810db76e91 | ||
|
|
f4f6f30fa2 | ||
|
|
8436b19cbf | ||
|
|
549c161830 | ||
|
|
adc2433216 | ||
|
|
6df3498cb5 | ||
|
|
8116d4d8dd | ||
|
|
e987c176b7 | ||
|
|
2ea38cd7a5 | ||
|
|
b2f2ef3405 | ||
|
|
c2e6f781b9 | ||
|
|
160f89c7cf | ||
|
|
51c4ae0229 | ||
|
|
2cc2ccc68e | ||
|
|
0a29e13640 | ||
|
|
31b94718f1 | ||
|
|
6ac993617e | ||
|
|
9f4999b89b | ||
|
|
dd3c159413 | ||
|
|
72627a7058 | ||
|
|
b683365126 | ||
|
|
03b3495eb2 | ||
|
|
af0dc879c6 | ||
|
|
c243d03216 | ||
|
|
f117943e00 | ||
|
|
951aff093a | ||
|
|
2acd185d6f | ||
|
|
2fbef46a53 | ||
|
|
8df13b0d36 | ||
|
|
b5dd7158df | ||
|
|
05919bb57e | ||
|
|
1d6572aa36 | ||
|
|
83080a6e4d | ||
|
|
35fdafb21d | ||
|
|
a0e03be103 | ||
|
|
d404f343e0 | ||
|
|
adf4acd443 | ||
|
|
fd739054fd | ||
|
|
2d1724893e | ||
|
|
7696202dec | ||
|
|
e36c1992de | ||
|
|
e73c8e9b3b | ||
|
|
ad623f9650 | ||
|
|
515b7e1ffc | ||
|
|
605173e788 | ||
|
|
e129724c12 | ||
|
|
49504bc3de | ||
|
|
f414fd77fc | ||
|
|
5dcbcbfabc | ||
|
|
6ec228df53 | ||
|
|
1f3894141a | ||
|
|
9253377766 | ||
|
|
30352b570a | ||
|
|
1fddad1e96 | ||
|
|
d545d21bb1 | ||
|
|
5f79ae909b | ||
|
|
831e120093 | ||
|
|
376fa23288 |
@@ -0,0 +1,649 @@
|
|||||||
|
//@ts-check
|
||||||
|
const fjs = require("formatted-json-stringify")
|
||||||
|
const fs = require("fs")
|
||||||
|
const formatter = new fjs.ObjectFormatter(null,true,[
|
||||||
|
new fjs.ObjectFormatter("_TRANSLATION",true,[
|
||||||
|
new fjs.PropertyFormatter("otversion"),
|
||||||
|
new fjs.ArrayFormatter("translators",false,new fjs.PropertyFormatter(null)),
|
||||||
|
new fjs.PropertyFormatter("lastedited"),
|
||||||
|
new fjs.PropertyFormatter("language"),
|
||||||
|
new fjs.PropertyFormatter("automated"),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("checker",true,[
|
||||||
|
new fjs.ObjectFormatter("system",true,[
|
||||||
|
new fjs.PropertyFormatter("typeError"),
|
||||||
|
new fjs.PropertyFormatter("headerOpenTicket"),
|
||||||
|
new fjs.PropertyFormatter("typeWarning"),
|
||||||
|
new fjs.PropertyFormatter("typeInfo"),
|
||||||
|
new fjs.PropertyFormatter("headerConfigChecker"),
|
||||||
|
new fjs.PropertyFormatter("headerDescription"),
|
||||||
|
new fjs.PropertyFormatter("footerError"),
|
||||||
|
new fjs.PropertyFormatter("footerWarning"),
|
||||||
|
new fjs.PropertyFormatter("footerSupport"),
|
||||||
|
new fjs.PropertyFormatter("compactInformation"),
|
||||||
|
new fjs.PropertyFormatter("dataPath"),
|
||||||
|
new fjs.PropertyFormatter("dataDocs"),
|
||||||
|
new fjs.PropertyFormatter("dataMessages"),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("messages",true,[
|
||||||
|
new fjs.PropertyFormatter("stringTooShort"),
|
||||||
|
new fjs.PropertyFormatter("stringTooLong"),
|
||||||
|
new fjs.PropertyFormatter("stringLengthInvalid"),
|
||||||
|
new fjs.PropertyFormatter("stringStartsWith"),
|
||||||
|
new fjs.PropertyFormatter("stringEndsWith"),
|
||||||
|
new fjs.PropertyFormatter("stringContains"),
|
||||||
|
new fjs.PropertyFormatter("stringChoices"),
|
||||||
|
new fjs.PropertyFormatter("stringRegex"),
|
||||||
|
|
||||||
|
new fjs.PropertyFormatter("stringInvertedContains"),
|
||||||
|
new fjs.PropertyFormatter("stringLowercase"),
|
||||||
|
new fjs.PropertyFormatter("stringUppercase"),
|
||||||
|
new fjs.PropertyFormatter("stringSpecialCharacters"),
|
||||||
|
new fjs.PropertyFormatter("stringNoSpaces"),
|
||||||
|
new fjs.PropertyFormatter("stringCapitalWord"),
|
||||||
|
new fjs.PropertyFormatter("stringCapitalSentence"),
|
||||||
|
new fjs.PropertyFormatter("stringPunctuation"),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("numberTooShort"),
|
||||||
|
new fjs.PropertyFormatter("numberTooLong"),
|
||||||
|
new fjs.PropertyFormatter("numberLengthInvalid"),
|
||||||
|
new fjs.PropertyFormatter("numberTooSmall"),
|
||||||
|
new fjs.PropertyFormatter("numberTooLarge"),
|
||||||
|
new fjs.PropertyFormatter("numberNotEqual"),
|
||||||
|
new fjs.PropertyFormatter("numberStep"),
|
||||||
|
new fjs.PropertyFormatter("numberStepOffset"),
|
||||||
|
new fjs.PropertyFormatter("numberStartsWith"),
|
||||||
|
new fjs.PropertyFormatter("numberEndsWith"),
|
||||||
|
new fjs.PropertyFormatter("numberContains"),
|
||||||
|
new fjs.PropertyFormatter("numberChoices"),
|
||||||
|
new fjs.PropertyFormatter("numberFloat"),
|
||||||
|
new fjs.PropertyFormatter("numberNegative"),
|
||||||
|
new fjs.PropertyFormatter("numberPositive"),
|
||||||
|
new fjs.PropertyFormatter("numberZero"),
|
||||||
|
new fjs.PropertyFormatter("numberNan"),
|
||||||
|
new fjs.PropertyFormatter("numberInvertedContains"),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("booleanTrue"),
|
||||||
|
new fjs.PropertyFormatter("booleanFalse"),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("arrayEmptyDisabled"),
|
||||||
|
new fjs.PropertyFormatter("arrayEmptyRequired"),
|
||||||
|
new fjs.PropertyFormatter("arrayTooShort"),
|
||||||
|
new fjs.PropertyFormatter("arrayTooLong"),
|
||||||
|
new fjs.PropertyFormatter("arrayLengthInvalid"),
|
||||||
|
new fjs.PropertyFormatter("arrayInvalidTypes"),
|
||||||
|
new fjs.PropertyFormatter("arrayDouble"),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("discordInvalidId"),
|
||||||
|
new fjs.PropertyFormatter("discordInvalidIdOptions"),
|
||||||
|
new fjs.PropertyFormatter("discordInvalidToken"),
|
||||||
|
new fjs.PropertyFormatter("colorInvalid"),
|
||||||
|
new fjs.PropertyFormatter("emojiTooShort"),
|
||||||
|
new fjs.PropertyFormatter("emojiTooLong"),
|
||||||
|
new fjs.PropertyFormatter("emojiCustom"),
|
||||||
|
new fjs.PropertyFormatter("emojiInvalid"),
|
||||||
|
new fjs.PropertyFormatter("urlInvalid"),
|
||||||
|
new fjs.PropertyFormatter("urlInvalidHttp"),
|
||||||
|
new fjs.PropertyFormatter("urlInvalidProtocol"),
|
||||||
|
new fjs.PropertyFormatter("urlInvalidHostname"),
|
||||||
|
new fjs.PropertyFormatter("urlInvalidExtension"),
|
||||||
|
new fjs.PropertyFormatter("urlInvalidPath"),
|
||||||
|
new fjs.PropertyFormatter("idNotUnique"),
|
||||||
|
new fjs.PropertyFormatter("idNonExistent"),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("invalidType"),
|
||||||
|
new fjs.PropertyFormatter("propertyMissing"),
|
||||||
|
new fjs.PropertyFormatter("propertyOptional"),
|
||||||
|
new fjs.PropertyFormatter("objectDisabled"),
|
||||||
|
new fjs.PropertyFormatter("nullInvalid"),
|
||||||
|
new fjs.PropertyFormatter("switchInvalidType"),
|
||||||
|
new fjs.PropertyFormatter("objectSwitchInvalid"),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("invalidLanguage"),
|
||||||
|
new fjs.PropertyFormatter("invalidButton"),
|
||||||
|
new fjs.PropertyFormatter("unusedOption"),
|
||||||
|
new fjs.PropertyFormatter("unusedQuestion"),
|
||||||
|
new fjs.PropertyFormatter("dropdownOption"),
|
||||||
|
new fjs.PropertyFormatter("customInvalidVersion"),
|
||||||
|
]),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("actions",true,[
|
||||||
|
new fjs.ObjectFormatter("buttons",true,[
|
||||||
|
new fjs.PropertyFormatter("create"),
|
||||||
|
new fjs.PropertyFormatter("close"),
|
||||||
|
new fjs.PropertyFormatter("delete"),
|
||||||
|
new fjs.PropertyFormatter("reopen"),
|
||||||
|
new fjs.PropertyFormatter("claim"),
|
||||||
|
new fjs.PropertyFormatter("unclaim"),
|
||||||
|
new fjs.PropertyFormatter("pin"),
|
||||||
|
new fjs.PropertyFormatter("unpin"),
|
||||||
|
new fjs.PropertyFormatter("clear"),
|
||||||
|
new fjs.PropertyFormatter("helpSwitchSlash"),
|
||||||
|
new fjs.PropertyFormatter("helpSwitchText"),
|
||||||
|
new fjs.PropertyFormatter("helpPage"),
|
||||||
|
new fjs.PropertyFormatter("withReason"),
|
||||||
|
new fjs.PropertyFormatter("withoutTranscript"),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("titles",true,[
|
||||||
|
new fjs.PropertyFormatter("created"),
|
||||||
|
new fjs.PropertyFormatter("close"),
|
||||||
|
new fjs.PropertyFormatter("delete"),
|
||||||
|
new fjs.PropertyFormatter("reopen"),
|
||||||
|
new fjs.PropertyFormatter("claim"),
|
||||||
|
new fjs.PropertyFormatter("unclaim"),
|
||||||
|
new fjs.PropertyFormatter("pin"),
|
||||||
|
new fjs.PropertyFormatter("unpin"),
|
||||||
|
new fjs.PropertyFormatter("rename"),
|
||||||
|
new fjs.PropertyFormatter("move"),
|
||||||
|
new fjs.PropertyFormatter("add"),
|
||||||
|
new fjs.PropertyFormatter("remove"),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("help"),
|
||||||
|
new fjs.PropertyFormatter("statsReset"),
|
||||||
|
new fjs.PropertyFormatter("blacklistAdd"),
|
||||||
|
new fjs.PropertyFormatter("blacklistRemove"),
|
||||||
|
new fjs.PropertyFormatter("blacklistGet"),
|
||||||
|
new fjs.PropertyFormatter("blacklistView"),
|
||||||
|
new fjs.PropertyFormatter("blacklistAddDm"),
|
||||||
|
new fjs.PropertyFormatter("blacklistRemoveDm"),
|
||||||
|
new fjs.PropertyFormatter("clear"),
|
||||||
|
new fjs.PropertyFormatter("clearTickets"),
|
||||||
|
new fjs.PropertyFormatter("roles"),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("autoclose"),
|
||||||
|
new fjs.PropertyFormatter("autocloseEnabled"),
|
||||||
|
new fjs.PropertyFormatter("autocloseDisabled"),
|
||||||
|
new fjs.PropertyFormatter("autodelete"),
|
||||||
|
new fjs.PropertyFormatter("autodeleteEnabled"),
|
||||||
|
new fjs.PropertyFormatter("autodeleteDisabled"),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("topicSet"),
|
||||||
|
new fjs.PropertyFormatter("prioritySet"),
|
||||||
|
new fjs.PropertyFormatter("priorityGet"),
|
||||||
|
new fjs.PropertyFormatter("transfer"),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("descriptions",true,[
|
||||||
|
new fjs.PropertyFormatter("create"),
|
||||||
|
new fjs.PropertyFormatter("close"),
|
||||||
|
new fjs.PropertyFormatter("delete"),
|
||||||
|
new fjs.PropertyFormatter("reopen"),
|
||||||
|
new fjs.PropertyFormatter("claim"),
|
||||||
|
new fjs.PropertyFormatter("unclaim"),
|
||||||
|
new fjs.PropertyFormatter("pin"),
|
||||||
|
new fjs.PropertyFormatter("unpin"),
|
||||||
|
new fjs.PropertyFormatter("rename"),
|
||||||
|
new fjs.PropertyFormatter("move"),
|
||||||
|
new fjs.PropertyFormatter("add"),
|
||||||
|
new fjs.PropertyFormatter("remove"),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("helpExplanation"),
|
||||||
|
new fjs.PropertyFormatter("statsReset"),
|
||||||
|
new fjs.PropertyFormatter("statsError"),
|
||||||
|
new fjs.PropertyFormatter("blacklistAdd"),
|
||||||
|
new fjs.PropertyFormatter("blacklistRemove"),
|
||||||
|
new fjs.PropertyFormatter("blacklistGetSuccess"),
|
||||||
|
new fjs.PropertyFormatter("blacklistGetEmpty"),
|
||||||
|
new fjs.PropertyFormatter("blacklistViewEmpty"),
|
||||||
|
new fjs.PropertyFormatter("blacklistViewTip"),
|
||||||
|
new fjs.PropertyFormatter("clearVerify"),
|
||||||
|
new fjs.PropertyFormatter("clearReady"),
|
||||||
|
new fjs.PropertyFormatter("rolesEmpty"),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("autocloseLeave"),
|
||||||
|
new fjs.PropertyFormatter("autocloseTimeout"),
|
||||||
|
new fjs.PropertyFormatter("autodeleteLeave"),
|
||||||
|
new fjs.PropertyFormatter("autodeleteTimeout"),
|
||||||
|
new fjs.PropertyFormatter("autocloseEnabled"),
|
||||||
|
new fjs.PropertyFormatter("autocloseDisabled"),
|
||||||
|
new fjs.PropertyFormatter("autodeleteEnabled"),
|
||||||
|
new fjs.PropertyFormatter("autodeleteDisabled"),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("ticketMessageLimit"),
|
||||||
|
new fjs.PropertyFormatter("ticketMessageAutoclose"),
|
||||||
|
new fjs.PropertyFormatter("ticketMessageAutodelete"),
|
||||||
|
new fjs.PropertyFormatter("panelReady"),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("topicSet"),
|
||||||
|
new fjs.PropertyFormatter("prioritySet"),
|
||||||
|
new fjs.PropertyFormatter("priorityGet"),
|
||||||
|
new fjs.PropertyFormatter("transfer"),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("modal",true,[
|
||||||
|
new fjs.PropertyFormatter("closePlaceholder"),
|
||||||
|
new fjs.PropertyFormatter("deletePlaceholder"),
|
||||||
|
new fjs.PropertyFormatter("reopenPlaceholder"),
|
||||||
|
new fjs.PropertyFormatter("claimPlaceholder"),
|
||||||
|
new fjs.PropertyFormatter("unclaimPlaceholder"),
|
||||||
|
new fjs.PropertyFormatter("pinPlaceholder"),
|
||||||
|
new fjs.PropertyFormatter("unpinPlaceholder"),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("logs",true,[
|
||||||
|
new fjs.PropertyFormatter("createLog"),
|
||||||
|
new fjs.PropertyFormatter("closeLog"),
|
||||||
|
new fjs.PropertyFormatter("closeDm"),
|
||||||
|
new fjs.PropertyFormatter("deleteLog"),
|
||||||
|
new fjs.PropertyFormatter("deleteDm"),
|
||||||
|
new fjs.PropertyFormatter("reopenLog"),
|
||||||
|
new fjs.PropertyFormatter("reopenDm"),
|
||||||
|
new fjs.PropertyFormatter("claimLog"),
|
||||||
|
new fjs.PropertyFormatter("claimDm"),
|
||||||
|
new fjs.PropertyFormatter("unclaimLog"),
|
||||||
|
new fjs.PropertyFormatter("unclaimDm"),
|
||||||
|
new fjs.PropertyFormatter("pinLog"),
|
||||||
|
new fjs.PropertyFormatter("pinDm"),
|
||||||
|
new fjs.PropertyFormatter("unpinLog"),
|
||||||
|
new fjs.PropertyFormatter("unpinDm"),
|
||||||
|
new fjs.PropertyFormatter("renameLog"),
|
||||||
|
new fjs.PropertyFormatter("renameDm"),
|
||||||
|
new fjs.PropertyFormatter("moveLog"),
|
||||||
|
new fjs.PropertyFormatter("moveDm"),
|
||||||
|
new fjs.PropertyFormatter("addLog"),
|
||||||
|
new fjs.PropertyFormatter("addDm"),
|
||||||
|
new fjs.PropertyFormatter("removeLog"),
|
||||||
|
new fjs.PropertyFormatter("removeDm"),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("blacklistAddLog"),
|
||||||
|
new fjs.PropertyFormatter("blacklistRemoveLog"),
|
||||||
|
new fjs.PropertyFormatter("blacklistAddDm"),
|
||||||
|
new fjs.PropertyFormatter("blacklistRemoveDm"),
|
||||||
|
new fjs.PropertyFormatter("clearLog"),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("transferLog"),
|
||||||
|
new fjs.PropertyFormatter("transferDm"),
|
||||||
|
new fjs.PropertyFormatter("prioritySetLog"),
|
||||||
|
new fjs.PropertyFormatter("prioritySetDm"),
|
||||||
|
new fjs.PropertyFormatter("roleUpdateLog"),
|
||||||
|
new fjs.PropertyFormatter("roleUpdateDm"),
|
||||||
|
]),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("transcripts",true,[
|
||||||
|
new fjs.ObjectFormatter("success",true,[
|
||||||
|
new fjs.PropertyFormatter("visit"),
|
||||||
|
new fjs.PropertyFormatter("ready"),
|
||||||
|
new fjs.PropertyFormatter("textFileDescription"),
|
||||||
|
new fjs.PropertyFormatter("htmlProgress"),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("createdChannel"),
|
||||||
|
new fjs.PropertyFormatter("createdCreator"),
|
||||||
|
new fjs.PropertyFormatter("createdParticipant"),
|
||||||
|
new fjs.PropertyFormatter("createdActiveAdmin"),
|
||||||
|
new fjs.PropertyFormatter("createdEveryAdmin"),
|
||||||
|
new fjs.PropertyFormatter("createdOther"),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("errors",true,[
|
||||||
|
new fjs.PropertyFormatter("retry"),
|
||||||
|
new fjs.PropertyFormatter("continue"),
|
||||||
|
new fjs.PropertyFormatter("backup"),
|
||||||
|
new fjs.PropertyFormatter("error"),
|
||||||
|
new fjs.PropertyFormatter("title"),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("text",true,[
|
||||||
|
new fjs.PropertyFormatter("messagesTitle"),
|
||||||
|
new fjs.PropertyFormatter("embedTitle"),
|
||||||
|
new fjs.PropertyFormatter("fileTitle"),
|
||||||
|
new fjs.PropertyFormatter("fieldsTitle"),
|
||||||
|
new fjs.PropertyFormatter("reactionsTitle"),
|
||||||
|
new fjs.PropertyFormatter("statsTitle"),
|
||||||
|
new fjs.PropertyFormatter("emptyContent"),
|
||||||
|
new fjs.PropertyFormatter("noTitle"),
|
||||||
|
new fjs.PropertyFormatter("noDesc"),
|
||||||
|
]),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("errors",true,[
|
||||||
|
new fjs.ObjectFormatter("titles",true,[
|
||||||
|
new fjs.PropertyFormatter("internalError"),
|
||||||
|
new fjs.PropertyFormatter("optionMissing"),
|
||||||
|
new fjs.PropertyFormatter("optionInvalid"),
|
||||||
|
new fjs.PropertyFormatter("unknownCommand"),
|
||||||
|
new fjs.PropertyFormatter("noPermissions"),
|
||||||
|
new fjs.PropertyFormatter("unknownTicket"),
|
||||||
|
new fjs.PropertyFormatter("deprecatedTicket"),
|
||||||
|
new fjs.PropertyFormatter("unknownOption"),
|
||||||
|
new fjs.PropertyFormatter("unknownPanel"),
|
||||||
|
new fjs.PropertyFormatter("notInGuild"),
|
||||||
|
new fjs.PropertyFormatter("channelRename"),
|
||||||
|
new fjs.PropertyFormatter("busy"),
|
||||||
|
new fjs.PropertyFormatter("permissionError"),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("descriptions",true,[
|
||||||
|
new fjs.PropertyFormatter("askForInfo"),
|
||||||
|
new fjs.PropertyFormatter("askForInfoResolve"),
|
||||||
|
new fjs.PropertyFormatter("internalError"),
|
||||||
|
new fjs.PropertyFormatter("optionMissing"),
|
||||||
|
new fjs.PropertyFormatter("optionInvalid"),
|
||||||
|
new fjs.PropertyFormatter("optionInvalidChoose"),
|
||||||
|
new fjs.PropertyFormatter("unknownCommand"),
|
||||||
|
new fjs.PropertyFormatter("noPermissions"),
|
||||||
|
new fjs.PropertyFormatter("noPermissionsList"),
|
||||||
|
new fjs.PropertyFormatter("noPermissionsCooldown"),
|
||||||
|
new fjs.PropertyFormatter("noPermissionsBlacklist"),
|
||||||
|
new fjs.PropertyFormatter("noPermissionsLimitGlobal"),
|
||||||
|
new fjs.PropertyFormatter("noPermissionsLimitGlobalUser"),
|
||||||
|
new fjs.PropertyFormatter("noPermissionsLimitOption"),
|
||||||
|
new fjs.PropertyFormatter("noPermissionsLimitOptionUser"),
|
||||||
|
new fjs.PropertyFormatter("unknownTicket"),
|
||||||
|
new fjs.PropertyFormatter("deprecatedTicket"),
|
||||||
|
new fjs.PropertyFormatter("notInGuild"),
|
||||||
|
new fjs.PropertyFormatter("channelRename"),
|
||||||
|
new fjs.PropertyFormatter("channelRenameSource"),
|
||||||
|
new fjs.PropertyFormatter("busy"),
|
||||||
|
new fjs.PropertyFormatter("closeBeforeMessage"),
|
||||||
|
new fjs.PropertyFormatter("closeBeforeAdminMessage"),
|
||||||
|
new fjs.PropertyFormatter("unableToCreateTicket"),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("optionInvalidReasons",true,[
|
||||||
|
new fjs.PropertyFormatter("stringRegex"),
|
||||||
|
new fjs.PropertyFormatter("stringMinLength"),
|
||||||
|
new fjs.PropertyFormatter("stringMaxLength"),
|
||||||
|
new fjs.PropertyFormatter("numberInvalid"),
|
||||||
|
new fjs.PropertyFormatter("numberMin"),
|
||||||
|
new fjs.PropertyFormatter("numberMax"),
|
||||||
|
new fjs.PropertyFormatter("numberDecimal"),
|
||||||
|
new fjs.PropertyFormatter("numberNegative"),
|
||||||
|
new fjs.PropertyFormatter("numberPositive"),
|
||||||
|
new fjs.PropertyFormatter("numberZero"),
|
||||||
|
new fjs.PropertyFormatter("channelNotFound"),
|
||||||
|
new fjs.PropertyFormatter("userNotFound"),
|
||||||
|
new fjs.PropertyFormatter("roleNotFound"),
|
||||||
|
new fjs.PropertyFormatter("memberNotFound"),
|
||||||
|
new fjs.PropertyFormatter("mentionableNotFound"),
|
||||||
|
new fjs.PropertyFormatter("channelType"),
|
||||||
|
new fjs.PropertyFormatter("notInGuild"),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("permissions",true,[
|
||||||
|
new fjs.PropertyFormatter("developer"),
|
||||||
|
new fjs.PropertyFormatter("owner"),
|
||||||
|
new fjs.PropertyFormatter("admin"),
|
||||||
|
new fjs.PropertyFormatter("moderator"),
|
||||||
|
new fjs.PropertyFormatter("support"),
|
||||||
|
new fjs.PropertyFormatter("member"),
|
||||||
|
new fjs.PropertyFormatter("discord-administrator"),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("actionInvalid",true,[
|
||||||
|
new fjs.PropertyFormatter("close"),
|
||||||
|
new fjs.PropertyFormatter("reopen"),
|
||||||
|
new fjs.PropertyFormatter("claim"),
|
||||||
|
new fjs.PropertyFormatter("unclaim"),
|
||||||
|
new fjs.PropertyFormatter("pin"),
|
||||||
|
new fjs.PropertyFormatter("unpin"),
|
||||||
|
new fjs.PropertyFormatter("add"),
|
||||||
|
new fjs.PropertyFormatter("remove"),
|
||||||
|
]),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("params",true,[
|
||||||
|
new fjs.ObjectFormatter("uppercase",true,[
|
||||||
|
new fjs.PropertyFormatter("ticket"),
|
||||||
|
new fjs.PropertyFormatter("tickets"),
|
||||||
|
new fjs.PropertyFormatter("reason"),
|
||||||
|
new fjs.PropertyFormatter("creator"),
|
||||||
|
new fjs.PropertyFormatter("remaining"),
|
||||||
|
new fjs.PropertyFormatter("added"),
|
||||||
|
new fjs.PropertyFormatter("removed"),
|
||||||
|
new fjs.PropertyFormatter("filter"),
|
||||||
|
new fjs.PropertyFormatter("method"),
|
||||||
|
new fjs.PropertyFormatter("type"),
|
||||||
|
new fjs.PropertyFormatter("blacklisted"),
|
||||||
|
new fjs.PropertyFormatter("panel"),
|
||||||
|
new fjs.PropertyFormatter("command"),
|
||||||
|
new fjs.PropertyFormatter("system"),
|
||||||
|
new fjs.PropertyFormatter("true"),
|
||||||
|
new fjs.PropertyFormatter("false"),
|
||||||
|
new fjs.PropertyFormatter("syntax"),
|
||||||
|
new fjs.PropertyFormatter("originalName"),
|
||||||
|
new fjs.PropertyFormatter("newName"),
|
||||||
|
new fjs.PropertyFormatter("until"),
|
||||||
|
new fjs.PropertyFormatter("validOptions"),
|
||||||
|
new fjs.PropertyFormatter("validPanels"),
|
||||||
|
new fjs.PropertyFormatter("autoclose"),
|
||||||
|
new fjs.PropertyFormatter("autodelete"),
|
||||||
|
new fjs.PropertyFormatter("startupDate"),
|
||||||
|
new fjs.PropertyFormatter("version"),
|
||||||
|
new fjs.PropertyFormatter("name"),
|
||||||
|
new fjs.PropertyFormatter("role"),
|
||||||
|
new fjs.PropertyFormatter("status"),
|
||||||
|
new fjs.PropertyFormatter("claimed"),
|
||||||
|
new fjs.PropertyFormatter("pinned"),
|
||||||
|
new fjs.PropertyFormatter("creationDate"),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("noone"),
|
||||||
|
new fjs.PropertyFormatter("open"),
|
||||||
|
new fjs.PropertyFormatter("closed"),
|
||||||
|
new fjs.PropertyFormatter("priority"),
|
||||||
|
new fjs.PropertyFormatter("participants"),
|
||||||
|
new fjs.PropertyFormatter("yes"),
|
||||||
|
new fjs.PropertyFormatter("no"),
|
||||||
|
new fjs.PropertyFormatter("option"),
|
||||||
|
new fjs.PropertyFormatter("topic"),
|
||||||
|
new fjs.PropertyFormatter("uptime"),
|
||||||
|
new fjs.PropertyFormatter("messages"),
|
||||||
|
new fjs.PropertyFormatter("embeds"),
|
||||||
|
new fjs.PropertyFormatter("files"),
|
||||||
|
new fjs.PropertyFormatter("components"),
|
||||||
|
new fjs.PropertyFormatter("cooldown"),
|
||||||
|
new fjs.PropertyFormatter("maxTickets"),
|
||||||
|
new fjs.PropertyFormatter("admins"),
|
||||||
|
new fjs.PropertyFormatter("roles"),
|
||||||
|
new fjs.PropertyFormatter("size"),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("lowercase",true,[
|
||||||
|
new fjs.PropertyFormatter("text"),
|
||||||
|
new fjs.PropertyFormatter("html"),
|
||||||
|
new fjs.PropertyFormatter("command"),
|
||||||
|
new fjs.PropertyFormatter("modal"),
|
||||||
|
new fjs.PropertyFormatter("button"),
|
||||||
|
new fjs.PropertyFormatter("dropdown"),
|
||||||
|
new fjs.PropertyFormatter("method"),
|
||||||
|
]),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("commands",true,[
|
||||||
|
new fjs.PropertyFormatter("reason"),
|
||||||
|
new fjs.PropertyFormatter("help"),
|
||||||
|
new fjs.PropertyFormatter("panel"),
|
||||||
|
new fjs.PropertyFormatter("panelId"),
|
||||||
|
new fjs.PropertyFormatter("panelAutoUpdate"),
|
||||||
|
new fjs.PropertyFormatter("ticket"),
|
||||||
|
new fjs.PropertyFormatter("ticketId"),
|
||||||
|
new fjs.PropertyFormatter("close"),
|
||||||
|
new fjs.PropertyFormatter("delete"),
|
||||||
|
new fjs.PropertyFormatter("deleteNoTranscript"),
|
||||||
|
new fjs.PropertyFormatter("reopen"),
|
||||||
|
new fjs.PropertyFormatter("claim"),
|
||||||
|
new fjs.PropertyFormatter("claimUser"),
|
||||||
|
new fjs.PropertyFormatter("unclaim"),
|
||||||
|
new fjs.PropertyFormatter("pin"),
|
||||||
|
new fjs.PropertyFormatter("unpin"),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("move"),
|
||||||
|
new fjs.PropertyFormatter("moveId"),
|
||||||
|
new fjs.PropertyFormatter("rename"),
|
||||||
|
new fjs.PropertyFormatter("renameName"),
|
||||||
|
new fjs.PropertyFormatter("add"),
|
||||||
|
new fjs.PropertyFormatter("addUser"),
|
||||||
|
new fjs.PropertyFormatter("remove"),
|
||||||
|
new fjs.PropertyFormatter("removeUser"),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("blacklist"),
|
||||||
|
new fjs.PropertyFormatter("blacklistView"),
|
||||||
|
new fjs.PropertyFormatter("blacklistAdd"),
|
||||||
|
new fjs.PropertyFormatter("blacklistRemove"),
|
||||||
|
new fjs.PropertyFormatter("blacklistGet"),
|
||||||
|
new fjs.PropertyFormatter("blacklistGetUser"),
|
||||||
|
new fjs.PropertyFormatter("stats"),
|
||||||
|
new fjs.PropertyFormatter("statsReset"),
|
||||||
|
new fjs.PropertyFormatter("statsGlobal"),
|
||||||
|
new fjs.PropertyFormatter("statsUser"),
|
||||||
|
new fjs.PropertyFormatter("statsUserUser"),
|
||||||
|
new fjs.PropertyFormatter("statsTicket"),
|
||||||
|
new fjs.PropertyFormatter("statsTicketTicket"),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("clear"),
|
||||||
|
new fjs.PropertyFormatter("clearFilter"),
|
||||||
|
new fjs.ObjectFormatter("clearFilters",true,[
|
||||||
|
new fjs.PropertyFormatter("all"),
|
||||||
|
new fjs.PropertyFormatter("open"),
|
||||||
|
new fjs.PropertyFormatter("close"),
|
||||||
|
new fjs.PropertyFormatter("claim"),
|
||||||
|
new fjs.PropertyFormatter("unclaim"),
|
||||||
|
new fjs.PropertyFormatter("pin"),
|
||||||
|
new fjs.PropertyFormatter("unpin"),
|
||||||
|
new fjs.PropertyFormatter("autoclose"),
|
||||||
|
]),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("autoclose"),
|
||||||
|
new fjs.PropertyFormatter("autocloseDisable"),
|
||||||
|
new fjs.PropertyFormatter("autocloseEnable"),
|
||||||
|
new fjs.PropertyFormatter("autocloseEnableTime"),
|
||||||
|
new fjs.PropertyFormatter("autodelete"),
|
||||||
|
new fjs.PropertyFormatter("autodeleteDisable"),
|
||||||
|
new fjs.PropertyFormatter("autodeleteEnable"),
|
||||||
|
new fjs.PropertyFormatter("autodeleteEnableTime"),
|
||||||
|
new fjs.TextFormatter(""),
|
||||||
|
new fjs.PropertyFormatter("topic"),
|
||||||
|
new fjs.PropertyFormatter("topicSet"),
|
||||||
|
new fjs.PropertyFormatter("topicValue"),
|
||||||
|
new fjs.PropertyFormatter("topicList"),
|
||||||
|
new fjs.PropertyFormatter("priority"),
|
||||||
|
new fjs.PropertyFormatter("prioritySet"),
|
||||||
|
new fjs.PropertyFormatter("priorityValue"),
|
||||||
|
new fjs.PropertyFormatter("priorityGet"),
|
||||||
|
new fjs.PropertyFormatter("priorityList"),
|
||||||
|
new fjs.PropertyFormatter("transfer"),
|
||||||
|
new fjs.PropertyFormatter("transferUser"),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("helpMenu",true,[
|
||||||
|
new fjs.PropertyFormatter("help"),
|
||||||
|
new fjs.PropertyFormatter("ticket"),
|
||||||
|
new fjs.PropertyFormatter("close"),
|
||||||
|
new fjs.PropertyFormatter("delete"),
|
||||||
|
new fjs.PropertyFormatter("reopen"),
|
||||||
|
new fjs.PropertyFormatter("pin"),
|
||||||
|
new fjs.PropertyFormatter("unpin"),
|
||||||
|
new fjs.PropertyFormatter("move"),
|
||||||
|
new fjs.PropertyFormatter("rename"),
|
||||||
|
new fjs.PropertyFormatter("claim"),
|
||||||
|
new fjs.PropertyFormatter("unclaim"),
|
||||||
|
new fjs.PropertyFormatter("add"),
|
||||||
|
new fjs.PropertyFormatter("remove"),
|
||||||
|
new fjs.PropertyFormatter("panel"),
|
||||||
|
new fjs.PropertyFormatter("blacklistView"),
|
||||||
|
new fjs.PropertyFormatter("blacklistAdd"),
|
||||||
|
new fjs.PropertyFormatter("blacklistRemove"),
|
||||||
|
new fjs.PropertyFormatter("blacklistGet"),
|
||||||
|
new fjs.PropertyFormatter("statsGlobal"),
|
||||||
|
new fjs.PropertyFormatter("statsTicket"),
|
||||||
|
new fjs.PropertyFormatter("statsUser"),
|
||||||
|
new fjs.PropertyFormatter("statsReset"),
|
||||||
|
new fjs.PropertyFormatter("autocloseDisable"),
|
||||||
|
new fjs.PropertyFormatter("autocloseEnable"),
|
||||||
|
new fjs.PropertyFormatter("autodeleteDisable"),
|
||||||
|
new fjs.PropertyFormatter("autodeleteEnable"),
|
||||||
|
new fjs.ObjectFormatter("categories",true,[
|
||||||
|
new fjs.PropertyFormatter("general"),
|
||||||
|
new fjs.PropertyFormatter("basicTicket"),
|
||||||
|
new fjs.PropertyFormatter("advancedTicket"),
|
||||||
|
new fjs.PropertyFormatter("userTicket"),
|
||||||
|
new fjs.PropertyFormatter("admin"),
|
||||||
|
new fjs.PropertyFormatter("advanced"),
|
||||||
|
new fjs.PropertyFormatter("extra"),
|
||||||
|
])
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("stats",true,[
|
||||||
|
new fjs.ObjectFormatter("scopes",true,[
|
||||||
|
new fjs.PropertyFormatter("global"),
|
||||||
|
new fjs.PropertyFormatter("system"),
|
||||||
|
new fjs.PropertyFormatter("user"),
|
||||||
|
new fjs.PropertyFormatter("ticket"),
|
||||||
|
new fjs.PropertyFormatter("participants"),
|
||||||
|
new fjs.PropertyFormatter("messages"),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("properties",true,[
|
||||||
|
new fjs.PropertyFormatter("ticketsCreated"),
|
||||||
|
new fjs.PropertyFormatter("ticketsClosed"),
|
||||||
|
new fjs.PropertyFormatter("ticketsDeleted"),
|
||||||
|
new fjs.PropertyFormatter("ticketsReopened"),
|
||||||
|
new fjs.PropertyFormatter("ticketsAutoclosed"),
|
||||||
|
new fjs.PropertyFormatter("ticketsClaimed"),
|
||||||
|
new fjs.PropertyFormatter("ticketsPinned"),
|
||||||
|
new fjs.PropertyFormatter("ticketsMoved"),
|
||||||
|
new fjs.PropertyFormatter("usersBlacklisted"),
|
||||||
|
new fjs.PropertyFormatter("transcriptsCreated"),
|
||||||
|
new fjs.PropertyFormatter("ticketsAutodeleted"),
|
||||||
|
new fjs.PropertyFormatter("ticketsTransferred"),
|
||||||
|
new fjs.PropertyFormatter("ticketVolume"),
|
||||||
|
new fjs.PropertyFormatter("averageTickets"),
|
||||||
|
new fjs.PropertyFormatter("currentTickets"),
|
||||||
|
new fjs.PropertyFormatter("age"),
|
||||||
|
new fjs.PropertyFormatter("responseTime"),
|
||||||
|
new fjs.PropertyFormatter("resolutionTime"),
|
||||||
|
new fjs.PropertyFormatter("createdOn"),
|
||||||
|
new fjs.PropertyFormatter("createdBy"),
|
||||||
|
new fjs.PropertyFormatter("closedOn"),
|
||||||
|
new fjs.PropertyFormatter("closedBy"),
|
||||||
|
new fjs.PropertyFormatter("claimedOn"),
|
||||||
|
new fjs.PropertyFormatter("claimedBy"),
|
||||||
|
new fjs.PropertyFormatter("pinnedOn"),
|
||||||
|
new fjs.PropertyFormatter("pinnedBy"),
|
||||||
|
new fjs.PropertyFormatter("deletedOn"),
|
||||||
|
new fjs.PropertyFormatter("deletedBy"),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("roles",true,[
|
||||||
|
new fjs.PropertyFormatter("developer"),
|
||||||
|
new fjs.PropertyFormatter("serverOwner"),
|
||||||
|
new fjs.PropertyFormatter("serverAdmin"),
|
||||||
|
new fjs.PropertyFormatter("moderator"),
|
||||||
|
new fjs.PropertyFormatter("support"),
|
||||||
|
new fjs.PropertyFormatter("member"),
|
||||||
|
])
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("panel",true,[
|
||||||
|
new fjs.PropertyFormatter("selectTicket"),
|
||||||
|
new fjs.PropertyFormatter("selectRole"),
|
||||||
|
new fjs.PropertyFormatter("selectOption"),
|
||||||
|
]),
|
||||||
|
new fjs.ObjectFormatter("priorities",true,[
|
||||||
|
new fjs.PropertyFormatter("urgent"),
|
||||||
|
new fjs.PropertyFormatter("veryHigh"),
|
||||||
|
new fjs.PropertyFormatter("high"),
|
||||||
|
new fjs.PropertyFormatter("normal"),
|
||||||
|
new fjs.PropertyFormatter("low"),
|
||||||
|
new fjs.PropertyFormatter("veryLow"),
|
||||||
|
new fjs.PropertyFormatter("none"),
|
||||||
|
]),
|
||||||
|
])
|
||||||
|
|
||||||
|
for (const language of fs.readdirSync(".docs/languages/")){
|
||||||
|
if (!fs.existsSync("./languages/"+language)){
|
||||||
|
console.log("language:",language,"does not exist yet in the primary ./languages/ folder. Unable to merge!")
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
console.log("merging "+language+"...")
|
||||||
|
const original = JSON.parse(fs.readFileSync("./languages/"+language).toString())
|
||||||
|
const newSentences = JSON.parse(fs.readFileSync(".docs/languages/"+language).toString())
|
||||||
|
|
||||||
|
for (const key of Object.keys(newSentences)){
|
||||||
|
if (key.startsWith("_")) continue
|
||||||
|
try{
|
||||||
|
const splitted = key.split(".")
|
||||||
|
let currentObject = original
|
||||||
|
splitted.forEach((property,index) => {
|
||||||
|
let shouldBeObject = (splitted.length-1 !== index)
|
||||||
|
if (shouldBeObject && typeof currentObject[property] == "object"){
|
||||||
|
currentObject = currentObject[property]
|
||||||
|
}else if (shouldBeObject && typeof currentObject[property] == "undefined"){
|
||||||
|
currentObject[property] = {}
|
||||||
|
currentObject = currentObject[property]
|
||||||
|
}else if (typeof currentObject[property] == "string" || typeof currentObject[property] == "undefined"){
|
||||||
|
currentObject[property] = newSentences[key]
|
||||||
|
}else{
|
||||||
|
console.log("Failed to merge key:",key,"in file:",language,"--> Invalid type:",typeof currentObject[property])
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}catch(err){
|
||||||
|
console.log("Failed to merge key:",key,"in file:",language)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
original["_TRANSLATION"]["lastedited"] = new Date().toLocaleDateString("nl-BE",{day:"2-digit",month:"2-digit",year:"numeric"})
|
||||||
|
original["_TRANSLATION"]["otversion"] = "v4.1.3"
|
||||||
|
const finalText = formatter.stringify(original)
|
||||||
|
fs.writeFileSync("./languages/"+language,finalText)
|
||||||
|
}
|
||||||
+15
-24
@@ -2,7 +2,7 @@
|
|||||||
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket Logo" width="500px">
|
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket Logo" width="500px">
|
||||||
|
|
||||||
[](https://discord.com/invite/26vT9wt3n3)
|
[](https://discord.com/invite/26vT9wt3n3)
|
||||||
[](https://github.com/open-discord-bots/open-ticket/releases/tag/v4.0.7)
|
[](https://github.com/open-discord-bots/open-ticket/releases/tag/v4.1.3)
|
||||||
[](https://github.com/sponsors/DJj123dj)
|
[](https://github.com/sponsors/DJj123dj)
|
||||||
[](.eggs/README.md)
|
[](.eggs/README.md)
|
||||||
|
|
||||||
@@ -20,30 +20,21 @@ It's recommended to provide at least `1GB` of **Memory/RAM** and `5GB` of **disk
|
|||||||
[**`openticket-egg-main.json` (Recommended)**](openticket-egg-main.json)
|
[**`openticket-egg-main.json` (Recommended)**](openticket-egg-main.json)
|
||||||
- This egg will use the `main` branch of Open Ticket.
|
- This egg will use the `main` branch of Open Ticket.
|
||||||
|
|
||||||
|
[**`openticket-egg-v4.1.3.json`**](openticket-egg-v4.1.3.json)
|
||||||
|
- This egg will always use Open Ticket `v4.1.3`. Open Ticket updates will not have an effect on this egg.
|
||||||
|
|
||||||
|
[**`openticket-egg-v4.1.2.json`**](openticket-egg-v4.1.2.json)
|
||||||
|
- This egg will always use Open Ticket `v4.1.2`. Open Ticket updates will not have an effect on this egg.
|
||||||
|
|
||||||
|
[**`openticket-egg-v4.1.1.json`**](openticket-egg-v4.1.1.json)
|
||||||
|
- This egg will always use Open Ticket `v4.1.1`. Open Ticket updates will not have an effect on this egg.
|
||||||
|
|
||||||
|
[**`openticket-egg-v4.1.0.json`**](openticket-egg-v4.1.0.json)
|
||||||
|
- This egg will always use Open Ticket `v4.1.0`. Open Ticket updates will not have an effect on this egg.
|
||||||
|
|
||||||
[**`openticket-egg-v4.0.7.json`**](openticket-egg-v4.0.7.json)
|
[**`openticket-egg-v4.0.7.json`**](openticket-egg-v4.0.7.json)
|
||||||
- This egg will always use Open Ticket `v4.0.7`. Open Ticket updates will not have an effect on this egg.
|
- This egg will always use Open Ticket `v4.0.7`. Open Ticket updates will not have an effect on this egg.
|
||||||
|
|
||||||
[**`openticket-egg-v4.0.6.json`**](openticket-egg-v4.0.6.json)
|
|
||||||
- This egg will always use Open Ticket `v4.0.6`. Open Ticket updates will not have an effect on this egg.
|
|
||||||
|
|
||||||
[**`openticket-egg-v4.0.5.json`**](openticket-egg-v4.0.5.json)
|
|
||||||
- This egg will always use Open Ticket `v4.0.5`. Open Ticket updates will not have an effect on this egg.
|
|
||||||
|
|
||||||
[**`openticket-egg-v4.0.4.json`**](openticket-egg-v4.0.4.json)
|
|
||||||
- This egg will always use Open Ticket `v4.0.4`. Open Ticket updates will not have an effect on this egg.
|
|
||||||
|
|
||||||
[**`openticket-egg-v4.0.3.json`**](openticket-egg-v4.0.3.json)
|
|
||||||
- This egg will always use Open Ticket `v4.0.3`. Open Ticket updates will not have an effect on this egg.
|
|
||||||
|
|
||||||
[**`openticket-egg-v4.0.2.json`**](openticket-egg-v4.0.2.json)
|
|
||||||
- This egg will always use Open Ticket `v4.0.2`. Open Ticket updates will not have an effect on this egg.
|
|
||||||
|
|
||||||
[**`openticket-egg-v4.0.1.json`**](openticket-egg-v4.0.1.json)
|
|
||||||
- This egg will always use Open Ticket `v4.0.1`. Open Ticket updates will not have an effect on this egg.
|
|
||||||
|
|
||||||
[**`openticket-egg-v4.0.0.json`**](openticket-egg-v4.0.0.json)
|
|
||||||
- This egg will always use Open Ticket `v4.0.0`. Open Ticket updates will not have an effect on this egg.
|
|
||||||
|
|
||||||
[**`openticket-egg-v3.5.9.json`**](openticket-egg-v3.5.9.json)
|
[**`openticket-egg-v3.5.9.json`**](openticket-egg-v3.5.9.json)
|
||||||
- This egg will always use Open Ticket `v3.5.9`. Open Ticket updates will not have an effect on this egg.
|
- This egg will always use Open Ticket `v3.5.9`. Open Ticket updates will not have an effect on this egg.
|
||||||
|
|
||||||
@@ -54,6 +45,6 @@ It's recommended to provide at least `1GB` of **Memory/RAM** and `5GB` of **disk
|
|||||||
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket Logo" width="170px">
|
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket Logo" width="170px">
|
||||||
|
|
||||||
**Pterodactyl Eggs**<br>
|
**Pterodactyl Eggs**<br>
|
||||||
[changelog](https://otgithub.dj-dj.be/releases) - [documentation](https://otdocs.dj-dj.be) - [tutorial](https://www.youtube.com/watch?v=2jK9kAf6ASU) - [website](https://openticket.dj-dj.be) - [discord](https://discord.dj-dj.be)<br>
|
[Changelog](https://otgithub.dj-dj.be/releases) - [Documentation](https://otdocs.dj-dj.be) - [Website](https://openticket.dj-dj.be) - [Support Server](https://discord.dj-dj.be) - [License](./LICENSE.md)<br>
|
||||||
|
|
||||||
© 2025 - [DJdj Development](https://www.dj-dj.be) - [Terms](https://www.dj-dj.be/terms#terms) - [Privacy Policy](https://www.dj-dj.be/terms#privacy)
|
© 2021 - 2026 - [DJdj Development](https://www.dj-dj.be) - [Terms](https://www.dj-dj.be/terms) - [Privacy Policy](https://www.dj-dj.be/privacy) - [Support Us](https://github.com/sponsors/DJj123dj)
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
{
|
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
|
||||||
"meta": {
|
|
||||||
"version": "PTDL_v2",
|
|
||||||
"update_url": null
|
|
||||||
},
|
|
||||||
"exported_at": "2025-03-16T18:10:18+01:00",
|
|
||||||
"name": "Open Ticket (v4.0.4)",
|
|
||||||
"author": "support@dj-dj.be",
|
|
||||||
"description": "This is the official Pterodactyl egg for Open Ticket v4.0.4, the most advanced & customisable discord ticket bot that you will ever find! You can customise up to 300+ variables! This includes Html Transcripts, Advanced Plugins, Custom Embeds, Questions\/Modals, Stats & more!",
|
|
||||||
"features": null,
|
|
||||||
"docker_images": {
|
|
||||||
"ghcr.io\/parkervcp\/yolks:nodejs_20": "ghcr.io\/parkervcp\/yolks:nodejs_20"
|
|
||||||
},
|
|
||||||
"file_denylist": [],
|
|
||||||
"startup": "if [[ ! -z ${NODE_PACKAGES} ]]; then npm install ${NODE_PACKAGES}; fi; if [[ ! -z ${UNNODE_PACKAGES} ]]; then npm uninstall ${UNNODE_PACKAGES}; fi; if [ -f \/home\/container\/package.json ]; then npm install; fi; node \"\/home\/container\/index.js\" ${NODE_FLAGS};",
|
|
||||||
"config": {
|
|
||||||
"files": "{}",
|
|
||||||
"startup": "{\r\n \"done\": \"STARTUP INFO:\"\r\n}",
|
|
||||||
"logs": "{}",
|
|
||||||
"stop": "^C"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"installation": {
|
|
||||||
"script": "#!\/bin\/bash\r\n# Open Ticket Installation Script (v4.0.4)\r\n# Inspired by: Node.js Installation Script\r\n# \u00a9 DJdj Development\r\n\r\necho -e \"[OT INSTALLER] installing dependencies. please wait...\"\r\napt update\r\napt install -y git curl\r\n\r\necho -e \"[OT INSTALLER] updating npm. please wait...\"\r\nnpm install npm@latest --location=global\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nBRANCH=\"v4.0.4\"\r\n\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"[OT INSTALLER] \/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \"[OT INSTALLER] .git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"[OT INSTALLER] loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"[OT INSTALLER] files found with no git config\"\r\n echo -e \"[OT INSTALLER] closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"https:\/\/github.com\/open-discord-bots\/open-ticket.git\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"[OT INSTALLER] \/mnt\/server is empty.\"\r\n echo -e \"[OT INSTALLER] cloning files into repo.\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"[OT INSTALLER] cloning default branch\"\r\n git clone https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n else\r\n echo -e \"[OT INSTALLER] cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n fi\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing Open Ticket node.js packages.\"\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/npm install --omit=dev\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing custom node.js packages.\"\r\nif [[ ! -z ${NODE_PACKAGES} ]]; then\r\n \/usr\/local\/bin\/npm install ${NODE_PACKAGES}\r\nfi\r\n\r\necho -e \"[OT INSTALLER] install complete!\"\r\nexit 0",
|
|
||||||
"container": "node:latest",
|
|
||||||
"entrypoint": "bash"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"variables": [
|
|
||||||
{
|
|
||||||
"name": "Additional Npm Packages",
|
|
||||||
"description": "Specify additional npm packages used by Open Ticket plugins. Use spaces to separate.",
|
|
||||||
"env_variable": "NODE_PACKAGES",
|
|
||||||
"default_value": "",
|
|
||||||
"user_viewable": false,
|
|
||||||
"user_editable": true,
|
|
||||||
"rules": "string|nullable",
|
|
||||||
"field_type": "text"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Startup Flags",
|
|
||||||
"description": "Start the bot with additional Open Ticket flags. Separate using spaces.\r\nA full reference list can be found in the documentation.",
|
|
||||||
"env_variable": "NODE_FLAGS",
|
|
||||||
"default_value": "",
|
|
||||||
"user_viewable": false,
|
|
||||||
"user_editable": true,
|
|
||||||
"rules": "string|nullable",
|
|
||||||
"field_type": "text"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Uninstall Npm Packages",
|
|
||||||
"description": "A list of npm packages to uninstall. Separate by spaces.",
|
|
||||||
"env_variable": "UNNODE_PACKAGES",
|
|
||||||
"default_value": "",
|
|
||||||
"user_viewable": false,
|
|
||||||
"user_editable": true,
|
|
||||||
"rules": "string|nullable",
|
|
||||||
"field_type": "text"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
{
|
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
|
||||||
"meta": {
|
|
||||||
"version": "PTDL_v2",
|
|
||||||
"update_url": null
|
|
||||||
},
|
|
||||||
"exported_at": "2025-03-16T18:10:18+01:00",
|
|
||||||
"name": "Open Ticket (v4.0.5)",
|
|
||||||
"author": "support@dj-dj.be",
|
|
||||||
"description": "This is the official Pterodactyl egg for Open Ticket v4.0.5, the most advanced & customisable discord ticket bot that you will ever find! You can customise up to 300+ variables! This includes Html Transcripts, Advanced Plugins, Custom Embeds, Questions\/Modals, Stats & more!",
|
|
||||||
"features": null,
|
|
||||||
"docker_images": {
|
|
||||||
"ghcr.io\/parkervcp\/yolks:nodejs_20": "ghcr.io\/parkervcp\/yolks:nodejs_20"
|
|
||||||
},
|
|
||||||
"file_denylist": [],
|
|
||||||
"startup": "if [[ ! -z ${NODE_PACKAGES} ]]; then npm install ${NODE_PACKAGES}; fi; if [[ ! -z ${UNNODE_PACKAGES} ]]; then npm uninstall ${UNNODE_PACKAGES}; fi; if [ -f \/home\/container\/package.json ]; then npm install; fi; node \"\/home\/container\/index.js\" ${NODE_FLAGS};",
|
|
||||||
"config": {
|
|
||||||
"files": "{}",
|
|
||||||
"startup": "{\r\n \"done\": \"STARTUP INFO:\"\r\n}",
|
|
||||||
"logs": "{}",
|
|
||||||
"stop": "^C"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"installation": {
|
|
||||||
"script": "#!\/bin\/bash\r\n# Open Ticket Installation Script (v4.0.5)\r\n# Inspired by: Node.js Installation Script\r\n# \u00a9 DJdj Development\r\n\r\necho -e \"[OT INSTALLER] installing dependencies. please wait...\"\r\napt update\r\napt install -y git curl\r\n\r\necho -e \"[OT INSTALLER] updating npm. please wait...\"\r\nnpm install npm@latest --location=global\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nBRANCH=\"v4.0.5\"\r\n\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"[OT INSTALLER] \/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \"[OT INSTALLER] .git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"[OT INSTALLER] loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"[OT INSTALLER] files found with no git config\"\r\n echo -e \"[OT INSTALLER] closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"https:\/\/github.com\/open-discord-bots\/open-ticket.git\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"[OT INSTALLER] \/mnt\/server is empty.\"\r\n echo -e \"[OT INSTALLER] cloning files into repo.\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"[OT INSTALLER] cloning default branch\"\r\n git clone https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n else\r\n echo -e \"[OT INSTALLER] cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n fi\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing Open Ticket node.js packages.\"\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/npm install --omit=dev\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing custom node.js packages.\"\r\nif [[ ! -z ${NODE_PACKAGES} ]]; then\r\n \/usr\/local\/bin\/npm install ${NODE_PACKAGES}\r\nfi\r\n\r\necho -e \"[OT INSTALLER] install complete!\"\r\nexit 0",
|
|
||||||
"container": "node:latest",
|
|
||||||
"entrypoint": "bash"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"variables": [
|
|
||||||
{
|
|
||||||
"name": "Additional Npm Packages",
|
|
||||||
"description": "Specify additional npm packages used by Open Ticket plugins. Use spaces to separate.",
|
|
||||||
"env_variable": "NODE_PACKAGES",
|
|
||||||
"default_value": "",
|
|
||||||
"user_viewable": false,
|
|
||||||
"user_editable": true,
|
|
||||||
"rules": "string|nullable",
|
|
||||||
"field_type": "text"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Startup Flags",
|
|
||||||
"description": "Start the bot with additional Open Ticket flags. Separate using spaces.\r\nA full reference list can be found in the documentation.",
|
|
||||||
"env_variable": "NODE_FLAGS",
|
|
||||||
"default_value": "",
|
|
||||||
"user_viewable": false,
|
|
||||||
"user_editable": true,
|
|
||||||
"rules": "string|nullable",
|
|
||||||
"field_type": "text"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Uninstall Npm Packages",
|
|
||||||
"description": "A list of npm packages to uninstall. Separate by spaces.",
|
|
||||||
"env_variable": "UNNODE_PACKAGES",
|
|
||||||
"default_value": "",
|
|
||||||
"user_viewable": false,
|
|
||||||
"user_editable": true,
|
|
||||||
"rules": "string|nullable",
|
|
||||||
"field_type": "text"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
{
|
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
|
||||||
"meta": {
|
|
||||||
"version": "PTDL_v2",
|
|
||||||
"update_url": null
|
|
||||||
},
|
|
||||||
"exported_at": "2025-03-16T18:10:18+01:00",
|
|
||||||
"name": "Open Ticket (v4.0.6)",
|
|
||||||
"author": "support@dj-dj.be",
|
|
||||||
"description": "This is the official Pterodactyl egg for Open Ticket v4.0.6, the most advanced & customisable discord ticket bot that you will ever find! You can customise up to 300+ variables! This includes Html Transcripts, Advanced Plugins, Custom Embeds, Questions\/Modals, Stats & more!",
|
|
||||||
"features": null,
|
|
||||||
"docker_images": {
|
|
||||||
"ghcr.io\/parkervcp\/yolks:nodejs_20": "ghcr.io\/parkervcp\/yolks:nodejs_20"
|
|
||||||
},
|
|
||||||
"file_denylist": [],
|
|
||||||
"startup": "if [[ ! -z ${NODE_PACKAGES} ]]; then npm install ${NODE_PACKAGES}; fi; if [[ ! -z ${UNNODE_PACKAGES} ]]; then npm uninstall ${UNNODE_PACKAGES}; fi; if [ -f \/home\/container\/package.json ]; then npm install; fi; node \"\/home\/container\/index.js\" ${NODE_FLAGS};",
|
|
||||||
"config": {
|
|
||||||
"files": "{}",
|
|
||||||
"startup": "{\r\n \"done\": \"STARTUP INFO:\"\r\n}",
|
|
||||||
"logs": "{}",
|
|
||||||
"stop": "^C"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"installation": {
|
|
||||||
"script": "#!\/bin\/bash\r\n# Open Ticket Installation Script (v4.0.6)\r\n# Inspired by: Node.js Installation Script\r\n# \u00a9 DJdj Development\r\n\r\necho -e \"[OT INSTALLER] installing dependencies. please wait...\"\r\napt update\r\napt install -y git curl\r\n\r\necho -e \"[OT INSTALLER] updating npm. please wait...\"\r\nnpm install npm@latest --location=global\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nBRANCH=\"v4.0.6\"\r\n\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"[OT INSTALLER] \/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \"[OT INSTALLER] .git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"[OT INSTALLER] loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"[OT INSTALLER] files found with no git config\"\r\n echo -e \"[OT INSTALLER] closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"https:\/\/github.com\/open-discord-bots\/open-ticket.git\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"[OT INSTALLER] \/mnt\/server is empty.\"\r\n echo -e \"[OT INSTALLER] cloning files into repo.\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"[OT INSTALLER] cloning default branch\"\r\n git clone https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n else\r\n echo -e \"[OT INSTALLER] cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n fi\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing Open Ticket node.js packages.\"\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/npm install --omit=dev\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing custom node.js packages.\"\r\nif [[ ! -z ${NODE_PACKAGES} ]]; then\r\n \/usr\/local\/bin\/npm install ${NODE_PACKAGES}\r\nfi\r\n\r\necho -e \"[OT INSTALLER] install complete!\"\r\nexit 0",
|
|
||||||
"container": "node:latest",
|
|
||||||
"entrypoint": "bash"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"variables": [
|
|
||||||
{
|
|
||||||
"name": "Additional Npm Packages",
|
|
||||||
"description": "Specify additional npm packages used by Open Ticket plugins. Use spaces to separate.",
|
|
||||||
"env_variable": "NODE_PACKAGES",
|
|
||||||
"default_value": "",
|
|
||||||
"user_viewable": false,
|
|
||||||
"user_editable": true,
|
|
||||||
"rules": "string|nullable",
|
|
||||||
"field_type": "text"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Startup Flags",
|
|
||||||
"description": "Start the bot with additional Open Ticket flags. Separate using spaces.\r\nA full reference list can be found in the documentation.",
|
|
||||||
"env_variable": "NODE_FLAGS",
|
|
||||||
"default_value": "",
|
|
||||||
"user_viewable": false,
|
|
||||||
"user_editable": true,
|
|
||||||
"rules": "string|nullable",
|
|
||||||
"field_type": "text"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Uninstall Npm Packages",
|
|
||||||
"description": "A list of npm packages to uninstall. Separate by spaces.",
|
|
||||||
"env_variable": "UNNODE_PACKAGES",
|
|
||||||
"default_value": "",
|
|
||||||
"user_viewable": false,
|
|
||||||
"user_editable": true,
|
|
||||||
"rules": "string|nullable",
|
|
||||||
"field_type": "text"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -5,9 +5,9 @@
|
|||||||
"update_url": null
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2025-03-16T18:10:18+01:00",
|
"exported_at": "2025-03-16T18:10:18+01:00",
|
||||||
"name": "Open Ticket (v4.0.0)",
|
"name": "Open Ticket (v4.1.0)",
|
||||||
"author": "support@dj-dj.be",
|
"author": "support@dj-dj.be",
|
||||||
"description": "This is the official Pterodactyl egg for Open Ticket v4.0.0, the most advanced & customisable discord ticket bot that you will ever find! You can customise up to 300+ variables! This includes Html Transcripts, Advanced Plugins, Custom Embeds, Questions\/Modals, Stats & more!",
|
"description": "This is the official Pterodactyl egg for Open Ticket v4.1.0, the most advanced & customisable discord ticket bot that you will ever find! You can customise up to 300+ variables! This includes Html Transcripts, Advanced Plugins, Custom Embeds, Questions\/Modals, Stats & more!",
|
||||||
"features": null,
|
"features": null,
|
||||||
"docker_images": {
|
"docker_images": {
|
||||||
"ghcr.io\/parkervcp\/yolks:nodejs_20": "ghcr.io\/parkervcp\/yolks:nodejs_20"
|
"ghcr.io\/parkervcp\/yolks:nodejs_20": "ghcr.io\/parkervcp\/yolks:nodejs_20"
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "#!\/bin\/bash\r\n# Open Ticket Installation Script (v4.0.0)\r\n# Inspired by: Node.js Installation Script\r\n# \u00a9 DJdj Development\r\n\r\necho -e \"[OT INSTALLER] installing dependencies. please wait...\"\r\napt update\r\napt install -y git curl\r\n\r\necho -e \"[OT INSTALLER] updating npm. please wait...\"\r\nnpm install npm@latest --location=global\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nBRANCH=\"v4.0.0\"\r\n\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"[OT INSTALLER] \/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \"[OT INSTALLER] .git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"[OT INSTALLER] loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"[OT INSTALLER] files found with no git config\"\r\n echo -e \"[OT INSTALLER] closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"https:\/\/github.com\/open-discord-bots\/open-ticket.git\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"[OT INSTALLER] \/mnt\/server is empty.\"\r\n echo -e \"[OT INSTALLER] cloning files into repo.\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"[OT INSTALLER] cloning default branch\"\r\n git clone https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n else\r\n echo -e \"[OT INSTALLER] cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n fi\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing Open Ticket node.js packages.\"\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/npm install --omit=dev\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing custom node.js packages.\"\r\nif [[ ! -z ${NODE_PACKAGES} ]]; then\r\n \/usr\/local\/bin\/npm install ${NODE_PACKAGES}\r\nfi\r\n\r\necho -e \"[OT INSTALLER] install complete!\"\r\nexit 0",
|
"script": "#!\/bin\/bash\r\n# Open Ticket Installation Script (v4.1.0)\r\n# Inspired by: Node.js Installation Script\r\n# \u00a9 DJdj Development\r\n\r\necho -e \"[OT INSTALLER] installing dependencies. please wait...\"\r\napt update\r\napt install -y git curl\r\n\r\necho -e \"[OT INSTALLER] updating npm. please wait...\"\r\nnpm install npm@latest --location=global\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nBRANCH=\"v4.1.0\"\r\n\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"[OT INSTALLER] \/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \"[OT INSTALLER] .git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"[OT INSTALLER] loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"[OT INSTALLER] files found with no git config\"\r\n echo -e \"[OT INSTALLER] closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"https:\/\/github.com\/open-discord-bots\/open-ticket.git\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"[OT INSTALLER] \/mnt\/server is empty.\"\r\n echo -e \"[OT INSTALLER] cloning files into repo.\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"[OT INSTALLER] cloning default branch\"\r\n git clone https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n else\r\n echo -e \"[OT INSTALLER] cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n fi\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing Open Ticket node.js packages.\"\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/npm install --omit=dev\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing custom node.js packages.\"\r\nif [[ ! -z ${NODE_PACKAGES} ]]; then\r\n \/usr\/local\/bin\/npm install ${NODE_PACKAGES}\r\nfi\r\n\r\necho -e \"[OT INSTALLER] install complete!\"\r\nexit 0",
|
||||||
"container": "node:latest",
|
"container": "node:latest",
|
||||||
"entrypoint": "bash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
||||||
@@ -5,9 +5,9 @@
|
|||||||
"update_url": null
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2025-03-16T18:10:18+01:00",
|
"exported_at": "2025-03-16T18:10:18+01:00",
|
||||||
"name": "Open Ticket (v4.0.1)",
|
"name": "Open Ticket (v4.1.1)",
|
||||||
"author": "support@dj-dj.be",
|
"author": "support@dj-dj.be",
|
||||||
"description": "This is the official Pterodactyl egg for Open Ticket v4.0.1, the most advanced & customisable discord ticket bot that you will ever find! You can customise up to 300+ variables! This includes Html Transcripts, Advanced Plugins, Custom Embeds, Questions\/Modals, Stats & more!",
|
"description": "This is the official Pterodactyl egg for Open Ticket v4.1.1, the most advanced & customisable discord ticket bot that you will ever find! You can customise up to 300+ variables! This includes Html Transcripts, Advanced Plugins, Custom Embeds, Questions\/Modals, Stats & more!",
|
||||||
"features": null,
|
"features": null,
|
||||||
"docker_images": {
|
"docker_images": {
|
||||||
"ghcr.io\/parkervcp\/yolks:nodejs_20": "ghcr.io\/parkervcp\/yolks:nodejs_20"
|
"ghcr.io\/parkervcp\/yolks:nodejs_20": "ghcr.io\/parkervcp\/yolks:nodejs_20"
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "#!\/bin\/bash\r\n# Open Ticket Installation Script (v4.0.1)\r\n# Inspired by: Node.js Installation Script\r\n# \u00a9 DJdj Development\r\n\r\necho -e \"[OT INSTALLER] installing dependencies. please wait...\"\r\napt update\r\napt install -y git curl\r\n\r\necho -e \"[OT INSTALLER] updating npm. please wait...\"\r\nnpm install npm@latest --location=global\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nBRANCH=\"v4.0.1\"\r\n\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"[OT INSTALLER] \/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \"[OT INSTALLER] .git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"[OT INSTALLER] loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"[OT INSTALLER] files found with no git config\"\r\n echo -e \"[OT INSTALLER] closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"https:\/\/github.com\/open-discord-bots\/open-ticket.git\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"[OT INSTALLER] \/mnt\/server is empty.\"\r\n echo -e \"[OT INSTALLER] cloning files into repo.\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"[OT INSTALLER] cloning default branch\"\r\n git clone https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n else\r\n echo -e \"[OT INSTALLER] cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n fi\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing Open Ticket node.js packages.\"\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/npm install --omit=dev\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing custom node.js packages.\"\r\nif [[ ! -z ${NODE_PACKAGES} ]]; then\r\n \/usr\/local\/bin\/npm install ${NODE_PACKAGES}\r\nfi\r\n\r\necho -e \"[OT INSTALLER] install complete!\"\r\nexit 0",
|
"script": "#!\/bin\/bash\r\n# Open Ticket Installation Script (v4.1.1)\r\n# Inspired by: Node.js Installation Script\r\n# \u00a9 DJdj Development\r\n\r\necho -e \"[OT INSTALLER] installing dependencies. please wait...\"\r\napt update\r\napt install -y git curl\r\n\r\necho -e \"[OT INSTALLER] updating npm. please wait...\"\r\nnpm install npm@latest --location=global\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nBRANCH=\"v4.1.1\"\r\n\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"[OT INSTALLER] \/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \"[OT INSTALLER] .git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"[OT INSTALLER] loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"[OT INSTALLER] files found with no git config\"\r\n echo -e \"[OT INSTALLER] closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"https:\/\/github.com\/open-discord-bots\/open-ticket.git\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"[OT INSTALLER] \/mnt\/server is empty.\"\r\n echo -e \"[OT INSTALLER] cloning files into repo.\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"[OT INSTALLER] cloning default branch\"\r\n git clone https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n else\r\n echo -e \"[OT INSTALLER] cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n fi\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing Open Ticket node.js packages.\"\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/npm install --omit=dev\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing custom node.js packages.\"\r\nif [[ ! -z ${NODE_PACKAGES} ]]; then\r\n \/usr\/local\/bin\/npm install ${NODE_PACKAGES}\r\nfi\r\n\r\necho -e \"[OT INSTALLER] install complete!\"\r\nexit 0",
|
||||||
"container": "node:latest",
|
"container": "node:latest",
|
||||||
"entrypoint": "bash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
||||||
@@ -5,9 +5,9 @@
|
|||||||
"update_url": null
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2025-03-16T18:10:18+01:00",
|
"exported_at": "2025-03-16T18:10:18+01:00",
|
||||||
"name": "Open Ticket (v4.0.2)",
|
"name": "Open Ticket (v4.1.2)",
|
||||||
"author": "support@dj-dj.be",
|
"author": "support@dj-dj.be",
|
||||||
"description": "This is the official Pterodactyl egg for Open Ticket v4.0.2, the most advanced & customisable discord ticket bot that you will ever find! You can customise up to 300+ variables! This includes Html Transcripts, Advanced Plugins, Custom Embeds, Questions\/Modals, Stats & more!",
|
"description": "This is the official Pterodactyl egg for Open Ticket v4.1.2, the most advanced & customisable discord ticket bot that you will ever find! You can customise up to 300+ variables! This includes Html Transcripts, Advanced Plugins, Custom Embeds, Questions\/Modals, Stats & more!",
|
||||||
"features": null,
|
"features": null,
|
||||||
"docker_images": {
|
"docker_images": {
|
||||||
"ghcr.io\/parkervcp\/yolks:nodejs_20": "ghcr.io\/parkervcp\/yolks:nodejs_20"
|
"ghcr.io\/parkervcp\/yolks:nodejs_20": "ghcr.io\/parkervcp\/yolks:nodejs_20"
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "#!\/bin\/bash\r\n# Open Ticket Installation Script (v4.0.2)\r\n# Inspired by: Node.js Installation Script\r\n# \u00a9 DJdj Development\r\n\r\necho -e \"[OT INSTALLER] installing dependencies. please wait...\"\r\napt update\r\napt install -y git curl\r\n\r\necho -e \"[OT INSTALLER] updating npm. please wait...\"\r\nnpm install npm@latest --location=global\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nBRANCH=\"v4.0.2\"\r\n\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"[OT INSTALLER] \/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \"[OT INSTALLER] .git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"[OT INSTALLER] loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"[OT INSTALLER] files found with no git config\"\r\n echo -e \"[OT INSTALLER] closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"https:\/\/github.com\/open-discord-bots\/open-ticket.git\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"[OT INSTALLER] \/mnt\/server is empty.\"\r\n echo -e \"[OT INSTALLER] cloning files into repo.\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"[OT INSTALLER] cloning default branch\"\r\n git clone https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n else\r\n echo -e \"[OT INSTALLER] cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n fi\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing Open Ticket node.js packages.\"\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/npm install --omit=dev\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing custom node.js packages.\"\r\nif [[ ! -z ${NODE_PACKAGES} ]]; then\r\n \/usr\/local\/bin\/npm install ${NODE_PACKAGES}\r\nfi\r\n\r\necho -e \"[OT INSTALLER] install complete!\"\r\nexit 0",
|
"script": "#!\/bin\/bash\r\n# Open Ticket Installation Script (v4.1.2)\r\n# Inspired by: Node.js Installation Script\r\n# \u00a9 DJdj Development\r\n\r\necho -e \"[OT INSTALLER] installing dependencies. please wait...\"\r\napt update\r\napt install -y git curl\r\n\r\necho -e \"[OT INSTALLER] updating npm. please wait...\"\r\nnpm install npm@latest --location=global\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nBRANCH=\"v4.1.2\"\r\n\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"[OT INSTALLER] \/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \"[OT INSTALLER] .git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"[OT INSTALLER] loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"[OT INSTALLER] files found with no git config\"\r\n echo -e \"[OT INSTALLER] closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"https:\/\/github.com\/open-discord-bots\/open-ticket.git\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"[OT INSTALLER] \/mnt\/server is empty.\"\r\n echo -e \"[OT INSTALLER] cloning files into repo.\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"[OT INSTALLER] cloning default branch\"\r\n git clone https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n else\r\n echo -e \"[OT INSTALLER] cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n fi\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing Open Ticket node.js packages.\"\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/npm install --omit=dev\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing custom node.js packages.\"\r\nif [[ ! -z ${NODE_PACKAGES} ]]; then\r\n \/usr\/local\/bin\/npm install ${NODE_PACKAGES}\r\nfi\r\n\r\necho -e \"[OT INSTALLER] install complete!\"\r\nexit 0",
|
||||||
"container": "node:latest",
|
"container": "node:latest",
|
||||||
"entrypoint": "bash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
||||||
@@ -5,9 +5,9 @@
|
|||||||
"update_url": null
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2025-03-16T18:10:18+01:00",
|
"exported_at": "2025-03-16T18:10:18+01:00",
|
||||||
"name": "Open Ticket (v4.0.3)",
|
"name": "Open Ticket (v4.1.3)",
|
||||||
"author": "support@dj-dj.be",
|
"author": "support@dj-dj.be",
|
||||||
"description": "This is the official Pterodactyl egg for Open Ticket v4.0.3, the most advanced & customisable discord ticket bot that you will ever find! You can customise up to 300+ variables! This includes Html Transcripts, Advanced Plugins, Custom Embeds, Questions\/Modals, Stats & more!",
|
"description": "This is the official Pterodactyl egg for Open Ticket v4.1.3, the most advanced & customisable discord ticket bot that you will ever find! You can customise up to 300+ variables! This includes Html Transcripts, Advanced Plugins, Custom Embeds, Questions\/Modals, Stats & more!",
|
||||||
"features": null,
|
"features": null,
|
||||||
"docker_images": {
|
"docker_images": {
|
||||||
"ghcr.io\/parkervcp\/yolks:nodejs_20": "ghcr.io\/parkervcp\/yolks:nodejs_20"
|
"ghcr.io\/parkervcp\/yolks:nodejs_20": "ghcr.io\/parkervcp\/yolks:nodejs_20"
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "#!\/bin\/bash\r\n# Open Ticket Installation Script (v4.0.3)\r\n# Inspired by: Node.js Installation Script\r\n# \u00a9 DJdj Development\r\n\r\necho -e \"[OT INSTALLER] installing dependencies. please wait...\"\r\napt update\r\napt install -y git curl\r\n\r\necho -e \"[OT INSTALLER] updating npm. please wait...\"\r\nnpm install npm@latest --location=global\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nBRANCH=\"v4.0.3\"\r\n\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"[OT INSTALLER] \/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \"[OT INSTALLER] .git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"[OT INSTALLER] loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"[OT INSTALLER] files found with no git config\"\r\n echo -e \"[OT INSTALLER] closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"https:\/\/github.com\/open-discord-bots\/open-ticket.git\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"[OT INSTALLER] \/mnt\/server is empty.\"\r\n echo -e \"[OT INSTALLER] cloning files into repo.\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"[OT INSTALLER] cloning default branch\"\r\n git clone https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n else\r\n echo -e \"[OT INSTALLER] cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n fi\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing Open Ticket node.js packages.\"\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/npm install --omit=dev\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing custom node.js packages.\"\r\nif [[ ! -z ${NODE_PACKAGES} ]]; then\r\n \/usr\/local\/bin\/npm install ${NODE_PACKAGES}\r\nfi\r\n\r\necho -e \"[OT INSTALLER] install complete!\"\r\nexit 0",
|
"script": "#!\/bin\/bash\r\n# Open Ticket Installation Script (v4.1.3)\r\n# Inspired by: Node.js Installation Script\r\n# \u00a9 DJdj Development\r\n\r\necho -e \"[OT INSTALLER] installing dependencies. please wait...\"\r\napt update\r\napt install -y git curl\r\n\r\necho -e \"[OT INSTALLER] updating npm. please wait...\"\r\nnpm install npm@latest --location=global\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nBRANCH=\"v4.1.3\"\r\n\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"[OT INSTALLER] \/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \"[OT INSTALLER] .git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"[OT INSTALLER] loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"[OT INSTALLER] files found with no git config\"\r\n echo -e \"[OT INSTALLER] closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"https:\/\/github.com\/open-discord-bots\/open-ticket.git\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"[OT INSTALLER] \/mnt\/server is empty.\"\r\n echo -e \"[OT INSTALLER] cloning files into repo.\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"[OT INSTALLER] cloning default branch\"\r\n git clone https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n else\r\n echo -e \"[OT INSTALLER] cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n fi\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing Open Ticket node.js packages.\"\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/npm install --omit=dev\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing custom node.js packages.\"\r\nif [[ ! -z ${NODE_PACKAGES} ]]; then\r\n \/usr\/local\/bin\/npm install ${NODE_PACKAGES}\r\nfi\r\n\r\necho -e \"[OT INSTALLER] install complete!\"\r\nexit 0",
|
||||||
"container": "node:latest",
|
"container": "node:latest",
|
||||||
"entrypoint": "bash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# Contributing Guidelines
|
# Contributing Guidelines
|
||||||
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket Logo" width="500px">
|
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket Logo" width="500px">
|
||||||
|
|
||||||
[](https://discord.com/invite/26vT9wt3n3) [](https://github.com/open-discord-bots/open-ticket/releases/tag/v4.0.7) [](https://github.com/sponsors/DJj123dj)
|
[](https://discord.com/invite/26vT9wt3n3) [](https://github.com/open-discord-bots/open-ticket/releases/tag/v4.1.3) [](https://github.com/sponsors/DJj123dj)
|
||||||
|
|
||||||
These are the Contributing Guidelines of Open Ticket!<br>
|
These are the Contributing Guidelines of Open Ticket!<br>
|
||||||
Here you can find everything you need to know about contributing to Open Ticket.<br>
|
Here you can find everything you need to know about contributing to Open Ticket.<br>
|
||||||
@@ -87,6 +87,6 @@ you are **REQUIRED to send the bug privately via one of the following methods:**
|
|||||||
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket Logo" width="170px">
|
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket Logo" width="170px">
|
||||||
|
|
||||||
**Contributing Guidelines**<br>
|
**Contributing Guidelines**<br>
|
||||||
[changelog](https://otgithub.dj-dj.be/releases) - [documentation](https://otdocs.dj-dj.be) - [tutorial](https://www.youtube.com/watch?v=2jK9kAf6ASU) - [website](https://openticket.dj-dj.be) - [discord](https://discord.dj-dj.be)<br>
|
[Changelog](https://otgithub.dj-dj.be/releases) - [Documentation](https://otdocs.dj-dj.be) - [Website](https://openticket.dj-dj.be) - [Support Server](https://discord.dj-dj.be) - [License](./LICENSE.md)<br>
|
||||||
|
|
||||||
© 2025 - [DJdj Development](https://www.dj-dj.be) - [Terms](https://www.dj-dj.be/terms#terms) - [Privacy Policy](https://www.dj-dj.be/terms#privacy)
|
© 2021 - 2026 - [DJdj Development](https://www.dj-dj.be) - [Terms](https://www.dj-dj.be/terms) - [Privacy Policy](https://www.dj-dj.be/privacy) - [Support Us](https://github.com/sponsors/DJj123dj)
|
||||||
+15
-13
@@ -14,20 +14,22 @@ This list will be updated on every release.
|
|||||||
- 🟦 In Development **(ideas, bugs, support, html transcripts)**
|
- 🟦 In Development **(ideas, bugs, support, html transcripts)**
|
||||||
- ✅ Supported **(features, bugs, support, docs, html transcripts)**
|
- ✅ Supported **(features, bugs, support, docs, html transcripts)**
|
||||||
- 🚧 Maintenance **(support, docs, html transcripts)**
|
- 🚧 Maintenance **(support, docs, html transcripts)**
|
||||||
- 🟧 Deprecated **(docs)**
|
- 🟧 Deprecated **(docs only)**
|
||||||
- ❌ Fully Deprecated
|
- ❌ Fully Deprecated
|
||||||
|
|
||||||
| Version | Supported | Notes |
|
| Version | Supported | Notes |
|
||||||
|------------|-----------|------------------------------------------|
|
|------------|-----------|---------------------------------------------------------------|
|
||||||
| 4.1.0 | 🟦 | |
|
| 4.2.0 | 🟦 | In Development |
|
||||||
| 4.0.7 | ✅ | |
|
| 4.1.x | 🟦 | In Development |
|
||||||
| 4.0.6 | ✅ | |
|
| 4.1.3 | ✅ | |
|
||||||
| 4.0.5 | ✅ | |
|
| 4.1.2 | ✅ | |
|
||||||
| 4.0.4 | ✅ | Supported until July 2025 (LTS) |
|
| 4.1.1 | ✅ | Supported Until April 2026 (LTS) |
|
||||||
| 4.0.3 | 🚧 | Transcripts v2.0 (Offline August 2025) |
|
| 4.1.0 | 🚧 | |
|
||||||
| 4.0.2 | 🟧 | Documentation Only (discord.js bug) |
|
| 4.0.7 | 🚧 | |
|
||||||
| 4.0.1 | 🟧 | Documentation Only |
|
| 4.0.6 | 🚧 | |
|
||||||
| 4.0.0 | 🟧 | Documentation Only |
|
| 4.0.5 | 🟧 | Deprecated |
|
||||||
|
| 4.0.4 | 🟧 | Deprecated |
|
||||||
|
| < 4.0.4 | 🟧 | Deprecated, Transcripts v2.0, Documentation Only |
|
||||||
| < 4.0.0 | ❌ | |
|
| < 4.0.0 | ❌ | |
|
||||||
|
|
||||||
### 🕷️ Reporting Vulnerabilities
|
### 🕷️ Reporting Vulnerabilities
|
||||||
@@ -48,6 +50,6 @@ If possible, try to provide screenshots!
|
|||||||
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket Logo" width="170px">
|
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket Logo" width="170px">
|
||||||
|
|
||||||
**Security Policy**<br>
|
**Security Policy**<br>
|
||||||
[changelog](https://otgithub.dj-dj.be/releases) - [documentation](https://otdocs.dj-dj.be) - [tutorial](https://www.youtube.com/watch?v=2jK9kAf6ASU) - [website](https://openticket.dj-dj.be) - [discord](https://discord.dj-dj.be)<br>
|
[Changelog](https://otgithub.dj-dj.be/releases) - [Documentation](https://otdocs.dj-dj.be) - [Website](https://openticket.dj-dj.be) - [Support Server](https://discord.dj-dj.be) - [License](./LICENSE.md)<br>
|
||||||
|
|
||||||
© 2025 - [DJdj Development](https://www.dj-dj.be) - [Terms](https://www.dj-dj.be/terms#terms) - [Privacy Policy](https://www.dj-dj.be/terms#privacy)
|
© 2021 - 2026 - [DJdj Development](https://www.dj-dj.be) - [Terms](https://www.dj-dj.be/terms) - [Privacy Policy](https://www.dj-dj.be/privacy) - [Support Us](https://github.com/sponsors/DJj123dj)
|
||||||
@@ -19,4 +19,5 @@ otdebug.txt
|
|||||||
|
|
||||||
.docs/*
|
.docs/*
|
||||||
!.docs/createDocs.js
|
!.docs/createDocs.js
|
||||||
|
!.docs/mergeTranslations.js
|
||||||
!.docs/typedoc-config.json
|
!.docs/typedoc-config.json
|
||||||
+27
-4
@@ -1,11 +1,17 @@
|
|||||||
|
<!-- omit from toc -->
|
||||||
# Open Ticket (License)
|
# Open Ticket (License)
|
||||||
© 2025 - DJj123dj & Contributors
|
© 2021 - 2026 - DJj123dj & Contributors
|
||||||
|
|
||||||
|
#### Table Of Contents
|
||||||
|
- [General License](#general-license)
|
||||||
|
- [Additional Terms for Open Ticket](#additional-terms-for-open-ticket)
|
||||||
|
|
||||||
|
### General License
|
||||||
```
|
```
|
||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
Version 3, 29 June 2007
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
Copyright (C) 2026 DJdj Development. <https://www.dj-dj.be/>
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
of this license document, but changing it is not allowed.
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
@@ -679,11 +685,28 @@ Public License instead of this License. But first, please read
|
|||||||
```
|
```
|
||||||
|
|
||||||
### Additional Terms for Open Ticket
|
### Additional Terms for Open Ticket
|
||||||
|
#### Terminology:
|
||||||
|
1. **“Software”**
|
||||||
|
Refers to the Open Ticket source code, documentation, and any associated files distributed under this license, including any modifications or derivative works thereof.
|
||||||
|
|
||||||
|
1. **“Public Discord Bot**
|
||||||
|
A Discord bot that is made publicly available for use by multiple, unrelated Discord servers or users, where the bot’s functionality is provided as a service rather than for private or personal use.
|
||||||
|
|
||||||
|
1. **“Monetized Service”**
|
||||||
|
Refers to any service or deployment that generates direct or indirect revenue through the use of the Software. This includes, but is not limited to, subscriptions, premium features, paid hosting, advertisements.
|
||||||
|
|
||||||
|
1. **“For-Profit Discord Server”**
|
||||||
|
Means a Discord server that generates income, revenue, or other material benefits, whether through memberships, donations, or other monetization strategies.
|
||||||
|
|
||||||
|
1. **“Private Use”**
|
||||||
|
Refers to using the Software on a limited number of Discord servers controlled or operated by a single individual or organization, not made available as a public service to multiple unrelated users.
|
||||||
|
|
||||||
|
#### Additional Terms:
|
||||||
The following additional terms apply to the use of this software:
|
The following additional terms apply to the use of this software:
|
||||||
|
|
||||||
1. This software may not be used as part of a public Discord bot service that is monetized (e.g., generating revenue through subscriptions, donations, or other forms of payment) without the prior written permission of the original author.
|
1. This software may not be used as (or part of) a public Discord bot that is monetized (e.g., generating revenue through subscriptions, donations, or other forms of payment) without the prior written permission of the original author.
|
||||||
|
|
||||||
2. This software may not be used as part of a public Discord bot service on multiple Discord servers without attribution to the original author.
|
2. This software may not be used as (or part of) a public Discord bot on multiple Discord servers without attribution to the original author.
|
||||||
|
|
||||||
3. You are allowed to use this bot in a Discord server that makes money or is for-profit, provided that the income is not generated directly from the ticket bot or its functionality.
|
3. You are allowed to use this bot in a Discord server that makes money or is for-profit, provided that the income is not generated directly from the ticket bot or its functionality.
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,10 @@
|
|||||||
> ### 🎥 Content Creators 🎥
|
|
||||||
> Hey there! We're searching for content creators that would want to create a tutorial or setup guide for Open Ticket!<br>
|
|
||||||
> [📌 More Information](.github/CONTENT_CREATORS.md)
|
|
||||||
---
|
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket" width="650px">
|
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket" width="650px"><br>
|
||||||
<br>Powered By<br>
|
<span align="center"><b>The most advanced self-hosted ticket bot for Discord</b></span><br>
|
||||||
<img src="https://apis.dj-dj.be/cdn/opendiscord/logo.png" alt="Open Ticket" width="170px"><br>
|
<sub align="center">Related Projects:</sub><br>
|
||||||
|
<a href="https://odplugins.dj-dj.be"><img src="https://apis.dj-dj.be/cdn/opendiscord/logo.png" alt="Open Discord" height="55px"></a><br><br>
|
||||||
<a href="https://discord.com/invite/26vT9wt3n3"><img alt="Discord Invite Link" src="https://img.shields.io/badge/discord-support%20server-5865F2.svg?style=flat-square&logo=discord"></img></a>
|
<a href="https://discord.com/invite/26vT9wt3n3"><img alt="Discord Invite Link" src="https://img.shields.io/badge/discord-support%20server-5865F2.svg?style=flat-square&logo=discord"></img></a>
|
||||||
<a href="https://github.com/open-discord-bots/open-ticket/releases/tag/v4.0.7"><img alt="Open Ticket Version" src="https://img.shields.io/badge/version-4.0.7-brightgreen.svg?style=flat-square"></img></a>
|
<a href="https://github.com/open-discord-bots/open-ticket/releases/tag/v4.1.3"><img alt="Open Ticket Version" src="https://img.shields.io/badge/version-4.1.3-brightgreen.svg?style=flat-square"></img></a>
|
||||||
<a href="https://otdocs.dj-dj.be"><img alt="Open Ticket Documentation" src="https://img.shields.io/badge/discord.js-v14-CB3837.svg?style=flat-square&logo=npm"></img></a>
|
<a href="https://otdocs.dj-dj.be"><img alt="Open Ticket Documentation" src="https://img.shields.io/badge/discord.js-v14-CB3837.svg?style=flat-square&logo=npm"></img></a>
|
||||||
<a href="https://github.com/open-discord-bots/open-ticket/blob/main/LICENSE"><img alt="Open Ticket License" src="https://img.shields.io/badge/license-GPL%203.0-important.svg?style=flat-square"></img></a>
|
<a href="https://github.com/open-discord-bots/open-ticket/blob/main/LICENSE"><img alt="Open Ticket License" src="https://img.shields.io/badge/license-GPL%203.0-important.svg?style=flat-square"></img></a>
|
||||||
<a href="https://otdocs.dj-dj.be"><img alt="Open Ticket Stars" src="https://img.shields.io/github/stars/djj123dj/open-ticket?color=yellow&label=stars&logo=github&style=flat-square"></img></a>
|
<a href="https://otdocs.dj-dj.be"><img alt="Open Ticket Stars" src="https://img.shields.io/github/stars/djj123dj/open-ticket?color=yellow&label=stars&logo=github&style=flat-square"></img></a>
|
||||||
@@ -19,59 +15,86 @@
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
Open Ticket is the most advanced & customisable discord ticket bot that you will ever find! You can customise up to 300+ variables! This includes <code>Html Transcripts</code>, <code>Advanced Plugins</code>, <code>Custom Embeds</code>, <code>Questions/Modals</code>, <code>Stats</code> & more!
|
Open Ticket is the most <b>advanced and customizable</b> Discord ticket bot available. With <b>350+ configurable settings</b>, you have full control over every aspect of your ticket system!
|
||||||
You're also able to customise every little aspect of the bot! From embeds to transcripts. Open Ticket is also translated in more than <code>36 Languages</code>! If you need any help, feel free to join our <a href="https://discord.dj-dj.be">discord server</a>!
|
From <code>HTML transcripts</code> and <code>Advanced Plugins</code> to <code>Claiming & Pinning</code>, <code>Questions & Modals</code>, <code>Detailed Statistics</code>, and much more.<br><br>
|
||||||
|
The bot is fully translated into <b>36+ languages</b> and has been battle-tested in large Discord servers.<br>
|
||||||
|
Need help or want to get involved? Feel free to join our <a href="https://discord.dj-dj.be"><b>Discord server</b></a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p align="center"><b>⭐️ Help us grow by giving a star! ⭐️</b></p>
|
<h3 align="center"><b>⭐️ Support Open Ticket’s growth by starring this repo! ⭐️</b></h3>
|
||||||
|
<p align="center"><sup>❤️ Love Open Ticket? <a href="https://github.com/sponsors/DJj123dj">Sponsorships</a> help fuel our HTML transcript servers and future features! ❤️</sup></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
> **[-> Navigate to (⏱️ Quick Setup)](#️-quick-start-using-cli)**
|
||||||
|
> **[-> Navigate to (📚 Documentation)](https://otdocs.dj-dj.be)**
|
||||||
|
> **[-> Navigate to (📞 Support Server)](https://discord.dj-dj.be)**
|
||||||
|
|
||||||
### 📌 Features
|
### 📌 Features
|
||||||
- **🦇 pterodactyl support** - Open Ticket works perfect on Pterodactyl based panels! [(Download official eggs)](.eggs/README.md)
|
- **⏳ Quick Setup** - Using the interactive Quick Setup CLI, you can **configure Open Ticket in less than 5min!**
|
||||||
- **💩 no bloat** - Your Open Ticket bot doesn't contain any form of bloat or credits!
|
- **🦇 Pterodactyl Support** - Open Ticket works perfect on Pterodactyl based panels. [(Download official eggs)](.eggs/README.md)
|
||||||
- **🔒 tested & secure** - Open Ticket has been battletested by thousands of servers and is very secure!
|
- **💩 No Credits** - Your bot won't contain any form of bloat or credits. It's all yours!
|
||||||
- **📈 scalable** - Open Ticket is made to handle huge servers! (Already tested in **servers with 100k members**)
|
- **🔒 Private & Secure** - It has been battletested by thousands of servers and **respects security & privacy.**
|
||||||
- **📄 HTML transcripts** - Make use of the most customisable, beautiful and easy-to-use HTML Transcripts!
|
- **📈 Scalable** - Made to handle huge servers and has already been **tested in servers with 100k members.**
|
||||||
- **✅ ticket actions** - Close, Reopen, Delete, Claim, Pin, Rename & Move all your tickets!
|
- **📄 HTML Transcripts** - The **built-in HTML Transcripts Service** provides beautiful & easy-to-use transcripts.
|
||||||
- **🇬🇧 translation** - Open Ticket has been translated in more than **36 languages** by our community!
|
- **✅ Ticket Status** - Close, reopen, delete, claim, pin, rename or move tickets in your server.
|
||||||
- **🎨 customisation** - Open Ticket has been created around customisation, everything can be customised!
|
- **🇬🇧 Translation** - Every message has been translated in more than **36 languages** by our community.
|
||||||
- **🖥️ interactions** - The bot has full support for Buttons, Dropdowns, Slash Commands and Modals!
|
- **🎨 Customisation** - More than **200+ settings** are related to customisation & advanced features.
|
||||||
- **∞ unlimited** - Create an infinite amount of tickets & panels!
|
- **🖥️ Interactions** - The bot has full support for buttons, dropdowns, slash/text commands & modals.
|
||||||
- **📝 advanced plugins** - Create advanced plugins or use pre-made ones by our community!
|
- **∞ Unlimited Possibilities** - Create an infinite amount of tickets, questions & panels.
|
||||||
- **👥 user management** - Add & Remove users from all tickets!
|
- **📝 Advanced Plugins** - Create advanced plugins or use [**pre-made plugins**](#-plugins) by our community.
|
||||||
- **📊 detailed stats** - Open Ticket has ticket, user & global staticstics available for everyone!
|
- **👥 Participants** - Add or remove participants & transfer ownership from one user to another.
|
||||||
- **🚫 blacklist** - Blacklist users to prevent them from creating a ticket!
|
- **📊 Detailed Statistics** - With more than **50+ statistics** for tickets, users & the server.
|
||||||
- **❓ questions** - Let users answer questions in a modal before the ticket is created!
|
- **🚫 Blacklist** - Blacklist users to prevent them from creating new tickets.
|
||||||
- **📦 slash & text** - Open Ticket supports both slash & text commands!
|
- **🚨 Priorities** - Assign different **priority levels** to tickets to mark them as important.
|
||||||
- **📥 extra buttons** - The bot also supports Reaction Roles & Url Buttons, because why not ¯\\_(ツ)_/¯
|
- **❓ Modal Questions** - Give users the ability to **answer questions** in a modal before their ticket is created.
|
||||||
- **✨ commands** - The bot contains more than 25 commands!
|
- **✨ Commands** - Manage all your tickets with more than 28+ commands.
|
||||||
|
- **🤖 Automation** - Automate ticket handling with **autoclose, autodelete** & slow mode.
|
||||||
|
- **😎 Additional Features** - For some weird reason, the bot also supports Reaction Role & URL Buttons.
|
||||||
|
|
||||||
#### And more using plugins!
|
#### And even more using [pre-made community plugins](#-plugins)!
|
||||||
- **💬 reviews** - Create & customise your own review system!
|
- **💬 Reviews** - Create & manage a support review system.
|
||||||
- **📢 feedback** - Collect feedback & create forms for people to answer!
|
- **📢 Feedback** - Collect feedback & create forms for users to answer.
|
||||||
- **🏷️ tags** - Create tags & answer questions automatically using keywords!
|
- **⏰ Reminders** - Create & manage customisable reminders.
|
||||||
- **📝 forms** - Create advanced forms and ask people for additional details!
|
- **🏷️ Tags** - Create tags & answer questions automatically using keywords.
|
||||||
- **🔄 rotating status** - Create a rotating bot status & use dynamic variables from the bot!
|
- **📝 Forms** - Create advanced forms and automatically ask for repetitive questions.
|
||||||
- **💾 sqlite database** - Use an `sqlite` database for increased performances!
|
- **🔄 Channel Display** - Create a voice channel with realtime statistics from the ticket system.
|
||||||
- **🎉 custom embeds** - Create your own embeds and use them in your server!
|
- **💾 SQLite Database** - Use an `SQLite` database for increased performance.
|
||||||
- **⏰ reminders** - Create & manage customisable reminders in your server!
|
- **🎉 Custom Embeds** - Create your own embeds and send them using a command.
|
||||||
- **🎨 customisation** - Yep, you heard it right! Even more customisation!
|
- **🎨 Customisation** - Yep, you heard it right. Even more customisation!
|
||||||
- **😁 And so much more...**
|
- **😁 And so much more...**
|
||||||
|
|
||||||
> ### 📦 Resources
|
### ⏱️ Quick Start (Using Interactive CLI Tool)
|
||||||
> Not all resources are accurate yet! We are working on this.<br>
|
> 1. Download the latest version of Open Ticket on [Github](https://github.com/open-discord-bots/open-ticket).
|
||||||
> <a href="https://www.youtube.com/watch?v=2jK9kAf6ASU"><img src="https://apis.dj-dj.be/cdn/openticket/open-ticket-tutorial.png" alt="Open Ticket Tutorial" width="180px"></a>
|
> 2. Make sure Node.js & Npm are installed using `node -v` (minimum `v20`).
|
||||||
> <a href="https://openticket.dj-dj.be/message.html?msg=The%20current%20tutorial%20is%20outdated,%20we%27re%20still%20working%20on%20a%20new%20one!"><img src="https://apis.dj-dj.be/cdn/openticket/open-ticket-docs.png" alt="Open Ticket Docs" width="180px"></a>
|
> 3. Install any required dependencies using `npm install`.
|
||||||
> <a href="https://github.com/open-discord-bots/plugins"><img src="https://apis.dj-dj.be/cdn/openticket/open-ticket-plugins.png" alt="Open Ticket Plugins" width="180px"></a>
|
> 4. Start the **Quick Setup CLI** using `npm run setup`.
|
||||||
|
> 5. Click on `> ⏱️ Quick Setup` and follow the instructions.
|
||||||
|
> 6. Start the bot using `npm start` or `node index.js`
|
||||||
|
> - If required, the bot will give a report of errors that must be solved.
|
||||||
|
> - Follow the instructions and restart the bot.
|
||||||
|
> 7. Enjoy using Open Ticket!
|
||||||
|
>
|
||||||
|
> #### 🚦 Navigation
|
||||||
|
> **[-> Navigate to (📚 Documentation)](https://otdocs.dj-dj.be)**
|
||||||
|
> **[-> Navigate to (📞 Support Server)](https://discord.dj-dj.be)**
|
||||||
|
> **[-> Navigate to (🧩 Download Plugins)](https://odplugins.dj-dj.be)**
|
||||||
|
>
|
||||||
|
> #### 🖥️ Recommended Hosting
|
||||||
|
> - **A VPS (Virtual Private Server)** - Extra customisation & more stability. Recommended for most servers.
|
||||||
|
> - **Any Pterodactyl-Based Panel** - Easy installation & configuration.
|
||||||
|
|
||||||
### ❤️ Sponsors
|
### ❤️ Sponsors
|
||||||
A big thanks to all our sponsors! Without them, it wouldn't be possible to create this project!
|
Huge thanks to our sponsors for making this project possible. Your support means everything to us.
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td><img src="https://github.com/guillee3.png" alt="Profile Picture" width="100px"></td>
|
<td><img src="https://github.com/guillee3.png" alt="Profile Picture" width="100px"></td>
|
||||||
|
<td><img src="https://github.com/yeeetSK.png" alt="Profile Picture" width="100px"></td>
|
||||||
|
<td><img src="https://github.com/jacobhumston.png" alt="Profile Picture" width="100px"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center"><a href="https://github.com/guillee3"><b>guillee3</b></a></td>
|
<td align="center"><a href="https://github.com/guillee3"><b>guillee3</b></a></td>
|
||||||
|
<td align="center"><a href="https://github.com/yeeetSK"><b>yeeetSK</b></a></td>
|
||||||
|
<td align="center"><a href="https://github.com/jacobhumston"><b>jacobhumston</b></a></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
@@ -83,24 +106,6 @@ A big thanks to all our sponsors! Without them, it wouldn't be possible to creat
|
|||||||
<img src="https://github.com/BENZORICH.png" alt="BENZORICH" width="40px">
|
<img src="https://github.com/BENZORICH.png" alt="BENZORICH" width="40px">
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
### ⏱️ Quick Setup
|
|
||||||
> 1. Download the latest version of Open Ticket on [Github](https://github.com/open-discord-bots/open-ticket).
|
|
||||||
> 2. Make sure node.js & npm are installed using `node -v` (minimum `v18`).
|
|
||||||
> 3. Install any required dependencies using `npm install`.
|
|
||||||
> 4. Configure the bot in the `./config/` directory.
|
|
||||||
> 5. Start the bot using `npm start` or `node index.js`
|
|
||||||
> - The bot will let you know any existing config errors.
|
|
||||||
> - Fix these errors and restart the bot.
|
|
||||||
> 6. Enjoy using Open Ticket!
|
|
||||||
> ### [📔 Visit Documentation](https://otdocs.dj-dj.be)
|
|
||||||
>
|
|
||||||
> ### 🖥️ Recommended Hostings
|
|
||||||
> - [⭐ **Peakhosting.nl**](https://peakhosting.nl/) - Official support for Open Ticket pterodactyl eggs.
|
|
||||||
> - **Any Pterodactyl-Based Panel** - Easy installation & configuration.
|
|
||||||
> - **A Virtual Private Server (VPS)** - Extra customisation & more stability. Recommended for large servers.
|
|
||||||
>
|
|
||||||
> *❤️ Want to display your hosting here? Contact us in our [Discord server](https://discord.dj-dj.be)!*
|
|
||||||
|
|
||||||
## 📸 Preview
|
## 📸 Preview
|
||||||
<img alt="An example of a panel." src="https://apis.dj-dj.be/cdn/openticket/preview-v4/panel-examples.png">
|
<img alt="An example of a panel." src="https://apis.dj-dj.be/cdn/openticket/preview-v4/panel-examples.png">
|
||||||
<img alt="An example of a ticket message." src="https://apis.dj-dj.be/cdn/openticket/preview-v4/ticket-example.png">
|
<img alt="An example of a ticket message." src="https://apis.dj-dj.be/cdn/openticket/preview-v4/ticket-example.png">
|
||||||
@@ -108,60 +113,62 @@ A big thanks to all our sponsors! Without them, it wouldn't be possible to creat
|
|||||||
|
|
||||||
## 🛠️ Contributors
|
## 🛠️ Contributors
|
||||||
### 🖥️ Team & Contributors
|
### 🖥️ Team & Contributors
|
||||||
A list of people that contributed or provided the most support for Open Ticket.
|
A list of amazing people who have contributed or provided supported for **Open Ticket** and **Open Discord**.
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center"><img src="https://github.com/DJj123dj.png" alt="Profile Picture" width="80px"></td>
|
<td align="center"><img src="https://github.com/DJj123dj.png" alt="Profile Picture" width="80px"></td>
|
||||||
|
<td align="center"><img src="https://github.com/guillee3.png" alt="Profile Picture" width="80px"></td>
|
||||||
<td align="center"><img src="https://github.com/smetsliam.png" alt="Profile Picture" width="80px"></td>
|
<td align="center"><img src="https://github.com/smetsliam.png" alt="Profile Picture" width="80px"></td>
|
||||||
<td align="center"><img src="https://github.com/FrankVissers.png" alt="Profile Picture" width="80px"></td>
|
<td align="center"><img src="https://github.com/FrankVissers.png" alt="Profile Picture" width="80px"></td>
|
||||||
<td align="center"><img src="https://github.com/Sank34.png" alt="Profile Picture" width="80px"></td>
|
<td align="center"><img src="https://github.com/Sank34.png" alt="Profile Picture" width="80px"></td>
|
||||||
<td align="center"><img src="https://github.com/Roppl3r.png" alt="Profile Picture" width="80px"></td>
|
<td align="center"><img src="https://github.com/SKaranjaN.png" alt="Profile Picture" width="80px"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th><a href="https://github.com/DJj123dj">💻 DJj123dj</a></th>
|
<th><a href="https://github.com/DJj123dj">💻🧩💬 DJj123dj</a></th>
|
||||||
|
<th><a href="https://github.com/guillee3">🧩💬 Guillee3</a></th>
|
||||||
<th><a href="https://github.com/smetsliam">💬 smetsliam</a></th>
|
<th><a href="https://github.com/smetsliam">💬 smetsliam</a></th>
|
||||||
<th><a href="https://github.com/FrankVissers">💬 Frank Vissers</a></th>
|
<th><a href="https://github.com/FrankVissers">💬 Frank Vissers</a></th>
|
||||||
<th><a href="https://github.com/Sank34">💬 Sanke</a></th>
|
<th><a href="https://github.com/Sank34">💬 Sanke</a></th>
|
||||||
<th><a href="https://github.com/Roppl3r">🧩 Roppl3r</a></th>
|
<th><a href="https://github.com/SKaranjaN">🧩 SKaranjaN</a></th>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
### 💬 Translators
|
### 💬 Translators
|
||||||
With the amazing support of our translators, we've been able to translate Open Ticket in more than **36 languages**!
|
With the amazing support of our translators, we've been able to translate Open Ticket in more than **36 languages**!
|
||||||
As a result, you're able to enjoy using Open Ticket in your own native language.
|
#### Categories:
|
||||||
- **Categories: 🟢 Available - 🤖 Made Using AI - 🔴 Unavailable/Outdated**
|
- **🟢 Available**
|
||||||
|
- **🤖 Partially Made Using AI**
|
||||||
|
- **🟠 Incomplete**
|
||||||
|
- **🔴 Unavailable/Outdated**
|
||||||
|
|
||||||
|🔍 |Languages (36) |Maintainer (Github/Discord) |
|
|🔍 |Languages (36) |Maintainer (Github/Discord) |
|
||||||
|---|---------------------|--------------------------------|
|
|----|---------------------|--------------------------------|
|
||||||
|🟢 |🇬🇧 English |djj123dj |
|
|🟢 |🇬🇧 English |djj123dj |
|
||||||
|🟢 |🇳🇱 Dutch |djj123dj |
|
|🟢 |🇳🇱 Dutch |djj123dj |
|
||||||
|🟢 |🇩🇪 German |benzorich |
|
|🟢 |🇩🇪 German |benzorich |
|
||||||
|
|🟢 |🇫🇷 French |guillee.3 |
|
||||||
|🟢 |🇪🇸 Spanish |redactado & josuens |
|
|🟢 |🇪🇸 Spanish |redactado & josuens |
|
||||||
|🟢 |🇵🇹 Portuguese |quiradon |
|
|🟢 |🇵🇹 Portuguese |quiradon |
|
||||||
|🟢 |❓ Catalan |guillee3 |
|
|🟢 |🇮🇹 Italian |fraden1mvp. & imperatorix_17 |
|
||||||
|🟢 |🇨🇿 Czech |spyeye_ |
|
|
||||||
|🟢 |🇭🇺 Hungarian |kornel0706 |
|
|
||||||
|🟢 |🇷🇴 Romanian |sankedev |
|
|
||||||
|🟢 |🇺🇦 Ukrainian |anderskiy |
|
|
||||||
|🟢 |🇮🇩 Indonesian |erxg |
|
|
||||||
|🟢 |🇮🇹 Italian |fraden1mvp. |
|
|
||||||
|🟢 |🇩🇰 Danish |the_gamer |
|
|
||||||
|🟢 |🇹🇭 Thai |modshd |
|
|
||||||
|🟢 |🇹🇷 Turkish |palestinian |
|
|
||||||
|🟢 |🇫🇷 French |guillee.3 |
|
|
||||||
|🟢 |🇦🇪 Arabic |palestinian |
|
|
||||||
|🟢 |🇮🇳 Hindi |an_developer |
|
|
||||||
|🟢 |🇱🇹 Lithuanian |tsgindrius |
|
|
||||||
|🟢 |🇵🇱 Polish |danoglez |
|
|
||||||
|🟢 |🇳🇴 Norwegian |NoOneNook |
|
|
||||||
|🟢 |🇸🇪 Swedish |NoOneNook |
|
|🟢 |🇸🇪 Swedish |NoOneNook |
|
||||||
|
|🟢 |🇳🇴 Norwegian |NoOneNook |
|
||||||
|
|🟢 |🇹🇭 Thai |modshd |
|
||||||
|
|🟢 |🇮🇳 Hindi |challenger_nova |
|
||||||
|
|🟢 |🇭🇺 Hungarian |kornel0706 |
|
||||||
|
|🟢 |🇮🇩 Indonesian |erxg |
|
||||||
|
|🟢 |🇱🇹 Lithuanian |tsgindrius |
|
||||||
|
|🟢 |🇺🇦 Ukrainian |anderskiy |
|
||||||
|
|🟢 |🇨🇿 Czech |spyeye_ |
|
||||||
|
|🟢 |🇷🇴 Romanian |sankedev |
|
||||||
|
|🟢 |🇩🇰 Danish |the_gamer |
|
||||||
|
|🟢 |🇹🇷 Turkish |palestinian |
|
||||||
|
|🟢 |🇦🇪 Arabic |palestinian |
|
||||||
|
|🟢 |🇵🇱 Polish |danoglez |
|
||||||
|🟢 |🇮🇷 Persian |dysashop & zhavis |
|
|🟢 |🇮🇷 Persian |dysashop & zhavis |
|
||||||
|🟢 |🇧🇩 Bengali |HanumeshGupta |
|
|🟢 |🇧🇩 Bengali |HanumeshGupta |
|
||||||
|
|🟢 |❓ Catalan |guillee3 |
|
||||||
|🤖 |🇪🇪 Estonian |iamnotmega |
|
|🤖 |🇪🇪 Estonian |iamnotmega |
|
||||||
|🤖 |🇫🇮 Finnish |iamnotmega |
|
|🤖 |🇫🇮 Finnish |iamnotmega |
|
||||||
|🤖 |🇷🇺 Russian |NoOneNook |
|
|
||||||
|🤖 |🇱🇻 Latvian |NoOneNook |
|
|
||||||
|🤖 |🇻🇳 Vietnamese |ngocdiep2006 |
|
|
||||||
|🤖 |🇯🇵 Japanese |HanumeshGupta |
|
|🤖 |🇯🇵 Japanese |HanumeshGupta |
|
||||||
|🤖 |🇬🇷 Greek |HanumeshGupta |
|
|🤖 |🇬🇷 Greek |HanumeshGupta |
|
||||||
|🤖 |🇸🇮 Slovenian |HanumeshGupta |
|
|🤖 |🇸🇮 Slovenian |HanumeshGupta |
|
||||||
@@ -169,10 +176,14 @@ As a result, you're able to enjoy using Open Ticket in your own native language.
|
|||||||
|🤖 |🇮🇳 Tamil |HanumeshGupta |
|
|🤖 |🇮🇳 Tamil |HanumeshGupta |
|
||||||
|🤖 |🇨🇳 Simplified Chinese |HanumeshGupta |
|
|🤖 |🇨🇳 Simplified Chinese |HanumeshGupta |
|
||||||
|🤖 |❓ Kurdish |HanumeshGupta |
|
|🤖 |❓ Kurdish |HanumeshGupta |
|
||||||
|
|🤖 |🇷🇺 Russian |NoOneNook |
|
||||||
|
|🤖 |🇱🇻 Latvian |NoOneNook |
|
||||||
|
|🤖 |🇻🇳 Vietnamese |ngocdiep2006 |
|
||||||
|🔴 |🇨🇳 Traditional Chinese|[⭐ Contribute!](.github/CONTRIBUTING.md)|
|
|🔴 |🇨🇳 Traditional Chinese|[⭐ Contribute!](.github/CONTRIBUTING.md)|
|
||||||
|
<!--[⭐ Contribute!](.github/CONTRIBUTING.md) -->
|
||||||
|
|
||||||
## ⭐️ Star History
|
## ⭐️ Star History
|
||||||
Please give this repository a star if you like it.
|
If you enjoy using Open ticket, **consider starring** this repository.
|
||||||
This will help us grow and reach even more people!
|
This will help us grow and reach even more people!
|
||||||
|
|
||||||
<a href="https://star-history.com/#open-discord-bots/open-ticket&Date">
|
<a href="https://star-history.com/#open-discord-bots/open-ticket&Date">
|
||||||
@@ -184,13 +195,22 @@ This will help us grow and reach even more people!
|
|||||||
</a>
|
</a>
|
||||||
|
|
||||||
## 🧩 Plugins
|
## 🧩 Plugins
|
||||||
**Download all plugins in our [Official Plugin Repository](https://github.com/open-discord-bots/plugins)!**<br>
|
**Download all plugins from our [Official Plugin Repository](https://github.com/open-discord-bots/plugins)!**<br>
|
||||||
> #### ⭐ Featured Plugins (Top 5 Most Used)
|
> #### ⭐ Featured Plugins (Top 5 Most Used)
|
||||||
> **[`ot-sqlite-database`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-sqlite-database/),
|
> **[`ot-sqlite-database`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-sqlite-database/),
|
||||||
> [`ot-migrate-v3`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-migrate-v3/),
|
|
||||||
> [`ot-reviews`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-reviews/),
|
> [`ot-reviews`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-reviews/),
|
||||||
> [`ot-feedback`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-feedback/),
|
> [`ot-feedback`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-feedback/),
|
||||||
> [`ot-tags`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-tags/)**
|
> [`ot-tags`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-tags/),
|
||||||
|
> [`ot-restrictions`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-restrictions/)**
|
||||||
|
|
||||||
|
#### Categories:
|
||||||
|
- **📄 Example** - These plugins serve as an example or starting template.
|
||||||
|
- **📢 Command** - These plugins add new commands to the bot.
|
||||||
|
- **⚙️ Utility** - These plugins help with utility systems. You might not notice them as a ticket user/admin directly.
|
||||||
|
- **🎨 Customisation** - These plugins add even more customisation to the bot.
|
||||||
|
- **💼 Management** - These plugins add features that help you manage your server or ticket system.
|
||||||
|
- **🤖 Client** - These plugins add features affecting the Discord Client or bot itself.
|
||||||
|
- Please Create a new category when your plugin doesn't fit in one of the available categories.
|
||||||
|
|
||||||
### 📦 Official *(made by DJdj Development)*
|
### 📦 Official *(made by DJdj Development)*
|
||||||
|Name |Category |Description |
|
|Name |Category |Description |
|
||||||
@@ -199,46 +219,45 @@ This will help us grow and reach even more people!
|
|||||||
|[`example-command`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/example-command/) |📄 Example |Sample custom command using the Open Discord system. |
|
|[`example-command`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/example-command/) |📄 Example |Sample custom command using the Open Discord system. |
|
||||||
|[`ot-jump-to-top`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-jump-to-top/) |📢 Command |Add a simple command to jump to the top of the ticket. |
|
|[`ot-jump-to-top`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-jump-to-top/) |📢 Command |Add a simple command to jump to the top of the ticket. |
|
||||||
|[`ot-kill-switch`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-kill-switch/) |📢 Command |Temporarily disable the ticket system using a kill switch. |
|
|[`ot-kill-switch`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-kill-switch/) |📢 Command |Temporarily disable the ticket system using a kill switch. |
|
||||||
|[`od-hosting-status`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/od-hosting-status/) |📢 Command |A simple command to send hosting status updates to a channel. |
|
|[`ot-hosting-status`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-hosting-status/) |📢 Command |A simple command to send hosting status updates to a channel. |
|
||||||
|[`od-shutdown`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/od-shutdown/) |📢 Command |A simple command to turn off the bot from a slash command (server & bot owner only). |
|
|[`ot-shutdown`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-shutdown/) |📢 Command |A simple command to turn off the bot from a slash command (server & bot owner only). |
|
||||||
|[`ot-sqlite-database`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-sqlite-database/) |⚙️ Utility |With this plugin, the database will be an SQLite file. It's a must-have for large servers! |
|
|[`ot-sqlite-database`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-sqlite-database/) |⚙️ Utility |With this plugin, the database will be an SQLite file. It's a must-have for large servers! |
|
||||||
|[`od-no-slash-clear`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/od-no-slash-clear/) |⚙️ Utility |Disable the automatic removal of slash commands that aren't used by Open Ticket. |
|
|[`ot-no-slash-clear`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-no-slash-clear/) |⚙️ Utility |Disable the automatic removal of slash commands that aren't used by Open Ticket. |
|
||||||
|[`ot-migrate-v3`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-migrate-v3/) |⚙️ Utility |Use this plugin to migrate all tickets from Open Ticket v3 to v4. |
|
|[`ot-migrate-v3`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-migrate-v3/) |⚙️ Utility |Use this plugin to migrate all tickets from Open Ticket v3 to v4. |
|
||||||
|[`ot-ticket-message-extras`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-ticket-message-extras/) |🎨 Customisation |A plugin which adds a few little features to the ticket message. |
|
|[`ot-ticket-message-extras`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-ticket-message-extras/) |🎨 Customisation |A plugin which adds a few little features to the ticket message. |
|
||||||
|[`ot-rename-keep-prefix`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-rename-keep-prefix/) |🎨 Customisation |Simple plugin to keep the channel prefix when using the /rename command. |
|
|[`ot-rename-keep-prefix`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-rename-keep-prefix/) |🎨 Customisation |Simple plugin to keep the channel prefix when using the /rename command. |
|
||||||
|[`ot-customise-buttons`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-customise-buttons/) |🎨 Customisation |Customise almost all built-in buttons. This includes the claim, reopen, close & delete buttons. |
|
|[`ot-customise-buttons`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-customise-buttons/) |🎨 Customisation |Customise almost all built-in buttons. This includes the claim, reopen, close & delete buttons. |
|
||||||
|[`ot-ephemeral-messages`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-ephemeral-messages/) |🎨 Customisation |Customise for every messages if it needs to be ephemeral or not. |
|
|[`ot-ephemeral-messages`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-ephemeral-messages/) |🎨 Customisation |Customise for every messages if it needs to be ephemeral or not. |
|
||||||
|[`ot-footers`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-footers/) |🎨 Customisation |A simple plugin to add footers in all Open Ticket embeds. |
|
|[`ot-footers`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-footers/) |🎨 Customisation |A simple plugin to add footers in all Open Ticket embeds. |
|
||||||
|[`od-alt-detector`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/od-alt-detector/) |💼 Management |Use the discord-alt-detector npm package by DJdj Development in your ticket bot. |
|
|[`ot-alt-detector`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-alt-detector/) |💼 Management |Use the discord-alt-detector npm package by DJdj Development in your ticket bot. |
|
||||||
|[`ot-embeds`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-embeds/) |💼 Management |Create custom premade embeds in the config or use the command to create one from scratch. |
|
|[`ot-embeds`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-embeds/) |💼 Management |Create custom premade embeds in the config or use the command to create one from scratch. |
|
||||||
|[`ot-move-actions`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-move-actions/) |💼 Management |Automatically unclaim/unpin a ticket when it's moved using `/move`. |
|
|[`ot-move-actions`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-move-actions/) |💼 Management |Automatically unclaim/unpin a ticket when it's moved using `/move`. |
|
||||||
|[`ot-reviews`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-reviews/) |💼 Management |Review system for Open Ticket! It is very customisable and has lots of features. |
|
|[`ot-reviews`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-reviews/) |💼 Management |Review system for Open Ticket! It is very customisable and has lots of features. |
|
||||||
|[`ot-tags`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-tags/) |💼 Management |Use tags to quickly reply with a pre-existing text. |
|
|[`ot-tags`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-tags/) |💼 Management |Use tags to quickly reply with a pre-existing text. |
|
||||||
|
|[`ot-restrictions`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-restrictions/) |💼 Management |Restrict which roles can open a specific ticket option. |
|
||||||
|[`ot-better-status`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-better-status/) |🤖 Client |An advanced status plugin to rotate between states. It also allows for the use of variables. |
|
|[`ot-better-status`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-better-status/) |🤖 Client |An advanced status plugin to rotate between states. It also allows for the use of variables. |
|
||||||
|
|[`ot-channel-display`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-channel-display/) |🤖 Client |A plugin to show different variables in a voice channel in your server. |
|
||||||
|
|[`ot-vanity`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-vanity/) |🤖 Client |A plugin to detect the vanity status of members in the server and give them exclusive privilleges. |
|
||||||
|
|
||||||
### ✅ Verified *(made by community)*
|
### ✅ Verified *(made by community)*
|
||||||
|Name |Author |Category |Description |
|
|Name |Author |Category |Description |
|
||||||
|---------------------------------------------------------------------|----------------------------|----------------------------|-------------------------|
|
|---------------------------------------------------------------------|----------------------------|----------------------------|-------------------------|
|
||||||
|[`ot-config-reload`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-config-reload/) |guillee.3 |⚙️ Utility |This plugin adds a new command that allows reloading the Open Ticket config files without the need for a restart. |
|
|[`ot-config-reload`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-config-reload/) |guillee.3 |⚙️ Utility |This plugin adds a new command that allows reloading the Open Ticket config files without the need for a restart. |
|
||||||
|[`ot-ticket-forms`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-ticket-forms/) |guillee.3 |💼 Management |An advanced forms plugin for Open Ticket. |
|
|
||||||
|[`ot-feedback`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-feedback/) |an_developer |💼 Management |A plugin to gather feedback of your support service. |
|
|[`ot-feedback`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-feedback/) |an_developer |💼 Management |A plugin to gather feedback of your support service. |
|
||||||
|[`ot-assign-role`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-assign-role/) |rapid.fast |💼 Management |This plugin assigns a predefined role to a user upon creating a ticket. |
|
|[`ot-assign-role`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-assign-role/) |rapid.fast |💼 Management |This plugin assigns a predefined role to a user upon creating a ticket. |
|
||||||
|
|[`ot-moderation`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-moderation/) |NotMukundOP |💼 Management |A simple moderation plugin for Open Discord with ban, kick & warnings. |
|
||||||
|
|[`ot-template-system`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-template-system/) |DanoGlez |💼 Management |Predefined template system for sending quick messages. |
|
||||||
|[`ot-volume-warning`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-volume-warning/) |guillee.3 |💼 Management |Alerts ticket creators when too many tickets are open, indicating possible response delays. |
|
|[`ot-volume-warning`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-volume-warning/) |guillee.3 |💼 Management |Alerts ticket creators when too many tickets are open, indicating possible response delays. |
|
||||||
|[`od-reminders`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/od-reminders/) |guillee.3 |💼 Management |Set reminders that will be sent to a channel every specified time. |
|
|[`ot-reminders`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-reminders/) |guillee.3 |💼 Management |Set reminders that will be sent to a channel every specified time. |
|
||||||
|
|[`ot-ticket-forms`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-ticket-forms/) |guillee.3 |💼 Management |An advanced forms plugin for Open Ticket. |
|
||||||
|
|[`ot-followups`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-followups/) |guillee.3 |💼 Management |Send additional follow-up messages to a ticket. |
|
||||||
|
|[`ot-twitch-notifier`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-twitch-notifier/) |guillee.3 |💼 Management |Get notified when your favorite Twitch streamers go live. |
|
||||||
|[`ot-translate-cmds`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-translate-cmds/) |guillee.3 |🤖 Client |Translate all built-in command names, descriptions & options. |
|
|[`ot-translate-cmds`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-translate-cmds/) |guillee.3 |🤖 Client |Translate all built-in command names, descriptions & options. |
|
||||||
|
|
||||||
### 📢 Categories
|
|
||||||
- **📄 Example** - These plugins serve as an example or starting template.
|
|
||||||
- **📢 Command** - These plugins add new commands to the bot.
|
|
||||||
- **⚙️ Utility** - These plugins help with backend & systems. You won't notice it in discord itself.
|
|
||||||
- **🎨 Customisation** - These plugins help you customise the bot even further.
|
|
||||||
- **💼 Management** - These plugins add features that help you manage your server.
|
|
||||||
- **🤖 Client** - These plugins add features affecting the discord client or bot itself.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket Logo" width="170px">
|
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket Logo" width="170px">
|
||||||
|
|
||||||
**README.md**<br>
|
**README.md**<br>
|
||||||
[changelog](https://otgithub.dj-dj.be/releases) - [documentation](https://otdocs.dj-dj.be) - [tutorial](https://www.youtube.com/watch?v=2jK9kAf6ASU) - [website](https://openticket.dj-dj.be) - [discord server](https://discord.dj-dj.be) - [license](./LICENSE.md)<br>
|
[Changelog](https://otgithub.dj-dj.be/releases) - [Documentation](https://otdocs.dj-dj.be) - [Website](https://openticket.dj-dj.be) - [Support Server](https://discord.dj-dj.be) - [License](./LICENSE.md)<br>
|
||||||
|
|
||||||
© 2025 - [DJdj Development](https://www.dj-dj.be) - [Terms](https://www.dj-dj.be/terms) - [Privacy Policy](https://www.dj-dj.be/privacy) - [Support Us](https://github.com/sponsors/DJj123dj)
|
© 2021 - 2026 - [DJdj Development](https://www.dj-dj.be) - [Terms](https://www.dj-dj.be/terms) - [Privacy Policy](https://www.dj-dj.be/privacy) - [Support Us](https://github.com/sponsors/DJj123dj)
|
||||||
|
|||||||
+51
-21
@@ -2,10 +2,10 @@
|
|||||||
"_INFO":{
|
"_INFO":{
|
||||||
"support":"https://otdocs.dj-dj.be",
|
"support":"https://otdocs.dj-dj.be",
|
||||||
"discord":"https://discord.dj-dj.be",
|
"discord":"https://discord.dj-dj.be",
|
||||||
"version":"open-ticket-v4.0.7"
|
"version":"open-ticket-v4.1.3"
|
||||||
},
|
},
|
||||||
|
|
||||||
"token":"your bot token here! (or leave empty when using 'tokenFromENV')",
|
"token":"insert your bot token here! (or leave empty when using 'tokenFromENV')",
|
||||||
"tokenFromENV":false,
|
"tokenFromENV":false,
|
||||||
|
|
||||||
"mainColor":"#f8ba00",
|
"mainColor":"#f8ba00",
|
||||||
@@ -20,21 +20,34 @@
|
|||||||
"status":{
|
"status":{
|
||||||
"enabled":true,
|
"enabled":true,
|
||||||
"type":"listening OR watching OR playing OR custom",
|
"type":"listening OR watching OR playing OR custom",
|
||||||
|
"mode":"online OR invisible OR idle OR dnd",
|
||||||
"text":"/help",
|
"text":"/help",
|
||||||
"status":"online OR invisible OR idle OR dnd"
|
"state":"(additional text or leave empty)"
|
||||||
},
|
},
|
||||||
|
|
||||||
"system":{
|
"system":{
|
||||||
"removeParticipantsOnClose":false,
|
|
||||||
"replyOnTicketCreation":true,
|
|
||||||
"replyOnReactionRole":true,
|
|
||||||
"useTranslatedConfigChecker":true,
|
|
||||||
"preferSlashOverText":true,
|
"preferSlashOverText":true,
|
||||||
"sendErrorOnUnknownCommand":true,
|
"sendErrorOnUnknownCommand":true,
|
||||||
"questionFieldsInCodeBlock":true,
|
"questionFieldsInCodeBlock":true,
|
||||||
|
"displayFieldsWithQuestions":false,
|
||||||
|
"showGlobalAdminsInPanelRoles":false,
|
||||||
"disableVerifyBars":false,
|
"disableVerifyBars":false,
|
||||||
"useRedErrorEmbeds":true,
|
"useRedErrorEmbeds":true,
|
||||||
|
"alwaysShowReason":false,
|
||||||
"emojiStyle":"before (OR after OR double OR disabled)",
|
"emojiStyle":"before (OR after OR double OR disabled)",
|
||||||
|
"pinEmoji":"📌",
|
||||||
|
|
||||||
|
"replyOnTicketCreation":true,
|
||||||
|
"replyOnReactionRole":true,
|
||||||
|
"askPriorityOnTicketCreation":false,
|
||||||
|
"removeParticipantsOnClose":false,
|
||||||
|
"disableAutocloseAfterReopen":true,
|
||||||
|
"autodeleteRequiresClosedTicket":true,
|
||||||
|
"adminOnlyDeleteWithoutTranscript":true,
|
||||||
|
"allowCloseBeforeMessage":false,
|
||||||
|
"allowCloseBeforeAdminMessage":true,
|
||||||
|
"useTranslatedConfigChecker":true,
|
||||||
|
"pinFirstTicketMessage":false,
|
||||||
|
|
||||||
"enableTicketClaimButtons":true,
|
"enableTicketClaimButtons":true,
|
||||||
"enableTicketCloseButtons":true,
|
"enableTicketCloseButtons":true,
|
||||||
@@ -54,6 +67,18 @@
|
|||||||
"userMaximum":3
|
"userMaximum":3
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"channelTopic":{
|
||||||
|
"showOptionName":true,
|
||||||
|
"showOptionDescription":false,
|
||||||
|
"showOptionTopic":true,
|
||||||
|
"showPriority":false,
|
||||||
|
"showClosed":true,
|
||||||
|
"showClaimed":false,
|
||||||
|
"showPinned":false,
|
||||||
|
"showCreator":false,
|
||||||
|
"showParticipants":false
|
||||||
|
},
|
||||||
|
|
||||||
"permissions":{
|
"permissions":{
|
||||||
"help":"everyone (OR admin OR none OR role id)",
|
"help":"everyone (OR admin OR none OR role id)",
|
||||||
"panel":"admin (OR everyone OR none OR role id)",
|
"panel":"admin (OR everyone OR none OR role id)",
|
||||||
@@ -73,23 +98,28 @@
|
|||||||
"stats":"everyone (OR admin OR none OR role id)",
|
"stats":"everyone (OR admin OR none OR role id)",
|
||||||
"clear":"admin (OR everyone OR none OR role id)",
|
"clear":"admin (OR everyone OR none OR role id)",
|
||||||
"autoclose":"admin (OR everyone OR none OR role id)",
|
"autoclose":"admin (OR everyone OR none OR role id)",
|
||||||
"autodelete":"admin (OR everyone OR none OR role id)"
|
"autodelete":"admin (OR everyone OR none OR role id)",
|
||||||
|
"transfer":"admin (OR everyone OR none OR role id)",
|
||||||
|
"topic":"admin (OR everyone OR none OR role id)",
|
||||||
|
"priority":"admin (OR everyone OR none OR role id)"
|
||||||
},
|
},
|
||||||
|
|
||||||
"messages":{
|
"messages":{
|
||||||
"creation":{"dm":false, "logs":true},
|
"creation":{"dm":false,"logs":true},
|
||||||
"closing":{"dm":false, "logs":true},
|
"closing":{"dm":false,"logs":true},
|
||||||
"deleting":{"dm":false, "logs":true},
|
"deleting":{"dm":false,"logs":true},
|
||||||
"reopening":{"dm":false, "logs":true},
|
"reopening":{"dm":false,"logs":true},
|
||||||
"claiming":{"dm":false, "logs":true},
|
"claiming":{"dm":false,"logs":true},
|
||||||
"pinning":{"dm":false, "logs":true},
|
"pinning":{"dm":false,"logs":true},
|
||||||
"adding":{"dm":false, "logs":true},
|
"adding":{"dm":false,"logs":true},
|
||||||
"removing":{"dm":false, "logs":true},
|
"removing":{"dm":false,"logs":true},
|
||||||
"renaming":{"dm":false, "logs":true},
|
"renaming":{"dm":false,"logs":true},
|
||||||
"moving":{"dm":false, "logs":true},
|
"moving":{"dm":false,"logs":true},
|
||||||
"blacklisting":{"dm":false, "logs":true},
|
"blacklisting":{"dm":false,"logs":true},
|
||||||
"roleAdding":{"dm":false, "logs":true},
|
"transferring":{"dm":false,"logs":true},
|
||||||
"roleRemoving":{"dm":false, "logs":true}
|
"topicChange":{"dm":false,"logs":true},
|
||||||
|
"priorityChange":{"dm":false,"logs":true},
|
||||||
|
"reactionRole":{"dm":false,"logs":true}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+5
-1
@@ -25,7 +25,7 @@
|
|||||||
"claimedCategory":[
|
"claimedCategory":[
|
||||||
{"user":"user id","category":"category id"}
|
{"user":"user id","category":"category id"}
|
||||||
],
|
],
|
||||||
"description":"This is a question ticket (or leave empty)"
|
"topic":"This is the topic of this ticket channel and is visible to everyone! (or leave empty)"
|
||||||
},
|
},
|
||||||
|
|
||||||
"dmMessage":{
|
"dmMessage":{
|
||||||
@@ -87,6 +87,10 @@
|
|||||||
"enabled":false,
|
"enabled":false,
|
||||||
"globalMaximum":20,
|
"globalMaximum":20,
|
||||||
"userMaximum":3
|
"userMaximum":3
|
||||||
|
},
|
||||||
|
"slowMode":{
|
||||||
|
"enabled":false,
|
||||||
|
"slowModeSeconds":20
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
+1
-1
@@ -17,7 +17,7 @@
|
|||||||
"image":"https://www.example.com/image.png (or leave empty)",
|
"image":"https://www.example.com/image.png (or leave empty)",
|
||||||
"thumbnail":"https://www.example.com/image.png (or leave empty)",
|
"thumbnail":"https://www.example.com/image.png (or leave empty)",
|
||||||
|
|
||||||
"footer":"Open Ticket v4.0.7 (or leave empty)",
|
"footer":"Open Ticket v4.1.3 (or leave empty)",
|
||||||
"fields":[
|
"fields":[
|
||||||
{"name":"field name","value":"field value","inline":false}
|
{"name":"field name","value":"field value","inline":false}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ process.argv.push(...flags)
|
|||||||
██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║ ██║██║ ██╔═██╗ ██╔══╝ ██║
|
██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║ ██║██║ ██╔═██╗ ██╔══╝ ██║
|
||||||
╚██████╔╝██║ ███████╗██║ ╚████║ ██║ ██║╚██████╗██║ ██╗███████╗ ██║
|
╚██████╔╝██║ ███████╗██║ ╚████║ ██║ ██║╚██████╗██║ ██╗███████╗ ██║
|
||||||
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝ ╚═╝
|
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝ ╚═╝
|
||||||
v4.0.7 - Made by DJj123dj & Contributors
|
v4.1.3 - Made by DJj123dj & Contributors
|
||||||
|
|
||||||
Discord: https://discord.dj-dj.be
|
Discord: https://discord.dj-dj.be
|
||||||
Docs: https://otdocs.dj-dj.be
|
Docs: https://otdocs.dj-dj.be
|
||||||
@@ -28,6 +28,7 @@ const fs = require("fs")
|
|||||||
const ts = require("typescript")
|
const ts = require("typescript")
|
||||||
const {createHash,Hash} = require("crypto")
|
const {createHash,Hash} = require("crypto")
|
||||||
const nodepath = require('path')
|
const nodepath = require('path')
|
||||||
|
const ansis = require("ansis")
|
||||||
|
|
||||||
/** ## What is this?
|
/** ## What is this?
|
||||||
* This is a function which compares `./src/` with a hash stored in `./dist/hash.txt`.
|
* This is a function which compares `./src/` with a hash stored in `./dist/hash.txt`.
|
||||||
@@ -84,6 +85,51 @@ function saveNewCompilationHash(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!process.argv.includes("--no-compile")){
|
if (!process.argv.includes("--no-compile")){
|
||||||
|
const requiredDependencies = new Set()
|
||||||
|
if (fs.existsSync("./plugins")){
|
||||||
|
console.log("OT: Reading plugin.json files...")
|
||||||
|
for (const pluginDir of fs.readdirSync("./plugins")){
|
||||||
|
if (pluginDir === ".DS_Store") continue
|
||||||
|
const pluginPath = nodepath.join("./plugins", pluginDir)
|
||||||
|
if (!fs.statSync(pluginPath).isDirectory()) continue
|
||||||
|
|
||||||
|
const pluginJsonPath = nodepath.join(pluginPath, "plugin.json")
|
||||||
|
if (fs.existsSync(pluginJsonPath)){
|
||||||
|
try{
|
||||||
|
const pluginData = JSON.parse(fs.readFileSync(pluginJsonPath).toString())
|
||||||
|
if (pluginData.npmDependencies && Array.isArray(pluginData.npmDependencies)){
|
||||||
|
pluginData.npmDependencies.forEach((dep) => {
|
||||||
|
if (typeof dep === "string" && dep.trim()){
|
||||||
|
requiredDependencies.add(dep.trim())
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}catch(err){
|
||||||
|
// skip invalid plugin.json files, will be caught later
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requiredDependencies.size > 0){
|
||||||
|
console.log("OT: Checking plugin npm dependencies...")
|
||||||
|
/**@type {string[]} */
|
||||||
|
const missingDeps = []
|
||||||
|
for (const dep of requiredDependencies){
|
||||||
|
try{
|
||||||
|
require.resolve(dep)
|
||||||
|
}catch(err){
|
||||||
|
missingDeps.push(dep)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (missingDeps.length > 0){
|
||||||
|
console.log(ansis.red("OT: ❌ Fatal Error --> Missing npm dependencies required by plugins:\n\n")+ansis.cyan(missingDeps.map((dep) => " - "+dep).join("\n")+"\n"))
|
||||||
|
console.log("OT: Please install missing dependencies using the following command:\n> "+ansis.bold.green("npm install " + missingDeps.join(" "))+"\n")
|
||||||
|
process.exit(1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (requiresCompilation()){
|
if (requiresCompilation()){
|
||||||
console.log("OT: Compilation Required...")
|
console.log("OT: Compilation Required...")
|
||||||
|
|
||||||
|
|||||||
+567
-437
File diff suppressed because it is too large
Load Diff
+548
-418
File diff suppressed because it is too large
Load Diff
+145
-15
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["guillee3"],
|
"translators":["guillee3"],
|
||||||
"lastedited":"21/08/2024",
|
"lastedited":"16/02/2026",
|
||||||
"language":"Catalan",
|
"language":"Catalan",
|
||||||
"automated":false
|
"automated":false
|
||||||
},
|
},
|
||||||
@@ -31,6 +31,14 @@
|
|||||||
"stringContains":"Aquesta cadena ha de contenir {0}!",
|
"stringContains":"Aquesta cadena ha de contenir {0}!",
|
||||||
"stringChoices":"Aquesta cadena només pot ser un dels valors següents: {0}!",
|
"stringChoices":"Aquesta cadena només pot ser un dels valors següents: {0}!",
|
||||||
"stringRegex":"Aquesta cadena és invàlida!",
|
"stringRegex":"Aquesta cadena és invàlida!",
|
||||||
|
"stringInvertedContains":"Aquesta cadena no pot contenir {0}!",
|
||||||
|
"stringLowercase":"Aquesta cadena ha d'estar escrita només en minúscules!",
|
||||||
|
"stringUppercase":"Aquesta cadena ha d'estar escrita només en majúscules!",
|
||||||
|
"stringSpecialCharacters":"Aquesta cadena no pot contenir cap caràcter especial! (només a-z, 0-9 i espai)",
|
||||||
|
"stringNoSpaces":"Aquesta cadena no pot contenir espais!",
|
||||||
|
"stringCapitalWord":"Es recomana que cada paraula d'aquesta cadena comenci amb una lletra majúscula!",
|
||||||
|
"stringCapitalSentence":"Sembla que algunes frases d'aquesta cadena no comencen amb una lletra majúscula!",
|
||||||
|
"stringPunctuation":"Sembla que la frase d'aquesta cadena no acaba amb un signe de puntuació!",
|
||||||
|
|
||||||
"numberTooShort":"Aquest nombre no pot tenir menys de {0} caràcters!",
|
"numberTooShort":"Aquest nombre no pot tenir menys de {0} caràcters!",
|
||||||
"numberTooLong":"Aquest nombre no pot tenir més de {0} caràcters!",
|
"numberTooLong":"Aquest nombre no pot tenir més de {0} caràcters!",
|
||||||
@@ -48,6 +56,8 @@
|
|||||||
"numberNegative":"Aquest nombre no pot ser negatiu!",
|
"numberNegative":"Aquest nombre no pot ser negatiu!",
|
||||||
"numberPositive":"Aquest nombre no pot ser positiu!",
|
"numberPositive":"Aquest nombre no pot ser positiu!",
|
||||||
"numberZero":"Aquest nombre no pot ser zero!",
|
"numberZero":"Aquest nombre no pot ser zero!",
|
||||||
|
"numberNan":"Aquest número no pot ser NaN (Not A Number)!",
|
||||||
|
"numberInvertedContains":"Aquest número no pot contenir {0}!",
|
||||||
|
|
||||||
"booleanTrue":"Aquest booleà no pot ser veritable!",
|
"booleanTrue":"Aquest booleà no pot ser veritable!",
|
||||||
"booleanFalse":"Aquest booleà no pot ser fals!",
|
"booleanFalse":"Aquest booleà no pot ser fals!",
|
||||||
@@ -89,7 +99,8 @@
|
|||||||
"invalidButton":"Aquest botó ha de tenir almenys un {0} o {1}!",
|
"invalidButton":"Aquest botó ha de tenir almenys un {0} o {1}!",
|
||||||
"unusedOption":"L'opció {0} no s'utilitza enlloc!",
|
"unusedOption":"L'opció {0} no s'utilitza enlloc!",
|
||||||
"unusedQuestion":"La pregunta {0} no s'utilitza enlloc!",
|
"unusedQuestion":"La pregunta {0} no s'utilitza enlloc!",
|
||||||
"dropdownOption":"Un panell amb desplegable activat només pot contenir opcions del tipus 'ticket'!"
|
"dropdownOption":"Un panell amb desplegable activat només pot contenir opcions del tipus 'ticket'!",
|
||||||
|
"customInvalidVersion":"La versió especificada a la teva configuració no coincideix! Assegura't d'haver actualitzat la configuració a la versió més recent!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
@@ -132,6 +143,7 @@
|
|||||||
"blacklistAddDm":"Afegit a la Llista Negra",
|
"blacklistAddDm":"Afegit a la Llista Negra",
|
||||||
"blacklistRemoveDm":"Eliminat de la Llista Negra",
|
"blacklistRemoveDm":"Eliminat de la Llista Negra",
|
||||||
"clear":"Tickets Netejats",
|
"clear":"Tickets Netejats",
|
||||||
|
"clearTickets":"Netejar Tickets",
|
||||||
"roles":"Rols Actualitzats",
|
"roles":"Rols Actualitzats",
|
||||||
|
|
||||||
"autoclose":"Ticket Tancat Automàticament",
|
"autoclose":"Ticket Tancat Automàticament",
|
||||||
@@ -139,7 +151,12 @@
|
|||||||
"autocloseDisabled":"Tancament Automàtic Desactivat",
|
"autocloseDisabled":"Tancament Automàtic Desactivat",
|
||||||
"autodelete":"Ticket Eliminat Automàticament",
|
"autodelete":"Ticket Eliminat Automàticament",
|
||||||
"autodeleteEnabled":"Eliminació Automàtica Activada",
|
"autodeleteEnabled":"Eliminació Automàtica Activada",
|
||||||
"autodeleteDisabled":"Eliminació Automàtica Desactivada"
|
"autodeleteDisabled":"Eliminació Automàtica Desactivada",
|
||||||
|
|
||||||
|
"topicSet":"Tema Canviat",
|
||||||
|
"prioritySet":"Prioritat Canviada",
|
||||||
|
"priorityGet":"Prioritat del Ticket",
|
||||||
|
"transfer":"Ticket Transferit"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create":"El teu ticket ha estat creat. Fes clic al botó a continuació per accedir-hi!",
|
"create":"El teu ticket ha estat creat. Fes clic al botó a continuació per accedir-hi!",
|
||||||
@@ -180,7 +197,12 @@
|
|||||||
"ticketMessageLimit":"Només pots crear {0} ticket(s) al mateix temps!",
|
"ticketMessageLimit":"Només pots crear {0} ticket(s) al mateix temps!",
|
||||||
"ticketMessageAutoclose":"Aquest ticket es tancarà automàticament quan estigui inactiu durant {0}h!",
|
"ticketMessageAutoclose":"Aquest ticket es tancarà automàticament quan estigui inactiu durant {0}h!",
|
||||||
"ticketMessageAutodelete":"Aquest ticket es eliminarà automàticament quan estigui inactiu durant {0} dies!",
|
"ticketMessageAutodelete":"Aquest ticket es eliminarà automàticament quan estigui inactiu durant {0} dies!",
|
||||||
"panelReady":"Pots trobar el panell a continuació!\nAquest missatge ara es pot eliminar!"
|
"panelReady":"El panell està disponible en el missatge de seguiment!\nAquest missatge es pot eliminar ara!",
|
||||||
|
|
||||||
|
"topicSet":"El tema del canal ha estat canviat per {0} amb èxit!",
|
||||||
|
"prioritySet":"La prioritat del ticket ha estat canviada a {0} per {1} amb èxit!",
|
||||||
|
"priorityGet":"La prioritat actual d'aquest ticket és {0}.",
|
||||||
|
"transfer":"La propietat del ticket ha estat transferida de {0} a {1} per {2} amb èxit!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder":"Per què has tancat aquest ticket?",
|
"closePlaceholder":"Per què has tancat aquest ticket?",
|
||||||
@@ -220,7 +242,14 @@
|
|||||||
"blacklistRemoveLog":"{0} ha estat eliminat de la llista negra per {1}!",
|
"blacklistRemoveLog":"{0} ha estat eliminat de la llista negra per {1}!",
|
||||||
"blacklistAddDm":"Has estat afegit a la llista negra al nostre servidor!\nA partir d'ara, no pots crear cap ticket!",
|
"blacklistAddDm":"Has estat afegit a la llista negra al nostre servidor!\nA partir d'ara, no pots crear cap ticket!",
|
||||||
"blacklistRemoveDm":"Has estat eliminat de la llista negra al nostre servidor!\nAra pots crear tickets de nou!",
|
"blacklistRemoveDm":"Has estat eliminat de la llista negra al nostre servidor!\nAra pots crear tickets de nou!",
|
||||||
"clearLog":"{0} tickets han estat eliminats per {1}!"
|
"clearLog":"{0} tickets han estat eliminats per {1}!",
|
||||||
|
|
||||||
|
"transferLog":"La propietat d'aquest ticket ha estat transferida de {0} a {1} per {2}!",
|
||||||
|
"transferDm":"La propietat del teu ticket ha estat transferida de {0} a {1} al nostre servidor!",
|
||||||
|
"prioritySetLog":"La prioritat d'aquest ticket ha estat canviada a {0} per {1}!",
|
||||||
|
"prioritySetDm":"La prioritat del teu ticket ha estat canviada a {0} al nostre servidor!",
|
||||||
|
"roleUpdateLog":"{0} ha actualitzat els seus rols!",
|
||||||
|
"roleUpdateDm":"Els teus rols al nostre servidor han estat actualitzats!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
@@ -241,7 +270,19 @@
|
|||||||
"retry":"Torna-ho a intentar",
|
"retry":"Torna-ho a intentar",
|
||||||
"continue":"Elimina Sense Transcripció",
|
"continue":"Elimina Sense Transcripció",
|
||||||
"backup":"Crea Transcripció de Backup",
|
"backup":"Crea Transcripció de Backup",
|
||||||
"error":"Alguna cosa ha anat malament mentre intentàvem crear la transcripció.\nQuè t'agradaria fer?\n\nAquest ticket no s'eliminarà fins que facis clic en un d'aquests botons."
|
"error":"Alguna cosa ha anat malament mentre intentàvem crear la transcripció.\nQuè t'agradaria fer?\n\nAquest ticket no s'eliminarà fins que facis clic en un d'aquests botons.",
|
||||||
|
"title":"Error de transcripció"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"MISSATGES",
|
||||||
|
"embedTitle":"EMBED",
|
||||||
|
"fileTitle":"FITXER",
|
||||||
|
"fieldsTitle":"CAMPS",
|
||||||
|
"reactionsTitle":"REACCIONS",
|
||||||
|
"statsTitle":"ESTADÍSTIQUES",
|
||||||
|
"emptyContent":"<el contingut està buit>",
|
||||||
|
"noTitle":"<sense títol>",
|
||||||
|
"noDesc":"<sense descripció>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
@@ -257,7 +298,8 @@
|
|||||||
"unknownPanel":"Panell Desconegut",
|
"unknownPanel":"Panell Desconegut",
|
||||||
"notInGuild":"No Ets Al Servidor",
|
"notInGuild":"No Ets Al Servidor",
|
||||||
"channelRename":"No Es Pot Canviar El Nom Del Canal",
|
"channelRename":"No Es Pot Canviar El Nom Del Canal",
|
||||||
"busy":"El Ticket Està Ocupat"
|
"busy":"El Ticket Està Ocupat",
|
||||||
|
"permissionError":"Error de Permisos"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo":"Contacta amb el propietari d'aquest bot per obtenir més informació!",
|
"askForInfo":"Contacta amb el propietari d'aquest bot per obtenir més informació!",
|
||||||
@@ -280,7 +322,10 @@
|
|||||||
"notInGuild":"Aquest {0} no funciona en DM! Si us plau, torna a intentar-ho en un servidor!",
|
"notInGuild":"Aquest {0} no funciona en DM! Si us plau, torna a intentar-ho en un servidor!",
|
||||||
"channelRename":"Degut a les limitacions de discord, actualment és impossible per al bot canviar el nom del canal. El canal es canviarà automàticament en 10 minuts si el bot no es reinicia.",
|
"channelRename":"Degut a les limitacions de discord, actualment és impossible per al bot canviar el nom del canal. El canal es canviarà automàticament en 10 minuts si el bot no es reinicia.",
|
||||||
"channelRenameSource":"La font d'aquest error és: {0}",
|
"channelRenameSource":"La font d'aquest error és: {0}",
|
||||||
"busy":"No es pot utilitzar aquest {0}!\nEl ticket està sent processat pel bot.\n\nSi us plau, torna a intentar-ho en uns segons!"
|
"busy":"No es pot utilitzar aquest {0}!\nEl ticket està sent processat pel bot.\n\nSi us plau, torna a intentar-ho en uns segons!",
|
||||||
|
"closeBeforeMessage":"Aquest ticket no pot ser tancat/eliminat abans que un usuari hagi enviat un missatge.",
|
||||||
|
"closeBeforeAdminMessage":"Aquest ticket no pot ser tancat/eliminat abans que un administrador o membre de suport hagi enviat un missatge.",
|
||||||
|
"unableToCreateTicket":"No pots crear cap ticket."
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex":"El valor no coincideix amb el patró!",
|
"stringRegex":"El valor no coincideix amb el patró!",
|
||||||
@@ -331,7 +376,6 @@
|
|||||||
"added":"Afegit",
|
"added":"Afegit",
|
||||||
"removed":"Eliminat",
|
"removed":"Eliminat",
|
||||||
"filter":"Filtre",
|
"filter":"Filtre",
|
||||||
"claimedBy":"Reclamat Per {0}",
|
|
||||||
"method":"Mètode",
|
"method":"Mètode",
|
||||||
"type":"Tipus",
|
"type":"Tipus",
|
||||||
"blacklisted":"Llista Negra",
|
"blacklisted":"Llista Negra",
|
||||||
@@ -355,7 +399,27 @@
|
|||||||
"status":"Estat",
|
"status":"Estat",
|
||||||
"claimed":"Reclamat",
|
"claimed":"Reclamat",
|
||||||
"pinned":"Fixat",
|
"pinned":"Fixat",
|
||||||
"creationDate":"Data de Creació"
|
"creationDate":"Data de Creació",
|
||||||
|
|
||||||
|
"noone":"Ningú",
|
||||||
|
"open":"Obert",
|
||||||
|
"closed":"Tancat",
|
||||||
|
"priority":"Prioritat",
|
||||||
|
"participants":"Participants",
|
||||||
|
"yes":"Si",
|
||||||
|
"no":"No",
|
||||||
|
"option":"Opció",
|
||||||
|
"topic":"Tema",
|
||||||
|
"uptime":"Temps d'Activitat del Sistema",
|
||||||
|
"messages":"Missatges",
|
||||||
|
"embeds":"Embeds",
|
||||||
|
"files":"Fitxers",
|
||||||
|
"components":"Components",
|
||||||
|
"cooldown":"Refredament",
|
||||||
|
"maxTickets":"Max Tickets",
|
||||||
|
"admins":"Admins",
|
||||||
|
"roles":"Rols",
|
||||||
|
"size":"Mida"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text":"text",
|
"text":"text",
|
||||||
@@ -384,6 +448,7 @@
|
|||||||
"unclaim":"Allibera un ticket.",
|
"unclaim":"Allibera un ticket.",
|
||||||
"pin":"Fixa un ticket.",
|
"pin":"Fixa un ticket.",
|
||||||
"unpin":"Desfixa un ticket.",
|
"unpin":"Desfixa un ticket.",
|
||||||
|
|
||||||
"move":"Mou un ticket.",
|
"move":"Mou un ticket.",
|
||||||
"moveId":"L'identificador de l'opció a la qual vols moure't.",
|
"moveId":"L'identificador de l'opció a la qual vols moure't.",
|
||||||
"rename":"Renomena un ticket.",
|
"rename":"Renomena un ticket.",
|
||||||
@@ -392,6 +457,7 @@
|
|||||||
"addUser":"L'usuari a afegir.",
|
"addUser":"L'usuari a afegir.",
|
||||||
"remove":"Elimina un usuari d'un ticket.",
|
"remove":"Elimina un usuari d'un ticket.",
|
||||||
"removeUser":"L'usuari a eliminar.",
|
"removeUser":"L'usuari a eliminar.",
|
||||||
|
|
||||||
"blacklist":"Gestiona la llista negra de tickets.",
|
"blacklist":"Gestiona la llista negra de tickets.",
|
||||||
"blacklistView":"Veure una llista de l'actual llista negra.",
|
"blacklistView":"Veure una llista de l'actual llista negra.",
|
||||||
"blacklistAdd":"Afegeix un usuari a la llista negra.",
|
"blacklistAdd":"Afegeix un usuari a la llista negra.",
|
||||||
@@ -405,6 +471,7 @@
|
|||||||
"statsUserUser":"L'usuari del qual vols veure les estadístiques.",
|
"statsUserUser":"L'usuari del qual vols veure les estadístiques.",
|
||||||
"statsTicket":"Veure les estadístiques d'un ticket al servidor.",
|
"statsTicket":"Veure les estadístiques d'un ticket al servidor.",
|
||||||
"statsTicketTicket":"El ticket que vols veure.",
|
"statsTicketTicket":"El ticket que vols veure.",
|
||||||
|
|
||||||
"clear":"Elimina múltiples tickets al mateix temps.",
|
"clear":"Elimina múltiples tickets al mateix temps.",
|
||||||
"clearFilter":"El filtre per a la neteja de tickets.",
|
"clearFilter":"El filtre per a la neteja de tickets.",
|
||||||
"clearFilters":{
|
"clearFilters":{
|
||||||
@@ -417,6 +484,7 @@
|
|||||||
"unpin":"Desfixats",
|
"unpin":"Desfixats",
|
||||||
"autoclose":"Tancat Automàticaments"
|
"autoclose":"Tancat Automàticaments"
|
||||||
},
|
},
|
||||||
|
|
||||||
"autoclose":"Gestiona el tancament automàtic en un ticket.",
|
"autoclose":"Gestiona el tancament automàtic en un ticket.",
|
||||||
"autocloseDisable":"Desactiva el tancament automàtic en aquest ticket.",
|
"autocloseDisable":"Desactiva el tancament automàtic en aquest ticket.",
|
||||||
"autocloseEnable":"Activa el tancament automàtic en aquest ticket.",
|
"autocloseEnable":"Activa el tancament automàtic en aquest ticket.",
|
||||||
@@ -424,7 +492,19 @@
|
|||||||
"autodelete":"Gestiona l'eliminació automàtica en un ticket.",
|
"autodelete":"Gestiona l'eliminació automàtica en un ticket.",
|
||||||
"autodeleteDisable":"Desactiva l'eliminació automàtica en aquest ticket.",
|
"autodeleteDisable":"Desactiva l'eliminació automàtica en aquest ticket.",
|
||||||
"autodeleteEnable":"Activa l'eliminació automàtica en aquest ticket.",
|
"autodeleteEnable":"Activa l'eliminació automàtica en aquest ticket.",
|
||||||
"autodeleteEnableTime":"La quantitat de dies que aquest ticket ha d'estar inactiu per eliminar-lo."
|
"autodeleteEnableTime":"La quantitat de dies que aquest ticket ha d'estar inactiu per eliminar-lo.",
|
||||||
|
|
||||||
|
"topic":"Gestiona el tema del canal del ticket.",
|
||||||
|
"topicSet":"Estableix el tema del canal del ticket.",
|
||||||
|
"topicValue":"El nou tema del canal.",
|
||||||
|
"topicList":"Obté una llista de tots els tickets amb el seu tema i estadístiques.",
|
||||||
|
"priority":"Gestiona la prioritat del ticket.",
|
||||||
|
"prioritySet":"Estableix la prioritat del ticket.",
|
||||||
|
"priorityValue":"La prioritat del canal.",
|
||||||
|
"priorityGet":"Obtenir la prioritat del ticket.",
|
||||||
|
"priorityList":"Obté una llista de tots els tickets amb el seu estat de prioritat.",
|
||||||
|
"transfer":"Transfereix la propietat del ticket d'un usuari a un altre.",
|
||||||
|
"transferUser":"L'usuari al qual transferir."
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"help":"Obtingues una llista de totes les comandes disponibles.",
|
"help":"Obtingues una llista de totes les comandes disponibles.",
|
||||||
@@ -452,7 +532,16 @@
|
|||||||
"autocloseDisable":"Desactiva el tancament automàtic en aquest ticket.",
|
"autocloseDisable":"Desactiva el tancament automàtic en aquest ticket.",
|
||||||
"autocloseEnable":"Activa el tancament automàtic en aquest ticket.",
|
"autocloseEnable":"Activa el tancament automàtic en aquest ticket.",
|
||||||
"autodeleteDisable":"Desactiva l'eliminació automàtica en aquest ticket.",
|
"autodeleteDisable":"Desactiva l'eliminació automàtica en aquest ticket.",
|
||||||
"autodeleteEnable":"Activa l'eliminació automàtica en aquest ticket."
|
"autodeleteEnable":"Activa l'eliminació automàtica en aquest ticket.",
|
||||||
|
"categories":{
|
||||||
|
"general":"Comandes Generals",
|
||||||
|
"basicTicket":"Comandes Bàsiques de Tickets",
|
||||||
|
"advancedTicket":"Comandes Avançades de Tickets",
|
||||||
|
"userTicket":"Comandes de Tickets d'Usuari",
|
||||||
|
"admin":"Comandes d'Admin",
|
||||||
|
"advanced":"Comandes Avançades",
|
||||||
|
"extra":"Comandes Extra"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes":{
|
"scopes":{
|
||||||
@@ -460,7 +549,8 @@
|
|||||||
"system":"Estadístiques del Sistema",
|
"system":"Estadístiques del Sistema",
|
||||||
"user":"Estadístiques d'Usuari",
|
"user":"Estadístiques d'Usuari",
|
||||||
"ticket":"Estadístiques de Ticket",
|
"ticket":"Estadístiques de Ticket",
|
||||||
"participants":"Participants"
|
"participants":"Participants",
|
||||||
|
"messages":"Missatges"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated":"Tickets Creats",
|
"ticketsCreated":"Tickets Creats",
|
||||||
@@ -472,7 +562,47 @@
|
|||||||
"ticketsPinned":"Tickets Fixats",
|
"ticketsPinned":"Tickets Fixats",
|
||||||
"ticketsMoved":"Tickets Moguts",
|
"ticketsMoved":"Tickets Moguts",
|
||||||
"usersBlacklisted":"Usuaris a la Llista Negra",
|
"usersBlacklisted":"Usuaris a la Llista Negra",
|
||||||
"transcriptsCreated":"Transcripcions Creades"
|
"transcriptsCreated":"Transcripcions Creades",
|
||||||
|
"ticketsAutodeleted":"Tickets Eliminats Automàticament",
|
||||||
|
"ticketsTransferred":"Tickets Transferits",
|
||||||
|
"ticketVolume":"Volum de Tickets",
|
||||||
|
"averageTickets":"Mitjana de Tickets/Usuari",
|
||||||
|
"currentTickets":"Tickets Actuals",
|
||||||
|
"age":"Edat del Ticket",
|
||||||
|
"responseTime":"Temps de Resposta",
|
||||||
|
"resolutionTime":"Temps de Resolució",
|
||||||
|
"createdOn":"Creat el",
|
||||||
|
"createdBy":"Creat per",
|
||||||
|
"closedOn":"Tancat el",
|
||||||
|
"closedBy":"Tancat per",
|
||||||
|
"claimedOn":"Reclamat el",
|
||||||
|
"claimedBy":"Reclamat per",
|
||||||
|
"pinnedOn":"Fixat el",
|
||||||
|
"pinnedBy":"Fixat per",
|
||||||
|
"deletedOn":"Eliminat el",
|
||||||
|
"deletedBy":"Eliminat per"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"Desenvolupador",
|
||||||
|
"serverOwner":"Propietari del Servidor",
|
||||||
|
"serverAdmin":"Admin del Servidor",
|
||||||
|
"moderator":"Equip de Moderació",
|
||||||
|
"support":"Equip de Suport",
|
||||||
|
"member":"Membre"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"Selecciona el teu ticket",
|
||||||
|
"selectRole":"Selecciona el teu rol",
|
||||||
|
"selectOption":"Selecciona la teva opció"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"Urgent",
|
||||||
|
"veryHigh":"Molt Alt",
|
||||||
|
"high":"Alt",
|
||||||
|
"normal":"Normal",
|
||||||
|
"low":"Baix",
|
||||||
|
"veryLow":"Molt Baix",
|
||||||
|
"none":"Cap"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+145
-15
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["DJj123dj"],
|
"translators":["DJj123dj"],
|
||||||
"lastedited":"21/08/2024",
|
"lastedited":"16/02/2026",
|
||||||
"language":"Custom",
|
"language":"Custom",
|
||||||
"automated":false
|
"automated":false
|
||||||
},
|
},
|
||||||
@@ -31,6 +31,14 @@
|
|||||||
"stringContains":"This string needs to contain {0}!",
|
"stringContains":"This string needs to contain {0}!",
|
||||||
"stringChoices":"This string can only be one of the following values: {0}!",
|
"stringChoices":"This string can only be one of the following values: {0}!",
|
||||||
"stringRegex":"This string is invalid!",
|
"stringRegex":"This string is invalid!",
|
||||||
|
"stringInvertedContains":"This string is not allowed to contain {0}!",
|
||||||
|
"stringLowercase":"This string must be written in lowercase only!",
|
||||||
|
"stringUppercase":"This string must be written in uppercase only!",
|
||||||
|
"stringSpecialCharacters":"This string is not allowed to contain any special characters! (a-z, 0-9 & space only)",
|
||||||
|
"stringNoSpaces":"This string is not allowed to contain spaces!",
|
||||||
|
"stringCapitalWord":"It's recommended that each word in this string starts with a capital letter!",
|
||||||
|
"stringCapitalSentence":"It looks like some sentences in this string don't start with a capital letter!",
|
||||||
|
"stringPunctuation":"It looks like the sentence in this string doesn't end with a punctuation mark!",
|
||||||
|
|
||||||
"numberTooShort":"This number can't be shorter than {0} characters!",
|
"numberTooShort":"This number can't be shorter than {0} characters!",
|
||||||
"numberTooLong":"This number can't be longer than {0} characters!",
|
"numberTooLong":"This number can't be longer than {0} characters!",
|
||||||
@@ -48,6 +56,8 @@
|
|||||||
"numberNegative":"This number can't be negative!",
|
"numberNegative":"This number can't be negative!",
|
||||||
"numberPositive":"This number can't be positive!",
|
"numberPositive":"This number can't be positive!",
|
||||||
"numberZero":"This number can't be zero!",
|
"numberZero":"This number can't be zero!",
|
||||||
|
"numberNan":"This number can't be NaN (Not A Number)!",
|
||||||
|
"numberInvertedContains":"This number is not allowed to contain {0}!",
|
||||||
|
|
||||||
"booleanTrue":"This boolean can't be true!",
|
"booleanTrue":"This boolean can't be true!",
|
||||||
"booleanFalse":"This boolean can't be false!",
|
"booleanFalse":"This boolean can't be false!",
|
||||||
@@ -89,7 +99,8 @@
|
|||||||
"invalidButton":"This button needs to have at least an {0} or {1}!",
|
"invalidButton":"This button needs to have at least an {0} or {1}!",
|
||||||
"unusedOption":"The option {0} isn't used anywhere!",
|
"unusedOption":"The option {0} isn't used anywhere!",
|
||||||
"unusedQuestion":"The question {0} isn't used anywhere!",
|
"unusedQuestion":"The question {0} isn't used anywhere!",
|
||||||
"dropdownOption":"A panel with dropdown enabled can only contain options of the 'ticket' type!"
|
"dropdownOption":"A panel with dropdown enabled can only contain options of the 'ticket' type!",
|
||||||
|
"customInvalidVersion":"The version specified in your config does not match! Make sure you have updated the config to the latest version!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
@@ -132,6 +143,7 @@
|
|||||||
"blacklistAddDm":"Added To Blacklist",
|
"blacklistAddDm":"Added To Blacklist",
|
||||||
"blacklistRemoveDm":"Removed From Blacklist",
|
"blacklistRemoveDm":"Removed From Blacklist",
|
||||||
"clear":"Tickets Cleared",
|
"clear":"Tickets Cleared",
|
||||||
|
"clearTickets":"Clear Tickets",
|
||||||
"roles":"Roles Updated",
|
"roles":"Roles Updated",
|
||||||
|
|
||||||
"autoclose":"Ticket Autoclosed",
|
"autoclose":"Ticket Autoclosed",
|
||||||
@@ -139,7 +151,12 @@
|
|||||||
"autocloseDisabled":"Autoclose Disabled",
|
"autocloseDisabled":"Autoclose Disabled",
|
||||||
"autodelete":"Ticket Autodeleted",
|
"autodelete":"Ticket Autodeleted",
|
||||||
"autodeleteEnabled":"Autodelete Enabled",
|
"autodeleteEnabled":"Autodelete Enabled",
|
||||||
"autodeleteDisabled":"Autodelete Disabled"
|
"autodeleteDisabled":"Autodelete Disabled",
|
||||||
|
|
||||||
|
"topicSet":"Topic Changed",
|
||||||
|
"prioritySet":"Priority Changed",
|
||||||
|
"priorityGet":"Ticket Priority",
|
||||||
|
"transfer":"Ticket Transferred"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create":"Your ticket has been created. Click the button below to access it!",
|
"create":"Your ticket has been created. Click the button below to access it!",
|
||||||
@@ -180,7 +197,12 @@
|
|||||||
"ticketMessageLimit":"You can only create {0} ticket(s) at the same time!",
|
"ticketMessageLimit":"You can only create {0} ticket(s) at the same time!",
|
||||||
"ticketMessageAutoclose":"This ticket will be autoclosed when inactive for {0}h!",
|
"ticketMessageAutoclose":"This ticket will be autoclosed when inactive for {0}h!",
|
||||||
"ticketMessageAutodelete":"This ticket will be autodeleted when inactive for {0} days!",
|
"ticketMessageAutodelete":"This ticket will be autodeleted when inactive for {0} days!",
|
||||||
"panelReady":"You can find the panel below!\nThis message can now be deleted!"
|
"panelReady":"The panel is available in the followup message!\nThis message can now be deleted!",
|
||||||
|
|
||||||
|
"topicSet":"The channel topic has been changed by {0} successfully!",
|
||||||
|
"prioritySet":"The ticket priority has been changed to {0} by {1} successfully!",
|
||||||
|
"priorityGet":"The current priority of this ticket is {0}.",
|
||||||
|
"transfer":"The ticket ownership has been transferred from {0} to {1} by {2} successfully!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder":"Why did you close this ticket?",
|
"closePlaceholder":"Why did you close this ticket?",
|
||||||
@@ -220,7 +242,14 @@
|
|||||||
"blacklistRemoveLog":"{0} was removed from the blacklist by {1}!",
|
"blacklistRemoveLog":"{0} was removed from the blacklist by {1}!",
|
||||||
"blacklistAddDm":"You have been blacklisted in our server!\nFrom now on, you are unable to create a ticket!",
|
"blacklistAddDm":"You have been blacklisted in our server!\nFrom now on, you are unable to create a ticket!",
|
||||||
"blacklistRemoveDm":"You have been removed from the blacklist in our server!\nNow you can create tickets again!",
|
"blacklistRemoveDm":"You have been removed from the blacklist in our server!\nNow you can create tickets again!",
|
||||||
"clearLog":"{0} tickets have been deleted by {1}!"
|
"clearLog":"{0} tickets have been deleted by {1}!",
|
||||||
|
|
||||||
|
"transferLog":"The ownership of this ticket has been transferred from {0} to {1} by {2}!",
|
||||||
|
"transferDm":"The ownership of your ticket has been transferred from {0} to {1} in our server!",
|
||||||
|
"prioritySetLog":"The priority of this ticket has been changed to {0} by {1}!",
|
||||||
|
"prioritySetDm":"The priority of your ticket has been changed to {0} in our server!",
|
||||||
|
"roleUpdateLog":"{0} has updated their roles!",
|
||||||
|
"roleUpdateDm":"Your roles in our server have been updated!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
@@ -241,7 +270,19 @@
|
|||||||
"retry":"Retry",
|
"retry":"Retry",
|
||||||
"continue":"Delete Without Transcript",
|
"continue":"Delete Without Transcript",
|
||||||
"backup":"Create Backup Transcript",
|
"backup":"Create Backup Transcript",
|
||||||
"error":"Something went wrong while trying to create the transcript.\nWhat would you like to do?\n\nThis ticket won't be deleted until you click one of these buttons."
|
"error":"Something went wrong while trying to create the transcript.\nWhat would you like to do?\n\nThis ticket won't be deleted until you click one of these buttons.",
|
||||||
|
"title":"Transcript Error"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"MESSAGES",
|
||||||
|
"embedTitle":"EMBED",
|
||||||
|
"fileTitle":"FILE",
|
||||||
|
"fieldsTitle":"FIELDS",
|
||||||
|
"reactionsTitle":"REACTIONS",
|
||||||
|
"statsTitle":"STATS",
|
||||||
|
"emptyContent":"<content is empty>",
|
||||||
|
"noTitle":"<no-title>",
|
||||||
|
"noDesc":"<no-description>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
@@ -257,7 +298,8 @@
|
|||||||
"unknownPanel":"Unknown Panel",
|
"unknownPanel":"Unknown Panel",
|
||||||
"notInGuild":"Not In Server",
|
"notInGuild":"Not In Server",
|
||||||
"channelRename":"Unable To Rename Channel",
|
"channelRename":"Unable To Rename Channel",
|
||||||
"busy":"Ticket Is Busy"
|
"busy":"Ticket Is Busy",
|
||||||
|
"permissionError":"Permission Error"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo":"Contact the owner of this bot for more info!",
|
"askForInfo":"Contact the owner of this bot for more info!",
|
||||||
@@ -280,7 +322,10 @@
|
|||||||
"notInGuild":"This {0} doesn't work in DM! Please try it again in a server!",
|
"notInGuild":"This {0} doesn't work in DM! Please try it again in a server!",
|
||||||
"channelRename":"Due to discord ratelimits, it's currently impossible for the bot to rename the channel. The channel will automatically be renamed over 10 minutes if the bot isn't rebooted.",
|
"channelRename":"Due to discord ratelimits, it's currently impossible for the bot to rename the channel. The channel will automatically be renamed over 10 minutes if the bot isn't rebooted.",
|
||||||
"channelRenameSource":"The source of this error is: {0}",
|
"channelRenameSource":"The source of this error is: {0}",
|
||||||
"busy":"Unable to use this {0}!\nThe ticket is currently being processed by the bot.\n\nPlease try again in a few seconds!"
|
"busy":"Unable to use this {0}!\nThe ticket is currently being processed by the bot.\n\nPlease try again in a few seconds!",
|
||||||
|
"closeBeforeMessage":"This ticket cannot be closed/deleted before a message has been sent by a user.",
|
||||||
|
"closeBeforeAdminMessage":"This ticket cannot be closed/deleted before a message has been sent by a ticket admin or support member.",
|
||||||
|
"unableToCreateTicket":"You are unable to create a ticket."
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex":"Value doesn't match pattern!",
|
"stringRegex":"Value doesn't match pattern!",
|
||||||
@@ -331,7 +376,6 @@
|
|||||||
"added":"Added",
|
"added":"Added",
|
||||||
"removed":"Removed",
|
"removed":"Removed",
|
||||||
"filter":"Filter",
|
"filter":"Filter",
|
||||||
"claimedBy":"Claimed By {0}",
|
|
||||||
"method":"Method",
|
"method":"Method",
|
||||||
"type":"Type",
|
"type":"Type",
|
||||||
"blacklisted":"Blacklisted",
|
"blacklisted":"Blacklisted",
|
||||||
@@ -355,7 +399,27 @@
|
|||||||
"status":"Status",
|
"status":"Status",
|
||||||
"claimed":"Claimed",
|
"claimed":"Claimed",
|
||||||
"pinned":"Pinned",
|
"pinned":"Pinned",
|
||||||
"creationDate":"Creation Date"
|
"creationDate":"Creation Date",
|
||||||
|
|
||||||
|
"noone":"No-One",
|
||||||
|
"open":"Open",
|
||||||
|
"closed":"Closed",
|
||||||
|
"priority":"Priority",
|
||||||
|
"participants":"Participants",
|
||||||
|
"yes":"Yes",
|
||||||
|
"no":"No",
|
||||||
|
"option":"Option",
|
||||||
|
"topic":"Topic",
|
||||||
|
"uptime":"System Uptime",
|
||||||
|
"messages":"Messages",
|
||||||
|
"embeds":"Embeds",
|
||||||
|
"files":"Files",
|
||||||
|
"components":"Components",
|
||||||
|
"cooldown":"Cooldown",
|
||||||
|
"maxTickets":"Max Tickets",
|
||||||
|
"admins":"Admins",
|
||||||
|
"roles":"Roles",
|
||||||
|
"size":"Size"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text":"text",
|
"text":"text",
|
||||||
@@ -384,6 +448,7 @@
|
|||||||
"unclaim":"Unclaim a ticket.",
|
"unclaim":"Unclaim a ticket.",
|
||||||
"pin":"Pin a ticket.",
|
"pin":"Pin a ticket.",
|
||||||
"unpin":"Unpin a ticket.",
|
"unpin":"Unpin a ticket.",
|
||||||
|
|
||||||
"move":"Move a ticket.",
|
"move":"Move a ticket.",
|
||||||
"moveId":"The identifier of the option that you want to move to.",
|
"moveId":"The identifier of the option that you want to move to.",
|
||||||
"rename":"Rename a ticket.",
|
"rename":"Rename a ticket.",
|
||||||
@@ -392,6 +457,7 @@
|
|||||||
"addUser":"The user to add.",
|
"addUser":"The user to add.",
|
||||||
"remove":"Remove a user from a ticket.",
|
"remove":"Remove a user from a ticket.",
|
||||||
"removeUser":"The user to remove.",
|
"removeUser":"The user to remove.",
|
||||||
|
|
||||||
"blacklist":"Manage the ticket blacklist.",
|
"blacklist":"Manage the ticket blacklist.",
|
||||||
"blacklistView":"View a list of the current blacklist.",
|
"blacklistView":"View a list of the current blacklist.",
|
||||||
"blacklistAdd":"Add a user to the blacklist.",
|
"blacklistAdd":"Add a user to the blacklist.",
|
||||||
@@ -405,6 +471,7 @@
|
|||||||
"statsUserUser":"The user to view.",
|
"statsUserUser":"The user to view.",
|
||||||
"statsTicket":"View the stats of a ticket in the server.",
|
"statsTicket":"View the stats of a ticket in the server.",
|
||||||
"statsTicketTicket":"The ticket to view.",
|
"statsTicketTicket":"The ticket to view.",
|
||||||
|
|
||||||
"clear":"Delete multiple tickets at the same time.",
|
"clear":"Delete multiple tickets at the same time.",
|
||||||
"clearFilter":"The filter for clearing tickets.",
|
"clearFilter":"The filter for clearing tickets.",
|
||||||
"clearFilters":{
|
"clearFilters":{
|
||||||
@@ -417,6 +484,7 @@
|
|||||||
"unpin":"Unpinned",
|
"unpin":"Unpinned",
|
||||||
"autoclose":"Autoclosed"
|
"autoclose":"Autoclosed"
|
||||||
},
|
},
|
||||||
|
|
||||||
"autoclose":"Manage autoclose in a ticket.",
|
"autoclose":"Manage autoclose in a ticket.",
|
||||||
"autocloseDisable":"Disable autoclose in this ticket.",
|
"autocloseDisable":"Disable autoclose in this ticket.",
|
||||||
"autocloseEnable":"Enable autoclose in this ticket.",
|
"autocloseEnable":"Enable autoclose in this ticket.",
|
||||||
@@ -424,7 +492,19 @@
|
|||||||
"autodelete":"Manage autodelete in a ticket.",
|
"autodelete":"Manage autodelete in a ticket.",
|
||||||
"autodeleteDisable":"Disable autodelete in this ticket.",
|
"autodeleteDisable":"Disable autodelete in this ticket.",
|
||||||
"autodeleteEnable":"Enable autodelete in this ticket.",
|
"autodeleteEnable":"Enable autodelete in this ticket.",
|
||||||
"autodeleteEnableTime":"The amount of days this ticket needs to be inactive to delete it."
|
"autodeleteEnableTime":"The amount of days this ticket needs to be inactive to delete it.",
|
||||||
|
|
||||||
|
"topic":"Manage the topic of the ticket channel.",
|
||||||
|
"topicSet":"Set the topic of the ticket channel.",
|
||||||
|
"topicValue":"The new topic of the channel.",
|
||||||
|
"topicList":"Get a list of all tickets with their topic and stats.",
|
||||||
|
"priority":"Manage the priority of the ticket.",
|
||||||
|
"prioritySet":"Set the priority of the ticket.",
|
||||||
|
"priorityValue":"The priority of the channel.",
|
||||||
|
"priorityGet":"Get the priority of the ticket.",
|
||||||
|
"priorityList":"Get a list of all tickets with their priority status.",
|
||||||
|
"transfer":"Transfer the ticket ownership from one user to another.",
|
||||||
|
"transferUser":"The user to transfer to."
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"help":"Get a list of all the available commands.",
|
"help":"Get a list of all the available commands.",
|
||||||
@@ -452,7 +532,16 @@
|
|||||||
"autocloseDisable":"Disable autoclose in this ticket.",
|
"autocloseDisable":"Disable autoclose in this ticket.",
|
||||||
"autocloseEnable":"Enable autoclose in this ticket.",
|
"autocloseEnable":"Enable autoclose in this ticket.",
|
||||||
"autodeleteDisable":"Disable autodelete in this ticket.",
|
"autodeleteDisable":"Disable autodelete in this ticket.",
|
||||||
"autodeleteEnable":"Enable autodelete in this ticket."
|
"autodeleteEnable":"Enable autodelete in this ticket.",
|
||||||
|
"categories":{
|
||||||
|
"general":"General Commands",
|
||||||
|
"basicTicket":"Basic Ticket Commands",
|
||||||
|
"advancedTicket":"Advanced Ticket Commands",
|
||||||
|
"userTicket":"User Ticket Commands",
|
||||||
|
"admin":"Admin Commands",
|
||||||
|
"advanced":"Advanced Commands",
|
||||||
|
"extra":"Extra Commands"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes":{
|
"scopes":{
|
||||||
@@ -460,7 +549,8 @@
|
|||||||
"system":"System Stats",
|
"system":"System Stats",
|
||||||
"user":"User Stats",
|
"user":"User Stats",
|
||||||
"ticket":"Ticket Stats",
|
"ticket":"Ticket Stats",
|
||||||
"participants":"Participants"
|
"participants":"Participants",
|
||||||
|
"messages":"Messages"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated":"Tickets Created",
|
"ticketsCreated":"Tickets Created",
|
||||||
@@ -472,7 +562,47 @@
|
|||||||
"ticketsPinned":"Tickets Pinned",
|
"ticketsPinned":"Tickets Pinned",
|
||||||
"ticketsMoved":"Tickets Moved",
|
"ticketsMoved":"Tickets Moved",
|
||||||
"usersBlacklisted":"Users Blacklisted",
|
"usersBlacklisted":"Users Blacklisted",
|
||||||
"transcriptsCreated":"Transcripts Created"
|
"transcriptsCreated":"Transcripts Created",
|
||||||
|
"ticketsAutodeleted":"Tickets Autodeleted",
|
||||||
|
"ticketsTransferred":"Tickets Transferred",
|
||||||
|
"ticketVolume":"Ticket Volume",
|
||||||
|
"averageTickets":"Average Tickets/User",
|
||||||
|
"currentTickets":"Current Tickets",
|
||||||
|
"age":"Ticket Age",
|
||||||
|
"responseTime":"Response Time",
|
||||||
|
"resolutionTime":"Resolution Time",
|
||||||
|
"createdOn":"Created On",
|
||||||
|
"createdBy":"Created By",
|
||||||
|
"closedOn":"Closed On",
|
||||||
|
"closedBy":"Closed By",
|
||||||
|
"claimedOn":"Claimed On",
|
||||||
|
"claimedBy":"Claimed By",
|
||||||
|
"pinnedOn":"Pinned On",
|
||||||
|
"pinnedBy":"Pinned By",
|
||||||
|
"deletedOn":"Deleted On",
|
||||||
|
"deletedBy":"Deleted By"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"Developer",
|
||||||
|
"serverOwner":"Server Owner",
|
||||||
|
"serverAdmin":"Server Admin",
|
||||||
|
"moderator":"Moderator Team",
|
||||||
|
"support":"Support Team",
|
||||||
|
"member":"Member"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"Select your ticket",
|
||||||
|
"selectRole":"Select your role",
|
||||||
|
"selectOption":"Select your option"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"Urgent",
|
||||||
|
"veryHigh":"Very High",
|
||||||
|
"high":"High",
|
||||||
|
"normal":"Normal",
|
||||||
|
"low":"Low",
|
||||||
|
"veryLow":"Very Low",
|
||||||
|
"none":"None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+146
-16
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["spyeye_"],
|
"translators":["spyeye_"],
|
||||||
"lastedited":"21/08/2024",
|
"lastedited":"16/02/2026",
|
||||||
"language":"Czech",
|
"language":"Czech",
|
||||||
"automated":false
|
"automated":false
|
||||||
},
|
},
|
||||||
@@ -31,6 +31,14 @@
|
|||||||
"stringContains":"Tento string musí obsahovat {0}!",
|
"stringContains":"Tento string musí obsahovat {0}!",
|
||||||
"stringChoices":"Tento string může být pouze jednou z následujících možností: {0}!",
|
"stringChoices":"Tento string může být pouze jednou z následujících možností: {0}!",
|
||||||
"stringRegex":"Tento string je neplatný!",
|
"stringRegex":"Tento string je neplatný!",
|
||||||
|
"stringInvertedContains":"Tento řetězec nesmí obsahovat {0}!",
|
||||||
|
"stringLowercase":"Tento řetězec musí být napsán pouze malými písmeny!",
|
||||||
|
"stringUppercase":"Tento řetězec musí být napsán pouze velkými písmeny!",
|
||||||
|
"stringSpecialCharacters":"Tento řetězec nesmí obsahovat žádné speciální znaky! (pouze a-z, 0-9 a mezery)",
|
||||||
|
"stringNoSpaces":"Tento řetězec nesmí obsahovat mezery!",
|
||||||
|
"stringCapitalWord":"Doporučuje se, aby každé slovo v tomto řetězci začínalo velkým písmenem!",
|
||||||
|
"stringCapitalSentence":"Zdá se, že některé věty v tomto řetězci nezačínají velkým písmenem!",
|
||||||
|
"stringPunctuation":"Zdá se, že věta v tomto řetězci nekončí interpunkčním znaménkem!",
|
||||||
|
|
||||||
"numberTooShort":"Toto číslo nesmí být kratší než {0} znaků!",
|
"numberTooShort":"Toto číslo nesmí být kratší než {0} znaků!",
|
||||||
"numberTooLong":"Toto číslo nesmí být delší než {0} znaků.!",
|
"numberTooLong":"Toto číslo nesmí být delší než {0} znaků.!",
|
||||||
@@ -48,6 +56,8 @@
|
|||||||
"numberNegative":"Toto číslo nemůže být záporné!",
|
"numberNegative":"Toto číslo nemůže být záporné!",
|
||||||
"numberPositive":"Toto číslo nemůže být kladné!",
|
"numberPositive":"Toto číslo nemůže být kladné!",
|
||||||
"numberZero":"Toto číslo nemůže být nula!",
|
"numberZero":"Toto číslo nemůže být nula!",
|
||||||
|
"numberNan":"Toto číslo nemůže být NaN (není číslo)!",
|
||||||
|
"numberInvertedContains":"Toto číslo nesmí obsahovat {0}!",
|
||||||
|
|
||||||
"booleanTrue":"Tento boolean nemůže být true!",
|
"booleanTrue":"Tento boolean nemůže být true!",
|
||||||
"booleanFalse":"Tento boolean nemůže být false!",
|
"booleanFalse":"Tento boolean nemůže být false!",
|
||||||
@@ -89,7 +99,8 @@
|
|||||||
"invalidButton":"Toto tlačítko musí mít alespoň {0} nebo {1}!",
|
"invalidButton":"Toto tlačítko musí mít alespoň {0} nebo {1}!",
|
||||||
"unusedOption":"Možnost {0} se nikde nepoužívá!",
|
"unusedOption":"Možnost {0} se nikde nepoužívá!",
|
||||||
"unusedQuestion":"Otázka {0} není nikde použita!",
|
"unusedQuestion":"Otázka {0} není nikde použita!",
|
||||||
"dropdownOption":"Panel s povoleným rozevíracím seznamem může obsahovat pouze možnosti typu „ticketu“!"
|
"dropdownOption":"Panel s povoleným rozevíracím seznamem může obsahovat pouze možnosti typu „ticketu“!",
|
||||||
|
"customInvalidVersion":"Verze uvedená ve vaší konfiguraci neodpovídá! Ujistěte se, že jste konfiguraci aktualizovali na nejnovější verzi!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
@@ -132,6 +143,7 @@
|
|||||||
"blacklistAddDm":"Přidán na blacklistu",
|
"blacklistAddDm":"Přidán na blacklistu",
|
||||||
"blacklistRemoveDm":"Odebrán z blacklistu",
|
"blacklistRemoveDm":"Odebrán z blacklistu",
|
||||||
"clear":"Tickety vyčištěny",
|
"clear":"Tickety vyčištěny",
|
||||||
|
"clearTickets":"Vymazat tikety",
|
||||||
"roles":"Role aktualizovány",
|
"roles":"Role aktualizovány",
|
||||||
|
|
||||||
"autoclose":"Ticket automaticky uzavřen",
|
"autoclose":"Ticket automaticky uzavřen",
|
||||||
@@ -139,7 +151,12 @@
|
|||||||
"autocloseDisabled":"Automatické uzavření zakázáno",
|
"autocloseDisabled":"Automatické uzavření zakázáno",
|
||||||
"autodelete":"Ticket automaticky vymazán",
|
"autodelete":"Ticket automaticky vymazán",
|
||||||
"autodeleteEnabled":"Automatické mazání povoleno",
|
"autodeleteEnabled":"Automatické mazání povoleno",
|
||||||
"autodeleteDisabled":"Automatické mazání zakázáno"
|
"autodeleteDisabled":"Automatické mazání zakázáno",
|
||||||
|
|
||||||
|
"topicSet":"Téma změněno",
|
||||||
|
"prioritySet":"Priorita změněna",
|
||||||
|
"priorityGet":"Priorita tiketu",
|
||||||
|
"transfer":"Ticket přenesen"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create":"Tvůj ticket byl vytvořen. Klikni na tlačítko pod zprávou pro zobrazení!",
|
"create":"Tvůj ticket byl vytvořen. Klikni na tlačítko pod zprávou pro zobrazení!",
|
||||||
@@ -180,7 +197,12 @@
|
|||||||
"ticketMessageLimit":"Současně lze vytvořit pouze {0} ticketu!",
|
"ticketMessageLimit":"Současně lze vytvořit pouze {0} ticketu!",
|
||||||
"ticketMessageAutoclose":"Tento ticket se automaticky uzavře, pokud je neaktivní po dobu {0}h!",
|
"ticketMessageAutoclose":"Tento ticket se automaticky uzavře, pokud je neaktivní po dobu {0}h!",
|
||||||
"ticketMessageAutodelete":"Tento ticket bude automaticky smazán, pokud bude neaktivní po dobu {0} dnů!",
|
"ticketMessageAutodelete":"Tento ticket bude automaticky smazán, pokud bude neaktivní po dobu {0} dnů!",
|
||||||
"panelReady":"Panel najdete níže!\nTuto zprávu lze nyní smazat!"
|
"panelReady":"Panel je k dispozici ve zprávě následně!\nTato zpráva může být nyní smazána!",
|
||||||
|
|
||||||
|
"topicSet":"Téma kanálu bylo úspěšně změněno {0}!",
|
||||||
|
"prioritySet":"Priorita tiketu byla úspěšně změněna na {0} {1}!",
|
||||||
|
"priorityGet":"Aktuální priorita tohoto tiketu je {0}.",
|
||||||
|
"transfer":"Vlastnictví tiketu bylo úspěšně převedeno z {0} na {1} {2}!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder":"Proč jste tento ticket uzavřel?",
|
"closePlaceholder":"Proč jste tento ticket uzavřel?",
|
||||||
@@ -220,7 +242,14 @@
|
|||||||
"blacklistRemoveLog":"{0} byl odstraněn z blacklistu uživatelem {1}!",
|
"blacklistRemoveLog":"{0} byl odstraněn z blacklistu uživatelem {1}!",
|
||||||
"blacklistAddDm":"Byl jsi přidán na blacklist na našem serveru!\nOd teď nemůžeš vytvářet tickety!",
|
"blacklistAddDm":"Byl jsi přidán na blacklist na našem serveru!\nOd teď nemůžeš vytvářet tickety!",
|
||||||
"blacklistRemoveDm":"Byl jsi odstraněn z blacklistu na našem serveru!\nNyní můžeš opět vytvářet tickety!",
|
"blacklistRemoveDm":"Byl jsi odstraněn z blacklistu na našem serveru!\nNyní můžeš opět vytvářet tickety!",
|
||||||
"clearLog":"{0} ticketů bylo smazáno uživatelem {1}!"
|
"clearLog":"{0} ticketů bylo smazáno uživatelem {1}!",
|
||||||
|
|
||||||
|
"transferLog":"Vlastnictví tohoto tiketu bylo převedeno z {0} na {1} {2}!",
|
||||||
|
"transferDm":"Vlastnictví vašeho tiketu bylo převedeno z {0} na {1} na našem serveru!",
|
||||||
|
"prioritySetLog":"Priorita tohoto tiketu byla změněna na {0} {1}!",
|
||||||
|
"prioritySetDm":"Priorita vašeho tiketu byla změněna na {0} na našem serveru!",
|
||||||
|
"roleUpdateLog":"{0} aktualizoval své role!",
|
||||||
|
"roleUpdateDm":"Vaše role na našem serveru byly aktualizovány!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
@@ -241,7 +270,19 @@
|
|||||||
"retry":"Zkusit Znovu",
|
"retry":"Zkusit Znovu",
|
||||||
"continue":"Vymazat bez přepisu",
|
"continue":"Vymazat bez přepisu",
|
||||||
"backup":"Vytvořit záložní přepis",
|
"backup":"Vytvořit záložní přepis",
|
||||||
"error":"Při pokusu o vytvoření přepisu se něco pokazilo.\nCo chcete udělat?\n\nTento ticket nebude smazán, dokud nekliknete na jedno z těchto tlačítek."
|
"error":"Při pokusu o vytvoření přepisu se něco pokazilo.\nCo chcete udělat?\n\nTento ticket nebude smazán, dokud nekliknete na jedno z těchto tlačítek.",
|
||||||
|
"title":"Chyba přepisu"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"ZPRÁVY",
|
||||||
|
"embedTitle":"EMBED",
|
||||||
|
"fileTitle":"SOUBOR",
|
||||||
|
"fieldsTitle":"POLE",
|
||||||
|
"reactionsTitle":"REAKCE",
|
||||||
|
"statsTitle":"STATISTIKY",
|
||||||
|
"emptyContent":"<obsah prázdný>",
|
||||||
|
"noTitle":"<bez názvu>",
|
||||||
|
"noDesc":"<bez popisu>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
@@ -257,7 +298,8 @@
|
|||||||
"unknownPanel":"Neznámý panel",
|
"unknownPanel":"Neznámý panel",
|
||||||
"notInGuild":"Nejsi na serveru",
|
"notInGuild":"Nejsi na serveru",
|
||||||
"channelRename":"Nepodařilo se přejmenovat kanál",
|
"channelRename":"Nepodařilo se přejmenovat kanál",
|
||||||
"busy":"Ticket je zaneprázdněn"
|
"busy":"Ticket je zaneprázdněn",
|
||||||
|
"permissionError":"Chyba oprávnění"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo":"Pro více informací kontaktuj vlastníka tohoto bota!",
|
"askForInfo":"Pro více informací kontaktuj vlastníka tohoto bota!",
|
||||||
@@ -280,7 +322,10 @@
|
|||||||
"notInGuild":"Tento {0} nefunguje v DM! Zkus to znovu na serveru!",
|
"notInGuild":"Tento {0} nefunguje v DM! Zkus to znovu na serveru!",
|
||||||
"channelRename":"Kvůli ratelimitům Discordu není momentálně možné, aby bot přejmenoval kanál. Kanál bude automaticky přejmenován do 10 minut, pokud nedojde k restartu bota.",
|
"channelRename":"Kvůli ratelimitům Discordu není momentálně možné, aby bot přejmenoval kanál. Kanál bude automaticky přejmenován do 10 minut, pokud nedojde k restartu bota.",
|
||||||
"channelRenameSource":"Zdroj této chyby je: {0}",
|
"channelRenameSource":"Zdroj této chyby je: {0}",
|
||||||
"busy":"Nelze použít tento {0}!\nTicket je momentálně zpracováván botem.\n\nZkus to prosím znovu za několik sekund!"
|
"busy":"Nelze použít tento {0}!\nTicket je momentálně zpracováván botem.\n\nZkus to prosím znovu za několik sekund!",
|
||||||
|
"closeBeforeMessage":"Tento tiket nelze uzavřít/smazat, dokud uživatel neodešle zprávu.",
|
||||||
|
"closeBeforeAdminMessage":"Tento tiket nelze uzavřít/smazat, dokud admin tiketu nebo člen podpory neodešle zprávu.",
|
||||||
|
"unableToCreateTicket":"Nemůžete vytvořit tiket."
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex":"Hodnota neodpovídá vzoru!",
|
"stringRegex":"Hodnota neodpovídá vzoru!",
|
||||||
@@ -331,7 +376,6 @@
|
|||||||
"added":"Přidáno",
|
"added":"Přidáno",
|
||||||
"removed":"Odstraněno",
|
"removed":"Odstraněno",
|
||||||
"filter":"Filtr",
|
"filter":"Filtr",
|
||||||
"claimedBy":"Přiděleno uživatelem {0}",
|
|
||||||
"method":"Metoda",
|
"method":"Metoda",
|
||||||
"type":"Typ",
|
"type":"Typ",
|
||||||
"blacklisted":"Na blacklistu",
|
"blacklisted":"Na blacklistu",
|
||||||
@@ -352,10 +396,30 @@
|
|||||||
"version":"Verze",
|
"version":"Verze",
|
||||||
"name":"Jméno",
|
"name":"Jméno",
|
||||||
"role":"Role",
|
"role":"Role",
|
||||||
"status":"Stav",
|
"status":"STAV",
|
||||||
"claimed":"Přiděleno",
|
"claimed":"Přiděleno",
|
||||||
"pinned":"Připnuto",
|
"pinned":"Připnuto",
|
||||||
"creationDate":"Datum vytvoření"
|
"creationDate":"Datum vytvoření",
|
||||||
|
|
||||||
|
"noone":"Nikdo",
|
||||||
|
"open":"OTEVŘENO",
|
||||||
|
"closed":"UZAVŘENO",
|
||||||
|
"priority":"PRIORITA",
|
||||||
|
"participants":"ÚČASTNÍCI",
|
||||||
|
"yes":"Ano",
|
||||||
|
"no":"Ne",
|
||||||
|
"option":"Možnost",
|
||||||
|
"topic":"Téma",
|
||||||
|
"uptime":"Doba provozu systému",
|
||||||
|
"messages":"Zprávy",
|
||||||
|
"embeds":"Embeds",
|
||||||
|
"files":"Soubory",
|
||||||
|
"components":"Komponenty",
|
||||||
|
"cooldown":"Cooldown",
|
||||||
|
"maxTickets":"Maximální tikety",
|
||||||
|
"admins":"Admini",
|
||||||
|
"roles":"Role",
|
||||||
|
"size":"Velikost"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text":"text",
|
"text":"text",
|
||||||
@@ -384,6 +448,7 @@
|
|||||||
"unclaim":"Odeber přidělení ticketu.",
|
"unclaim":"Odeber přidělení ticketu.",
|
||||||
"pin":"Připni ticket.",
|
"pin":"Připni ticket.",
|
||||||
"unpin":"Odepni ticket.",
|
"unpin":"Odepni ticket.",
|
||||||
|
|
||||||
"move":"Přesuň ticket.",
|
"move":"Přesuň ticket.",
|
||||||
"moveId":"Identifikátor možnost, na který chceš přesunout.",
|
"moveId":"Identifikátor možnost, na který chceš přesunout.",
|
||||||
"rename":"Přejmenuj ticket.",
|
"rename":"Přejmenuj ticket.",
|
||||||
@@ -392,6 +457,7 @@
|
|||||||
"addUser":"Uživatel k přidání.",
|
"addUser":"Uživatel k přidání.",
|
||||||
"remove":"Odstraň uživatele z ticketu.",
|
"remove":"Odstraň uživatele z ticketu.",
|
||||||
"removeUser":"Uživatel k odstranění.",
|
"removeUser":"Uživatel k odstranění.",
|
||||||
|
|
||||||
"blacklist":"Spravuj blacklist ticketů.",
|
"blacklist":"Spravuj blacklist ticketů.",
|
||||||
"blacklistView":"Zobraz seznam aktuálního blacklistu.",
|
"blacklistView":"Zobraz seznam aktuálního blacklistu.",
|
||||||
"blacklistAdd":"Přidej uživatele na blacklist.",
|
"blacklistAdd":"Přidej uživatele na blacklist.",
|
||||||
@@ -405,6 +471,7 @@
|
|||||||
"statsUserUser":"Uživatel, jehož statistiky chceš zobrazit.",
|
"statsUserUser":"Uživatel, jehož statistiky chceš zobrazit.",
|
||||||
"statsTicket":"Zobraz statistiky ticketu na serveru.",
|
"statsTicket":"Zobraz statistiky ticketu na serveru.",
|
||||||
"statsTicketTicket":"Ticket, jehož statistiky chceš zobrazit.",
|
"statsTicketTicket":"Ticket, jehož statistiky chceš zobrazit.",
|
||||||
|
|
||||||
"clear":"Smaž více ticketů najednou. Lze zadat volitelný filtr.",
|
"clear":"Smaž více ticketů najednou. Lze zadat volitelný filtr.",
|
||||||
"clearFilter":"Filtr pro vymazání tiketů.",
|
"clearFilter":"Filtr pro vymazání tiketů.",
|
||||||
"clearFilters":{
|
"clearFilters":{
|
||||||
@@ -417,6 +484,7 @@
|
|||||||
"unpin":"Nepřipnuté",
|
"unpin":"Nepřipnuté",
|
||||||
"autoclose":"Automaticky uzavřené"
|
"autoclose":"Automaticky uzavřené"
|
||||||
},
|
},
|
||||||
|
|
||||||
"autoclose":"Spravuj automatické uzavření ticketu.",
|
"autoclose":"Spravuj automatické uzavření ticketu.",
|
||||||
"autocloseDisable":"Deaktivuj automatické uzavření v tomto ticketu.",
|
"autocloseDisable":"Deaktivuj automatické uzavření v tomto ticketu.",
|
||||||
"autocloseEnable":"Aktivuj automatické uzavření v tomto ticketu.",
|
"autocloseEnable":"Aktivuj automatické uzavření v tomto ticketu.",
|
||||||
@@ -424,7 +492,19 @@
|
|||||||
"autodelete":"Spravuj automatické smazání ticketu.",
|
"autodelete":"Spravuj automatické smazání ticketu.",
|
||||||
"autodeleteDisable":"Deaktivuj automatické smazání v tomto ticketu.",
|
"autodeleteDisable":"Deaktivuj automatické smazání v tomto ticketu.",
|
||||||
"autodeleteEnable":"Aktivuj automatické smazání v tomto ticketu.",
|
"autodeleteEnable":"Aktivuj automatické smazání v tomto ticketu.",
|
||||||
"autodeleteEnableTime":"Počet dnů neaktivity, po kterých se ticket smaže."
|
"autodeleteEnableTime":"Počet dnů neaktivity, po kterých se ticket smaže.",
|
||||||
|
|
||||||
|
"topic":"Spravujte téma kanálu tiketu.",
|
||||||
|
"topicSet":"Nastavte téma kanálu tiketu.",
|
||||||
|
"topicValue":"Nové téma kanálu.",
|
||||||
|
"topicList":"Získejte seznam všech tiketů s jejich tématy a statistikami.",
|
||||||
|
"priority":"Spravujte prioritu tiketu.",
|
||||||
|
"prioritySet":"Nastavte prioritu tiketu.",
|
||||||
|
"priorityValue":"Priorita kanálu.",
|
||||||
|
"priorityGet":"Získejte prioritu tiketu.",
|
||||||
|
"priorityList":"Získejte seznam všech tiketů s jejich prioritou.",
|
||||||
|
"transfer":"Přeneste vlastnictví tiketu od jednoho uživatele k druhému.",
|
||||||
|
"transferUser":"Uživatel, na kterého se přenáší."
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"help":"Získej seznam všech dostupných příkazů.",
|
"help":"Získej seznam všech dostupných příkazů.",
|
||||||
@@ -452,7 +532,16 @@
|
|||||||
"autocloseDisable":"Deaktivuj automatické uzavření v tomto ticketu.",
|
"autocloseDisable":"Deaktivuj automatické uzavření v tomto ticketu.",
|
||||||
"autocloseEnable":"Aktivuj automatické uzavření v tomto ticketu.",
|
"autocloseEnable":"Aktivuj automatické uzavření v tomto ticketu.",
|
||||||
"autodeleteDisable":"Deaktivuj automatické smazání v tomto ticketu.",
|
"autodeleteDisable":"Deaktivuj automatické smazání v tomto ticketu.",
|
||||||
"autodeleteEnable":"Aktivuj automatické smazání v tomto ticketu."
|
"autodeleteEnable":"Aktivuj automatické smazání v tomto ticketu.",
|
||||||
|
"categories":{
|
||||||
|
"general":"Obecné příkazy",
|
||||||
|
"basicTicket":"Základní příkazy tiketu",
|
||||||
|
"advancedTicket":"Pokročilé příkazy tiketu",
|
||||||
|
"userTicket":"Příkazy uživatelského tiketu",
|
||||||
|
"admin":"Admin příkazy",
|
||||||
|
"advanced":"Pokročilé příkazy",
|
||||||
|
"extra":"Extra příkazy"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes":{
|
"scopes":{
|
||||||
@@ -460,7 +549,8 @@
|
|||||||
"system":"Statistiky systému",
|
"system":"Statistiky systému",
|
||||||
"user":"Statistiky uživatele",
|
"user":"Statistiky uživatele",
|
||||||
"ticket":"Statistiky ticketu",
|
"ticket":"Statistiky ticketu",
|
||||||
"participants":"Účastníci"
|
"participants":"Účastníci",
|
||||||
|
"messages":"Zprávy"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated":"Vytvořené tickety",
|
"ticketsCreated":"Vytvořené tickety",
|
||||||
@@ -472,7 +562,47 @@
|
|||||||
"ticketsPinned":"Připnuté tickety",
|
"ticketsPinned":"Připnuté tickety",
|
||||||
"ticketsMoved":"Přesunuté tickety",
|
"ticketsMoved":"Přesunuté tickety",
|
||||||
"usersBlacklisted":"Uživatelé na blacklistu",
|
"usersBlacklisted":"Uživatelé na blacklistu",
|
||||||
"transcriptsCreated":"Vytvořené přepisy"
|
"transcriptsCreated":"Vytvořené přepisy",
|
||||||
|
"ticketsAutodeleted":"Automaticky smazané tikety",
|
||||||
|
"ticketsTransferred":"Přenesené tikety",
|
||||||
|
"ticketVolume":"Objem tiketů",
|
||||||
|
"averageTickets":"Průměr tiketů/uživatel",
|
||||||
|
"currentTickets":"Aktuální tikety",
|
||||||
|
"age":"Věk tiketu",
|
||||||
|
"responseTime":"Doba odezvy",
|
||||||
|
"resolutionTime":"Doba vyřešení",
|
||||||
|
"createdOn":"Vytvořeno dne",
|
||||||
|
"createdBy":"Vytvořil",
|
||||||
|
"closedOn":"Uzavřeno dne",
|
||||||
|
"closedBy":"Uzavřel",
|
||||||
|
"claimedOn":"Převzato dne",
|
||||||
|
"claimedBy":"Převzal",
|
||||||
|
"pinnedOn":"Připnuto dne",
|
||||||
|
"pinnedBy":"Připnul",
|
||||||
|
"deletedOn":"Smazáno dne",
|
||||||
|
"deletedBy":"Smazal"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"Vývojář",
|
||||||
|
"serverOwner":"Vlastník serveru",
|
||||||
|
"serverAdmin":"Server Admin",
|
||||||
|
"moderator":"Moderátorský tým",
|
||||||
|
"support":"Podpůrný tým",
|
||||||
|
"member":"Člen"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"Vyberte svůj tiket",
|
||||||
|
"selectRole":"Vyberte svou roli",
|
||||||
|
"selectOption":"Vyberte svou možnost"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"Naléhavé",
|
||||||
|
"veryHigh":"Velmi vysoké",
|
||||||
|
"high":"Vysoké",
|
||||||
|
"normal":"Normální",
|
||||||
|
"low":"Nízké",
|
||||||
|
"veryLow":"Velmi nízké",
|
||||||
|
"none":"Žádné"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+563
-433
File diff suppressed because it is too large
Load Diff
+150
-20
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["DJj123dj"],
|
"translators":["DJj123dj"],
|
||||||
"lastedited":"21/08/2024",
|
"lastedited":"16/02/2026",
|
||||||
"language":"Dutch",
|
"language":"Dutch",
|
||||||
"automated":false
|
"automated":false
|
||||||
},
|
},
|
||||||
@@ -31,6 +31,14 @@
|
|||||||
"stringContains":"Deze tekst moet {0} bevatten!",
|
"stringContains":"Deze tekst moet {0} bevatten!",
|
||||||
"stringChoices":"Deze tekst kan alleen de volgende waardes bevatten: {0}!",
|
"stringChoices":"Deze tekst kan alleen de volgende waardes bevatten: {0}!",
|
||||||
"stringRegex":"Deze tekst is ongeldig!",
|
"stringRegex":"Deze tekst is ongeldig!",
|
||||||
|
"stringInvertedContains":"Deze tekst mag niet {0} bevatten!",
|
||||||
|
"stringLowercase":"Deze tekst moet in kleine letters geschreven zijn!",
|
||||||
|
"stringUppercase":"Deze tekst moet in hoofdletters geschreven zijn!",
|
||||||
|
"stringSpecialCharacters":"Deze tekst mag geen speciale karakters bevatten! (enkel a-z, 0-9 & spatie)",
|
||||||
|
"stringNoSpaces":"Deze tekst mag geen spaties bevatten!",
|
||||||
|
"stringCapitalWord":"Het is aangeraden om ieder woord in de zin te laten starten met een hoofdletter!",
|
||||||
|
"stringCapitalSentence":"Het ziet er naar uit dat sommige zinnen in deze tekst niet met een hoofdletter beginnen!",
|
||||||
|
"stringPunctuation":"Het ziet er naar uit dat de zin in deze tekst niet met een leesteken eindigt!",
|
||||||
|
|
||||||
"numberTooShort":"Dit nummer kan niet korter dan {0} karakters zijn!",
|
"numberTooShort":"Dit nummer kan niet korter dan {0} karakters zijn!",
|
||||||
"numberTooLong":"Dit nummer kan niet langer dan {0} karakters zijn!",
|
"numberTooLong":"Dit nummer kan niet langer dan {0} karakters zijn!",
|
||||||
@@ -48,6 +56,8 @@
|
|||||||
"numberNegative":"Dit nummer kan niet negatief zijn!",
|
"numberNegative":"Dit nummer kan niet negatief zijn!",
|
||||||
"numberPositive":"Dit nummer kan niet positief zijn!",
|
"numberPositive":"Dit nummer kan niet positief zijn!",
|
||||||
"numberZero":"Dit nummer kan niet nul zijn!",
|
"numberZero":"Dit nummer kan niet nul zijn!",
|
||||||
|
"numberNan":"Dit nummer kan geen NaN (Not A Number) zijn!",
|
||||||
|
"numberInvertedContains":"Dit nummer mag niet {0} bevatten!",
|
||||||
|
|
||||||
"booleanTrue":"Deze boolean kan niet true zijn!",
|
"booleanTrue":"Deze boolean kan niet true zijn!",
|
||||||
"booleanFalse":"Deze boolean kan niet false zijn!",
|
"booleanFalse":"Deze boolean kan niet false zijn!",
|
||||||
@@ -89,7 +99,8 @@
|
|||||||
"invalidButton":"Deze knop moet een {0} of {1} hebben!",
|
"invalidButton":"Deze knop moet een {0} of {1} hebben!",
|
||||||
"unusedOption":"De optie {0} wordt nergens gebruikt!",
|
"unusedOption":"De optie {0} wordt nergens gebruikt!",
|
||||||
"unusedQuestion":"The vraag {0} wordt nergens gebruikt!",
|
"unusedQuestion":"The vraag {0} wordt nergens gebruikt!",
|
||||||
"dropdownOption":"Een paneel met dropdown mag alleen opties bevaten van het 'ticket' type!"
|
"dropdownOption":"Een paneel met dropdown mag alleen opties bevaten van het 'ticket' type!",
|
||||||
|
"customInvalidVersion":"De versie gespecificeerd in u configbestand komt niet overeen! Zorg dat u het configbestand geüpdatet heeft naar de laatste versie!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
@@ -132,6 +143,7 @@
|
|||||||
"blacklistAddDm":"Toegevoegd Aan Blacklist",
|
"blacklistAddDm":"Toegevoegd Aan Blacklist",
|
||||||
"blacklistRemoveDm":"Verwijderd Van Blacklist",
|
"blacklistRemoveDm":"Verwijderd Van Blacklist",
|
||||||
"clear":"Tickets Opgeruimd",
|
"clear":"Tickets Opgeruimd",
|
||||||
|
"clearTickets":"Tickets Opruimen",
|
||||||
"roles":"Rollen Bijgewerkt",
|
"roles":"Rollen Bijgewerkt",
|
||||||
|
|
||||||
"autoclose":"Ticket Automatisch Gesloten",
|
"autoclose":"Ticket Automatisch Gesloten",
|
||||||
@@ -139,7 +151,12 @@
|
|||||||
"autocloseDisabled":"Autoclose Uitgeschakeld",
|
"autocloseDisabled":"Autoclose Uitgeschakeld",
|
||||||
"autodelete":"Ticket Automatisch Verwijderd",
|
"autodelete":"Ticket Automatisch Verwijderd",
|
||||||
"autodeleteEnabled":"Autodelete Ingeschakeld",
|
"autodeleteEnabled":"Autodelete Ingeschakeld",
|
||||||
"autodeleteDisabled":"Autodelete Uitgeschakeld"
|
"autodeleteDisabled":"Autodelete Uitgeschakeld",
|
||||||
|
|
||||||
|
"topicSet":"Onderwerp Veranderd",
|
||||||
|
"prioritySet":"Prioriteit Veranderd",
|
||||||
|
"priorityGet":"Ticket Prioriteit",
|
||||||
|
"transfer":"Ticket Overgedragen"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create":"Je ticket is aangemaakt. Klik op de knop hier onder om er naar toe te gaan!",
|
"create":"Je ticket is aangemaakt. Klik op de knop hier onder om er naar toe te gaan!",
|
||||||
@@ -169,18 +186,23 @@
|
|||||||
"rolesEmpty":"Geen enkele rollen zijn bijgewerkt!",
|
"rolesEmpty":"Geen enkele rollen zijn bijgewerkt!",
|
||||||
|
|
||||||
"autocloseLeave":"Dit ticket is automatisch gesloten omdat de maker de server verlaten is!",
|
"autocloseLeave":"Dit ticket is automatisch gesloten omdat de maker de server verlaten is!",
|
||||||
"autocloseTimeout":"Dit ticket is automatisch gesloten omdat het inactief was voor meer dan `{0} uur`!",
|
"autocloseTimeout":"Dit ticket is automatisch gesloten omdat het meer dan `{0} uur` inactief was!",
|
||||||
"autodeleteLeave":"Dit ticket is automatisch verwijderd omdat de maker de server verlaten is!",
|
"autodeleteLeave":"Dit ticket is automatisch verwijderd omdat de maker de server verlaten is!",
|
||||||
"autodeleteTimeout":"Dit ticket is automatisch verwijderd omdat het inactief was voor meer dan `{0} dagen`!",
|
"autodeleteTimeout":"Dit ticket is automatisch verwijderd omdat het meer dan `{0} dagen` inactief was!",
|
||||||
"autocloseEnabled":"Autoclose is ingeschakeld in dit ticket!\nHet wordt gesloten wanneer het inactief is voor meer dan `{0} uur`!",
|
"autocloseEnabled":"Autoclose is ingeschakeld in dit ticket!\nHet wordt gesloten na `{0} uur` inactiviteit!",
|
||||||
"autocloseDisabled":"Autoclose is uitgeschakeld in dit ticket!\nHet wordt niet meer automatisch gesloten!",
|
"autocloseDisabled":"Autoclose is uitgeschakeld in dit ticket!\nHet wordt niet meer automatisch gesloten!",
|
||||||
"autodeleteEnabled":"Autodelete is ingeschakeld in dit ticket!\nHet wordt verwijderd wanneer het inactief is voor meer dan `{0} dagen`!",
|
"autodeleteEnabled":"Autodelete is ingeschakeld in dit ticket!\nHet wordt verwijderd na `{0} dagen` inactiviteit!",
|
||||||
"autodeleteDisabled":"Autodelete is uitgeschakeld in dit ticket!\nHet wordt niet meer automatisch verwijderd!",
|
"autodeleteDisabled":"Autodelete is uitgeschakeld in dit ticket!\nHet wordt niet meer automatisch verwijderd!",
|
||||||
|
|
||||||
"ticketMessageLimit":"Je kan maar {0} ticket(s) op het zelfde moment aanmaken!",
|
"ticketMessageLimit":"Je kan maar {0} ticket(s) op het zelfde moment aanmaken!",
|
||||||
"ticketMessageAutoclose":"Dit ticket wordt automatisch gesloten wanneer het inactief is voor {0} uur!",
|
"ticketMessageAutoclose":"Dit ticket wordt automatisch gesloten wanneer het inactief is voor {0} uur!",
|
||||||
"ticketMessageAutodelete":"Dit ticket wordt automatisch verwijderd wanneer het inactief is voor {0} dagen!",
|
"ticketMessageAutodelete":"Dit ticket wordt automatisch verwijderd wanneer het inactief is voor {0} dagen!",
|
||||||
"panelReady":"Je kan het paneel hier onder vinden!\nDit bericht kan nu verwijderd worden!"
|
"panelReady":"Het paneel is beschikbaar in het volgende bericht!\nDit bericht kan verwijderd worden!",
|
||||||
|
|
||||||
|
"topicSet":"Het kanaalsonderwerp is succesvol veranderd naar {0}!",
|
||||||
|
"prioritySet":"De ticket prioriteit is succesvol veranderd naar {0} door {1}!",
|
||||||
|
"priorityGet":"De huidige prioriteit van dit ticket is {0}.",
|
||||||
|
"transfer":"Het ticket is succesvol overgedragen van {0} naar {1} door {2}!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder":"Waarom heb je dit ticket gesloten?",
|
"closePlaceholder":"Waarom heb je dit ticket gesloten?",
|
||||||
@@ -220,7 +242,14 @@
|
|||||||
"blacklistRemoveLog":"{0} is verwijderd van de blacklist door {1}!",
|
"blacklistRemoveLog":"{0} is verwijderd van de blacklist door {1}!",
|
||||||
"blacklistAddDm":"Je bent geblacklist in onze server!\nVanaf nu kan je geen tickets meer aanmaken!",
|
"blacklistAddDm":"Je bent geblacklist in onze server!\nVanaf nu kan je geen tickets meer aanmaken!",
|
||||||
"blacklistRemoveDm":"Je bent verwijderd van de blacklist in onze server!\nNormaal zou je nu terug tickets kunnen aanmaken!",
|
"blacklistRemoveDm":"Je bent verwijderd van de blacklist in onze server!\nNormaal zou je nu terug tickets kunnen aanmaken!",
|
||||||
"clearLog":"{0} tickets zijn verwijderd door by {1}!"
|
"clearLog":"{0} tickets zijn verwijderd door by {1}!",
|
||||||
|
|
||||||
|
"transferLog":"Het ticket is overgedragen van {0} naar {1} door {2}!",
|
||||||
|
"transferDm":"U ticket is overgedragen van {0} naar {1} in onze server!",
|
||||||
|
"prioritySetLog":"De prioriteit van dit ticket is veranderd naar {0} door {1}!",
|
||||||
|
"prioritySetDm":"De prioriteit van u ticket is veranderd naar {0} in onze server!",
|
||||||
|
"roleUpdateLog":"{0} heeft zijn/haar rollen bewerkt!",
|
||||||
|
"roleUpdateDm":"U rollen in onze server zijn veranderd!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
@@ -241,7 +270,19 @@
|
|||||||
"retry":"Herprobeer",
|
"retry":"Herprobeer",
|
||||||
"continue":"Verwijder Zonder Transcript",
|
"continue":"Verwijder Zonder Transcript",
|
||||||
"backup":"Maak Backup Transcript",
|
"backup":"Maak Backup Transcript",
|
||||||
"error":"Er is iets misgegaan bij het maken van het transcript.\nWat wil je doen?\n\nDit ticket wordt niet meer verwijderd to je een van de onderstaande knoppen gebruikt."
|
"error":"Er is iets misgegaan bij het maken van het transcript.\nWat wil je doen?\n\nDit ticket wordt niet meer verwijderd to je een van de onderstaande knoppen gebruikt.",
|
||||||
|
"title":"Transcript Error"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"BERICHTEN",
|
||||||
|
"embedTitle":"EMBED",
|
||||||
|
"fileTitle":"BESTAND",
|
||||||
|
"fieldsTitle":"VELDEN",
|
||||||
|
"reactionsTitle":"REACTIES",
|
||||||
|
"statsTitle":"STATS",
|
||||||
|
"emptyContent":"<inhoud is leeg>",
|
||||||
|
"noTitle":"<geen-titel>",
|
||||||
|
"noDesc":"<geen-beschrijving>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
@@ -257,10 +298,11 @@
|
|||||||
"unknownPanel":"Onbekend Paneel",
|
"unknownPanel":"Onbekend Paneel",
|
||||||
"notInGuild":"Niet In Server",
|
"notInGuild":"Niet In Server",
|
||||||
"channelRename":"Kan Kanaal Niet Hernoemen",
|
"channelRename":"Kan Kanaal Niet Hernoemen",
|
||||||
"busy":"Ticket Is Bezig"
|
"busy":"Ticket Is Bezig",
|
||||||
|
"permissionError":"Permission Error"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo":"Contacteer the eigenaar van deze bot voor meer info!",
|
"askForInfo":"Contacteer de eigenaar van deze bot voor meer info!",
|
||||||
"askForInfoResolve":"Contacteer de eigenaar van deze bot als het probleem niet opgelost wordt na enkele keren.",
|
"askForInfoResolve":"Contacteer de eigenaar van deze bot als het probleem niet opgelost wordt na enkele keren.",
|
||||||
"internalError":"Gefaald om te reageren op deze {0} door een interne error!",
|
"internalError":"Gefaald om te reageren op deze {0} door een interne error!",
|
||||||
"optionMissing":"Een verplichte parameter mist in deze command!",
|
"optionMissing":"Een verplichte parameter mist in deze command!",
|
||||||
@@ -280,7 +322,10 @@
|
|||||||
"notInGuild":"Deze {0} werkt niet in DM! Probeer het opnieuw in een server!",
|
"notInGuild":"Deze {0} werkt niet in DM! Probeer het opnieuw in een server!",
|
||||||
"channelRename":"Door discord ratelimits is het op dit moment onmogelijk voor de bot om het kanaal te hernoemen. Het kanaal zal automatisch hernoemd worden over 10 min als de bot niet herstart wordt.",
|
"channelRename":"Door discord ratelimits is het op dit moment onmogelijk voor de bot om het kanaal te hernoemen. Het kanaal zal automatisch hernoemd worden over 10 min als de bot niet herstart wordt.",
|
||||||
"channelRenameSource":"De bron van deze error is: {0}",
|
"channelRenameSource":"De bron van deze error is: {0}",
|
||||||
"busy":"Kan deze {0} niet gebruiken!\nHet ticket wordt op dit moment verwerkt door de bot.\n\nProbeer het opnieuw binnen een paar seconden!"
|
"busy":"Kan deze {0} niet gebruiken!\nHet ticket wordt op dit moment verwerkt door de bot.\n\nProbeer het opnieuw binnen een paar seconden!",
|
||||||
|
"closeBeforeMessage":"Dit ticket kan niet gesloten/verwijderd worden vooraleer er een bericht door een gebruiker verstuurd is.",
|
||||||
|
"closeBeforeAdminMessage":"Dit ticket kan niet gesloten/verwijderd worden vooraleer er een bericht door een ticket admin of supportlid verstuurd is.",
|
||||||
|
"unableToCreateTicket":"U kunt geen ticket aanmaken."
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex":"Waarde is niet gelijk aan het patroon!",
|
"stringRegex":"Waarde is niet gelijk aan het patroon!",
|
||||||
@@ -331,7 +376,6 @@
|
|||||||
"added":"Toegevoegd",
|
"added":"Toegevoegd",
|
||||||
"removed":"Verwijderd",
|
"removed":"Verwijderd",
|
||||||
"filter":"Filter",
|
"filter":"Filter",
|
||||||
"claimedBy":"Geclaimd Door {0}",
|
|
||||||
"method":"Methode",
|
"method":"Methode",
|
||||||
"type":"Type",
|
"type":"Type",
|
||||||
"blacklisted":"Geblacklist",
|
"blacklisted":"Geblacklist",
|
||||||
@@ -355,7 +399,27 @@
|
|||||||
"status":"Status",
|
"status":"Status",
|
||||||
"claimed":"Geclaimd",
|
"claimed":"Geclaimd",
|
||||||
"pinned":"Gepind",
|
"pinned":"Gepind",
|
||||||
"creationDate":"Aanmaakdatum"
|
"creationDate":"Aanmaakdatum",
|
||||||
|
|
||||||
|
"noone":"Niemand",
|
||||||
|
"open":"Open",
|
||||||
|
"closed":"Gesloten",
|
||||||
|
"priority":"Prioriteit",
|
||||||
|
"participants":"Deelnemers",
|
||||||
|
"yes":"Ja",
|
||||||
|
"no":"Nee",
|
||||||
|
"option":"Optie",
|
||||||
|
"topic":"Onderwerp",
|
||||||
|
"uptime":"Systeem Uptime",
|
||||||
|
"messages":"Berichten",
|
||||||
|
"embeds":"Embeds",
|
||||||
|
"files":"Bestanden",
|
||||||
|
"components":"Componenten",
|
||||||
|
"cooldown":"Cooldown",
|
||||||
|
"maxTickets":"Max Tickets",
|
||||||
|
"admins":"Admins",
|
||||||
|
"roles":"Rollen",
|
||||||
|
"size":"Grootte"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text":"tekst",
|
"text":"tekst",
|
||||||
@@ -384,6 +448,7 @@
|
|||||||
"unclaim":"Ontclaim dit ticket.",
|
"unclaim":"Ontclaim dit ticket.",
|
||||||
"pin":"Pin dit ticket.",
|
"pin":"Pin dit ticket.",
|
||||||
"unpin":"Maak dit ticket los.",
|
"unpin":"Maak dit ticket los.",
|
||||||
|
|
||||||
"move":"Verplaats een ticket.",
|
"move":"Verplaats een ticket.",
|
||||||
"moveId":"Het id van de optie waarnaar je wilt verplaatsen.",
|
"moveId":"Het id van de optie waarnaar je wilt verplaatsen.",
|
||||||
"rename":"Hernoem een ticket.",
|
"rename":"Hernoem een ticket.",
|
||||||
@@ -392,6 +457,7 @@
|
|||||||
"addUser":"De gebruiker om toe te voegen.",
|
"addUser":"De gebruiker om toe te voegen.",
|
||||||
"remove":"Verwijder een user van dit ticket.",
|
"remove":"Verwijder een user van dit ticket.",
|
||||||
"removeUser":"De gebruiker om te verwijderen.",
|
"removeUser":"De gebruiker om te verwijderen.",
|
||||||
|
|
||||||
"blacklist":"Beheer de ticket blacklist.",
|
"blacklist":"Beheer de ticket blacklist.",
|
||||||
"blacklistView":"Bekijk de huidige blacklist.",
|
"blacklistView":"Bekijk de huidige blacklist.",
|
||||||
"blacklistAdd":"Voeg een gebruiker toe aan de blacklist.",
|
"blacklistAdd":"Voeg een gebruiker toe aan de blacklist.",
|
||||||
@@ -405,6 +471,7 @@
|
|||||||
"statsUserUser":"De gebruiker om te bekijken.",
|
"statsUserUser":"De gebruiker om te bekijken.",
|
||||||
"statsTicket":"Bekijk de stats van een ticket in de server.",
|
"statsTicket":"Bekijk de stats van een ticket in de server.",
|
||||||
"statsTicketTicket":"Het ticket om te bekijken.",
|
"statsTicketTicket":"Het ticket om te bekijken.",
|
||||||
|
|
||||||
"clear":"Verwijder meerdere tickets tegelijkertijd.",
|
"clear":"Verwijder meerdere tickets tegelijkertijd.",
|
||||||
"clearFilter":"De filter om tickets op te ruimen.",
|
"clearFilter":"De filter om tickets op te ruimen.",
|
||||||
"clearFilters":{
|
"clearFilters":{
|
||||||
@@ -417,6 +484,7 @@
|
|||||||
"unpin":"Losgemaakt (niet gepind)",
|
"unpin":"Losgemaakt (niet gepind)",
|
||||||
"autoclose":"Automatisch Gesloten"
|
"autoclose":"Automatisch Gesloten"
|
||||||
},
|
},
|
||||||
|
|
||||||
"autoclose":"Beheer autoclose in een ticket.",
|
"autoclose":"Beheer autoclose in een ticket.",
|
||||||
"autocloseDisable":"Schakel autoclose in dit ticket uit.",
|
"autocloseDisable":"Schakel autoclose in dit ticket uit.",
|
||||||
"autocloseEnable":"Schakel autoclose in dit ticket in.",
|
"autocloseEnable":"Schakel autoclose in dit ticket in.",
|
||||||
@@ -424,7 +492,19 @@
|
|||||||
"autodelete":"Beheer autodelete in een ticket.",
|
"autodelete":"Beheer autodelete in een ticket.",
|
||||||
"autodeleteDisable":"Schakel autodelete in dit ticket aan.",
|
"autodeleteDisable":"Schakel autodelete in dit ticket aan.",
|
||||||
"autodeleteEnable":"Schakel autodelete in dit ticket aan.",
|
"autodeleteEnable":"Schakel autodelete in dit ticket aan.",
|
||||||
"autodeleteEnableTime":"De hoeveelheid dagen dat dit ticket inactief moet zijn voor het te verwijderen."
|
"autodeleteEnableTime":"De hoeveelheid dagen dat dit ticket inactief moet zijn voor het te verwijderen.",
|
||||||
|
|
||||||
|
"topic":"Beheer het onderwerp van een ticket kanaal.",
|
||||||
|
"topicSet":"Verander het onderwerp van een ticket kanaal.",
|
||||||
|
"topicValue":"Het nieuwe onderwerp van het kanaal.",
|
||||||
|
"topicList":"Bekijk een lijst van alle tickets met hun onderwerp en stats.",
|
||||||
|
"priority":"Beheer de prioriteit van een ticket.",
|
||||||
|
"prioritySet":"Verander de prioriteit van een ticket.",
|
||||||
|
"priorityValue":"De prioriteit van het kanaal.",
|
||||||
|
"priorityGet":"Bekijk de prioriteit van een ticket.",
|
||||||
|
"priorityList":"Bekijk een lijst van alle tickets met hun prioriteit.",
|
||||||
|
"transfer":"Draag het ticket eigendom over van de ene naar de andere gebruiker.",
|
||||||
|
"transferUser":"De user om naar over te dragen."
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"help":"Krijg een lijst van alle beschikbare commands.",
|
"help":"Krijg een lijst van alle beschikbare commands.",
|
||||||
@@ -452,7 +532,16 @@
|
|||||||
"autocloseDisable":"Zet autoclose uit in dit ticket.",
|
"autocloseDisable":"Zet autoclose uit in dit ticket.",
|
||||||
"autocloseEnable":"Zet autoclose in aan dit ticket.",
|
"autocloseEnable":"Zet autoclose in aan dit ticket.",
|
||||||
"autodeleteDisable":"Zet autodelete uit in dit ticket.",
|
"autodeleteDisable":"Zet autodelete uit in dit ticket.",
|
||||||
"autodeleteEnable":"Zet autodelete aan in dit ticket."
|
"autodeleteEnable":"Zet autodelete aan in dit ticket.",
|
||||||
|
"categories":{
|
||||||
|
"general":"Algemene Commands",
|
||||||
|
"basicTicket":"Basis Ticket Commands",
|
||||||
|
"advancedTicket":"Geavanceerde Ticket Commands",
|
||||||
|
"userTicket":"Gebruiker Ticket Commands",
|
||||||
|
"admin":"Admin Commands",
|
||||||
|
"advanced":"Geavanceerde Commands",
|
||||||
|
"extra":"Extra Commands"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes":{
|
"scopes":{
|
||||||
@@ -460,7 +549,8 @@
|
|||||||
"system":"Systeem Stats",
|
"system":"Systeem Stats",
|
||||||
"user":"User Stats",
|
"user":"User Stats",
|
||||||
"ticket":"Ticket Stats",
|
"ticket":"Ticket Stats",
|
||||||
"participants":"Deelnemers"
|
"participants":"Deelnemers",
|
||||||
|
"messages":"Berichten"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated":"Tickets Aangemaakt",
|
"ticketsCreated":"Tickets Aangemaakt",
|
||||||
@@ -472,7 +562,47 @@
|
|||||||
"ticketsPinned":"Tickets Gepind",
|
"ticketsPinned":"Tickets Gepind",
|
||||||
"ticketsMoved":"Tickets Verplaatst",
|
"ticketsMoved":"Tickets Verplaatst",
|
||||||
"usersBlacklisted":"Users Geblacklist",
|
"usersBlacklisted":"Users Geblacklist",
|
||||||
"transcriptsCreated":"Transcripts Aangemaakt"
|
"transcriptsCreated":"Transcripts Aangemaakt",
|
||||||
|
"ticketsAutodeleted":"Tickets Autodeleted",
|
||||||
|
"ticketsTransferred":"Tickets Overgedragen",
|
||||||
|
"ticketVolume":"Ticket Volume",
|
||||||
|
"averageTickets":"Gemiddelde Tickets/Gebruiker",
|
||||||
|
"currentTickets":"Huidige Tickets",
|
||||||
|
"age":"Ticket Leeftijd",
|
||||||
|
"responseTime":"Antwoordtijd",
|
||||||
|
"resolutionTime":"Oplostijd",
|
||||||
|
"createdOn":"Gemaakt Op",
|
||||||
|
"createdBy":"Gemaakt Door",
|
||||||
|
"closedOn":"Gesloten Op",
|
||||||
|
"closedBy":"Gesloten Door",
|
||||||
|
"claimedOn":"Geclaimed Op",
|
||||||
|
"claimedBy":"Geclaimed Door",
|
||||||
|
"pinnedOn":"Gepint Op",
|
||||||
|
"pinnedBy":"Gepint Door",
|
||||||
|
"deletedOn":"Verwijderd Op",
|
||||||
|
"deletedBy":"Verwijderd Door"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"Developer",
|
||||||
|
"serverOwner":"Server Eigenaar",
|
||||||
|
"serverAdmin":"Server Admin",
|
||||||
|
"moderator":"Moderator Team",
|
||||||
|
"support":"Support Team",
|
||||||
|
"member":"Serverlid"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"Selecteer u ticket",
|
||||||
|
"selectRole":"Selecteer u rol",
|
||||||
|
"selectOption":"Selecteer u optie"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"Urgent",
|
||||||
|
"veryHigh":"Zeer Hoog",
|
||||||
|
"high":"Hoog",
|
||||||
|
"normal":"Normaal",
|
||||||
|
"low":"Laag",
|
||||||
|
"veryLow":"Zeer Laag",
|
||||||
|
"none":"Geen"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+145
-15
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["DJj123dj"],
|
"translators":["DJj123dj"],
|
||||||
"lastedited":"21/08/2024",
|
"lastedited":"16/02/2026",
|
||||||
"language":"English",
|
"language":"English",
|
||||||
"automated":false
|
"automated":false
|
||||||
},
|
},
|
||||||
@@ -31,6 +31,14 @@
|
|||||||
"stringContains":"This string needs to contain {0}!",
|
"stringContains":"This string needs to contain {0}!",
|
||||||
"stringChoices":"This string can only be one of the following values: {0}!",
|
"stringChoices":"This string can only be one of the following values: {0}!",
|
||||||
"stringRegex":"This string is invalid!",
|
"stringRegex":"This string is invalid!",
|
||||||
|
"stringInvertedContains":"This string is not allowed to contain {0}!",
|
||||||
|
"stringLowercase":"This string must be written in lowercase only!",
|
||||||
|
"stringUppercase":"This string must be written in uppercase only!",
|
||||||
|
"stringSpecialCharacters":"This string is not allowed to contain any special characters! (a-z, 0-9 & space only)",
|
||||||
|
"stringNoSpaces":"This string is not allowed to contain spaces!",
|
||||||
|
"stringCapitalWord":"It's recommended that each word in this string starts with a capital letter!",
|
||||||
|
"stringCapitalSentence":"It looks like some sentences in this string don't start with a capital letter!",
|
||||||
|
"stringPunctuation":"It looks like the sentence in this string doesn't end with a punctuation mark!",
|
||||||
|
|
||||||
"numberTooShort":"This number can't be shorter than {0} characters!",
|
"numberTooShort":"This number can't be shorter than {0} characters!",
|
||||||
"numberTooLong":"This number can't be longer than {0} characters!",
|
"numberTooLong":"This number can't be longer than {0} characters!",
|
||||||
@@ -48,6 +56,8 @@
|
|||||||
"numberNegative":"This number can't be negative!",
|
"numberNegative":"This number can't be negative!",
|
||||||
"numberPositive":"This number can't be positive!",
|
"numberPositive":"This number can't be positive!",
|
||||||
"numberZero":"This number can't be zero!",
|
"numberZero":"This number can't be zero!",
|
||||||
|
"numberNan":"This number can't be NaN (Not A Number)!",
|
||||||
|
"numberInvertedContains":"This number is not allowed to contain {0}!",
|
||||||
|
|
||||||
"booleanTrue":"This boolean can't be true!",
|
"booleanTrue":"This boolean can't be true!",
|
||||||
"booleanFalse":"This boolean can't be false!",
|
"booleanFalse":"This boolean can't be false!",
|
||||||
@@ -89,7 +99,8 @@
|
|||||||
"invalidButton":"This button needs to have at least an {0} or {1}!",
|
"invalidButton":"This button needs to have at least an {0} or {1}!",
|
||||||
"unusedOption":"The option {0} isn't used anywhere!",
|
"unusedOption":"The option {0} isn't used anywhere!",
|
||||||
"unusedQuestion":"The question {0} isn't used anywhere!",
|
"unusedQuestion":"The question {0} isn't used anywhere!",
|
||||||
"dropdownOption":"A panel with dropdown enabled can only contain options of the 'ticket' type!"
|
"dropdownOption":"A panel with dropdown enabled can only contain options of the 'ticket' type!",
|
||||||
|
"customInvalidVersion":"The version specified in your config does not match! Make sure you have updated the config to the latest version!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
@@ -132,6 +143,7 @@
|
|||||||
"blacklistAddDm":"Added To Blacklist",
|
"blacklistAddDm":"Added To Blacklist",
|
||||||
"blacklistRemoveDm":"Removed From Blacklist",
|
"blacklistRemoveDm":"Removed From Blacklist",
|
||||||
"clear":"Tickets Cleared",
|
"clear":"Tickets Cleared",
|
||||||
|
"clearTickets":"Clear Tickets",
|
||||||
"roles":"Roles Updated",
|
"roles":"Roles Updated",
|
||||||
|
|
||||||
"autoclose":"Ticket Autoclosed",
|
"autoclose":"Ticket Autoclosed",
|
||||||
@@ -139,7 +151,12 @@
|
|||||||
"autocloseDisabled":"Autoclose Disabled",
|
"autocloseDisabled":"Autoclose Disabled",
|
||||||
"autodelete":"Ticket Autodeleted",
|
"autodelete":"Ticket Autodeleted",
|
||||||
"autodeleteEnabled":"Autodelete Enabled",
|
"autodeleteEnabled":"Autodelete Enabled",
|
||||||
"autodeleteDisabled":"Autodelete Disabled"
|
"autodeleteDisabled":"Autodelete Disabled",
|
||||||
|
|
||||||
|
"topicSet":"Topic Changed",
|
||||||
|
"prioritySet":"Priority Changed",
|
||||||
|
"priorityGet":"Ticket Priority",
|
||||||
|
"transfer":"Ticket Transferred"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create":"Your ticket has been created. Click the button below to access it!",
|
"create":"Your ticket has been created. Click the button below to access it!",
|
||||||
@@ -180,7 +197,12 @@
|
|||||||
"ticketMessageLimit":"You can only create {0} ticket(s) at the same time!",
|
"ticketMessageLimit":"You can only create {0} ticket(s) at the same time!",
|
||||||
"ticketMessageAutoclose":"This ticket will be autoclosed when inactive for {0}h!",
|
"ticketMessageAutoclose":"This ticket will be autoclosed when inactive for {0}h!",
|
||||||
"ticketMessageAutodelete":"This ticket will be autodeleted when inactive for {0} days!",
|
"ticketMessageAutodelete":"This ticket will be autodeleted when inactive for {0} days!",
|
||||||
"panelReady":"You can find the panel below!\nThis message can now be deleted!"
|
"panelReady":"The panel is available in the followup message!\nThis message can now be deleted!",
|
||||||
|
|
||||||
|
"topicSet":"The channel topic has been changed by {0} successfully!",
|
||||||
|
"prioritySet":"The ticket priority has been changed to {0} by {1} successfully!",
|
||||||
|
"priorityGet":"The current priority of this ticket is {0}.",
|
||||||
|
"transfer":"The ticket ownership has been transferred from {0} to {1} by {2} successfully!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder":"Why did you close this ticket?",
|
"closePlaceholder":"Why did you close this ticket?",
|
||||||
@@ -220,7 +242,14 @@
|
|||||||
"blacklistRemoveLog":"{0} was removed from the blacklist by {1}!",
|
"blacklistRemoveLog":"{0} was removed from the blacklist by {1}!",
|
||||||
"blacklistAddDm":"You have been blacklisted in our server!\nFrom now on, you are unable to create a ticket!",
|
"blacklistAddDm":"You have been blacklisted in our server!\nFrom now on, you are unable to create a ticket!",
|
||||||
"blacklistRemoveDm":"You have been removed from the blacklist in our server!\nNow you can create tickets again!",
|
"blacklistRemoveDm":"You have been removed from the blacklist in our server!\nNow you can create tickets again!",
|
||||||
"clearLog":"{0} tickets have been deleted by {1}!"
|
"clearLog":"{0} tickets have been deleted by {1}!",
|
||||||
|
|
||||||
|
"transferLog":"The ownership of this ticket has been transferred from {0} to {1} by {2}!",
|
||||||
|
"transferDm":"The ownership of your ticket has been transferred from {0} to {1} in our server!",
|
||||||
|
"prioritySetLog":"The priority of this ticket has been changed to {0} by {1}!",
|
||||||
|
"prioritySetDm":"The priority of your ticket has been changed to {0} in our server!",
|
||||||
|
"roleUpdateLog":"{0} has updated their roles!",
|
||||||
|
"roleUpdateDm":"Your roles in our server have been updated!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
@@ -241,7 +270,19 @@
|
|||||||
"retry":"Retry",
|
"retry":"Retry",
|
||||||
"continue":"Delete Without Transcript",
|
"continue":"Delete Without Transcript",
|
||||||
"backup":"Create Backup Transcript",
|
"backup":"Create Backup Transcript",
|
||||||
"error":"Something went wrong while trying to create the transcript.\nWhat would you like to do?\n\nThis ticket won't be deleted until you click one of these buttons."
|
"error":"Something went wrong while trying to create the transcript.\nWhat would you like to do?\n\nThis ticket won't be deleted until you click one of these buttons.",
|
||||||
|
"title":"Transcript Error"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"MESSAGES",
|
||||||
|
"embedTitle":"EMBED",
|
||||||
|
"fileTitle":"FILE",
|
||||||
|
"fieldsTitle":"FIELDS",
|
||||||
|
"reactionsTitle":"REACTIONS",
|
||||||
|
"statsTitle":"STATS",
|
||||||
|
"emptyContent":"<content is empty>",
|
||||||
|
"noTitle":"<no-title>",
|
||||||
|
"noDesc":"<no-description>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
@@ -257,7 +298,8 @@
|
|||||||
"unknownPanel":"Unknown Panel",
|
"unknownPanel":"Unknown Panel",
|
||||||
"notInGuild":"Not In Server",
|
"notInGuild":"Not In Server",
|
||||||
"channelRename":"Unable To Rename Channel",
|
"channelRename":"Unable To Rename Channel",
|
||||||
"busy":"Ticket Is Busy"
|
"busy":"Ticket Is Busy",
|
||||||
|
"permissionError":"Permission Error"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo":"Contact the owner of this bot for more info!",
|
"askForInfo":"Contact the owner of this bot for more info!",
|
||||||
@@ -280,7 +322,10 @@
|
|||||||
"notInGuild":"This {0} doesn't work in DM! Please try it again in a server!",
|
"notInGuild":"This {0} doesn't work in DM! Please try it again in a server!",
|
||||||
"channelRename":"Due to discord ratelimits, it's currently impossible for the bot to rename the channel. The channel will automatically be renamed over 10 minutes if the bot isn't rebooted.",
|
"channelRename":"Due to discord ratelimits, it's currently impossible for the bot to rename the channel. The channel will automatically be renamed over 10 minutes if the bot isn't rebooted.",
|
||||||
"channelRenameSource":"The source of this error is: {0}",
|
"channelRenameSource":"The source of this error is: {0}",
|
||||||
"busy":"Unable to use this {0}!\nThe ticket is currently being processed by the bot.\n\nPlease try again in a few seconds!"
|
"busy":"Unable to use this {0}!\nThe ticket is currently being processed by the bot.\n\nPlease try again in a few seconds!",
|
||||||
|
"closeBeforeMessage":"This ticket cannot be closed/deleted before a message has been sent by a user.",
|
||||||
|
"closeBeforeAdminMessage":"This ticket cannot be closed/deleted before a message has been sent by a ticket admin or support member.",
|
||||||
|
"unableToCreateTicket":"You are unable to create a ticket."
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex":"Value doesn't match pattern!",
|
"stringRegex":"Value doesn't match pattern!",
|
||||||
@@ -331,7 +376,6 @@
|
|||||||
"added":"Added",
|
"added":"Added",
|
||||||
"removed":"Removed",
|
"removed":"Removed",
|
||||||
"filter":"Filter",
|
"filter":"Filter",
|
||||||
"claimedBy":"Claimed By {0}",
|
|
||||||
"method":"Method",
|
"method":"Method",
|
||||||
"type":"Type",
|
"type":"Type",
|
||||||
"blacklisted":"Blacklisted",
|
"blacklisted":"Blacklisted",
|
||||||
@@ -355,7 +399,27 @@
|
|||||||
"status":"Status",
|
"status":"Status",
|
||||||
"claimed":"Claimed",
|
"claimed":"Claimed",
|
||||||
"pinned":"Pinned",
|
"pinned":"Pinned",
|
||||||
"creationDate":"Creation Date"
|
"creationDate":"Creation Date",
|
||||||
|
|
||||||
|
"noone":"No-One",
|
||||||
|
"open":"Open",
|
||||||
|
"closed":"Closed",
|
||||||
|
"priority":"Priority",
|
||||||
|
"participants":"Participants",
|
||||||
|
"yes":"Yes",
|
||||||
|
"no":"No",
|
||||||
|
"option":"Option",
|
||||||
|
"topic":"Topic",
|
||||||
|
"uptime":"System Uptime",
|
||||||
|
"messages":"Messages",
|
||||||
|
"embeds":"Embeds",
|
||||||
|
"files":"Files",
|
||||||
|
"components":"Components",
|
||||||
|
"cooldown":"Cooldown",
|
||||||
|
"maxTickets":"Max Tickets",
|
||||||
|
"admins":"Admins",
|
||||||
|
"roles":"Roles",
|
||||||
|
"size":"Size"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text":"text",
|
"text":"text",
|
||||||
@@ -384,6 +448,7 @@
|
|||||||
"unclaim":"Unclaim a ticket.",
|
"unclaim":"Unclaim a ticket.",
|
||||||
"pin":"Pin a ticket.",
|
"pin":"Pin a ticket.",
|
||||||
"unpin":"Unpin a ticket.",
|
"unpin":"Unpin a ticket.",
|
||||||
|
|
||||||
"move":"Move a ticket.",
|
"move":"Move a ticket.",
|
||||||
"moveId":"The identifier of the option that you want to move to.",
|
"moveId":"The identifier of the option that you want to move to.",
|
||||||
"rename":"Rename a ticket.",
|
"rename":"Rename a ticket.",
|
||||||
@@ -392,6 +457,7 @@
|
|||||||
"addUser":"The user to add.",
|
"addUser":"The user to add.",
|
||||||
"remove":"Remove a user from a ticket.",
|
"remove":"Remove a user from a ticket.",
|
||||||
"removeUser":"The user to remove.",
|
"removeUser":"The user to remove.",
|
||||||
|
|
||||||
"blacklist":"Manage the ticket blacklist.",
|
"blacklist":"Manage the ticket blacklist.",
|
||||||
"blacklistView":"View a list of the current blacklist.",
|
"blacklistView":"View a list of the current blacklist.",
|
||||||
"blacklistAdd":"Add a user to the blacklist.",
|
"blacklistAdd":"Add a user to the blacklist.",
|
||||||
@@ -405,6 +471,7 @@
|
|||||||
"statsUserUser":"The user to view.",
|
"statsUserUser":"The user to view.",
|
||||||
"statsTicket":"View the stats of a ticket in the server.",
|
"statsTicket":"View the stats of a ticket in the server.",
|
||||||
"statsTicketTicket":"The ticket to view.",
|
"statsTicketTicket":"The ticket to view.",
|
||||||
|
|
||||||
"clear":"Delete multiple tickets at the same time.",
|
"clear":"Delete multiple tickets at the same time.",
|
||||||
"clearFilter":"The filter for clearing tickets.",
|
"clearFilter":"The filter for clearing tickets.",
|
||||||
"clearFilters":{
|
"clearFilters":{
|
||||||
@@ -417,6 +484,7 @@
|
|||||||
"unpin":"Unpinned",
|
"unpin":"Unpinned",
|
||||||
"autoclose":"Autoclosed"
|
"autoclose":"Autoclosed"
|
||||||
},
|
},
|
||||||
|
|
||||||
"autoclose":"Manage autoclose in a ticket.",
|
"autoclose":"Manage autoclose in a ticket.",
|
||||||
"autocloseDisable":"Disable autoclose in this ticket.",
|
"autocloseDisable":"Disable autoclose in this ticket.",
|
||||||
"autocloseEnable":"Enable autoclose in this ticket.",
|
"autocloseEnable":"Enable autoclose in this ticket.",
|
||||||
@@ -424,7 +492,19 @@
|
|||||||
"autodelete":"Manage autodelete in a ticket.",
|
"autodelete":"Manage autodelete in a ticket.",
|
||||||
"autodeleteDisable":"Disable autodelete in this ticket.",
|
"autodeleteDisable":"Disable autodelete in this ticket.",
|
||||||
"autodeleteEnable":"Enable autodelete in this ticket.",
|
"autodeleteEnable":"Enable autodelete in this ticket.",
|
||||||
"autodeleteEnableTime":"The amount of days this ticket needs to be inactive to delete it."
|
"autodeleteEnableTime":"The amount of days this ticket needs to be inactive to delete it.",
|
||||||
|
|
||||||
|
"topic":"Manage the topic of the ticket channel.",
|
||||||
|
"topicSet":"Set the topic of the ticket channel.",
|
||||||
|
"topicValue":"The new topic of the channel.",
|
||||||
|
"topicList":"Get a list of all tickets with their topic and stats.",
|
||||||
|
"priority":"Manage the priority of the ticket.",
|
||||||
|
"prioritySet":"Set the priority of the ticket.",
|
||||||
|
"priorityValue":"The priority of the channel.",
|
||||||
|
"priorityGet":"Get the priority of the ticket.",
|
||||||
|
"priorityList":"Get a list of all tickets with their priority status.",
|
||||||
|
"transfer":"Transfer the ticket ownership from one user to another.",
|
||||||
|
"transferUser":"The user to transfer to."
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"help":"Get a list of all the available commands.",
|
"help":"Get a list of all the available commands.",
|
||||||
@@ -452,7 +532,16 @@
|
|||||||
"autocloseDisable":"Disable autoclose in this ticket.",
|
"autocloseDisable":"Disable autoclose in this ticket.",
|
||||||
"autocloseEnable":"Enable autoclose in this ticket.",
|
"autocloseEnable":"Enable autoclose in this ticket.",
|
||||||
"autodeleteDisable":"Disable autodelete in this ticket.",
|
"autodeleteDisable":"Disable autodelete in this ticket.",
|
||||||
"autodeleteEnable":"Enable autodelete in this ticket."
|
"autodeleteEnable":"Enable autodelete in this ticket.",
|
||||||
|
"categories":{
|
||||||
|
"general":"General Commands",
|
||||||
|
"basicTicket":"Basic Ticket Commands",
|
||||||
|
"advancedTicket":"Advanced Ticket Commands",
|
||||||
|
"userTicket":"User Ticket Commands",
|
||||||
|
"admin":"Admin Commands",
|
||||||
|
"advanced":"Advanced Commands",
|
||||||
|
"extra":"Extra Commands"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes":{
|
"scopes":{
|
||||||
@@ -460,7 +549,8 @@
|
|||||||
"system":"System Stats",
|
"system":"System Stats",
|
||||||
"user":"User Stats",
|
"user":"User Stats",
|
||||||
"ticket":"Ticket Stats",
|
"ticket":"Ticket Stats",
|
||||||
"participants":"Participants"
|
"participants":"Participants",
|
||||||
|
"messages":"Messages"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated":"Tickets Created",
|
"ticketsCreated":"Tickets Created",
|
||||||
@@ -472,7 +562,47 @@
|
|||||||
"ticketsPinned":"Tickets Pinned",
|
"ticketsPinned":"Tickets Pinned",
|
||||||
"ticketsMoved":"Tickets Moved",
|
"ticketsMoved":"Tickets Moved",
|
||||||
"usersBlacklisted":"Users Blacklisted",
|
"usersBlacklisted":"Users Blacklisted",
|
||||||
"transcriptsCreated":"Transcripts Created"
|
"transcriptsCreated":"Transcripts Created",
|
||||||
|
"ticketsAutodeleted":"Tickets Autodeleted",
|
||||||
|
"ticketsTransferred":"Tickets Transferred",
|
||||||
|
"ticketVolume":"Ticket Volume",
|
||||||
|
"averageTickets":"Average Tickets/User",
|
||||||
|
"currentTickets":"Current Tickets",
|
||||||
|
"age":"Ticket Age",
|
||||||
|
"responseTime":"Response Time",
|
||||||
|
"resolutionTime":"Resolution Time",
|
||||||
|
"createdOn":"Created On",
|
||||||
|
"createdBy":"Created By",
|
||||||
|
"closedOn":"Closed On",
|
||||||
|
"closedBy":"Closed By",
|
||||||
|
"claimedOn":"Claimed On",
|
||||||
|
"claimedBy":"Claimed By",
|
||||||
|
"pinnedOn":"Pinned On",
|
||||||
|
"pinnedBy":"Pinned By",
|
||||||
|
"deletedOn":"Deleted On",
|
||||||
|
"deletedBy":"Deleted By"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"Developer",
|
||||||
|
"serverOwner":"Server Owner",
|
||||||
|
"serverAdmin":"Server Admin",
|
||||||
|
"moderator":"Moderator Team",
|
||||||
|
"support":"Support Team",
|
||||||
|
"member":"Member"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"Select your ticket",
|
||||||
|
"selectRole":"Select your role",
|
||||||
|
"selectOption":"Select your option"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"Urgent",
|
||||||
|
"veryHigh":"Very High",
|
||||||
|
"high":"High",
|
||||||
|
"normal":"Normal",
|
||||||
|
"low":"Low",
|
||||||
|
"veryLow":"Very Low",
|
||||||
|
"none":"None"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+145
-15
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["iamnotmega","ChatGPT"],
|
"translators":["iamnotmega","ChatGPT"],
|
||||||
"lastedited":"21/10/2024",
|
"lastedited":"16/02/2026",
|
||||||
"language":"Estonian",
|
"language":"Estonian",
|
||||||
"automated":true
|
"automated":true
|
||||||
},
|
},
|
||||||
@@ -31,6 +31,14 @@
|
|||||||
"stringContains":"See string peab sisaldama {0}!",
|
"stringContains":"See string peab sisaldama {0}!",
|
||||||
"stringChoices":"See string võib olla ainult üks järgmistest väärtustest: {0}!",
|
"stringChoices":"See string võib olla ainult üks järgmistest väärtustest: {0}!",
|
||||||
"stringRegex":"See string on kehtetu!",
|
"stringRegex":"See string on kehtetu!",
|
||||||
|
"stringInvertedContains":"See string ei tohi sisaldada {0}!",
|
||||||
|
"stringLowercase":"See string peab olema kirjutatud ainult väikeste tähtedega!",
|
||||||
|
"stringUppercase":"See string peab olema kirjutatud ainult suurte tähtedega!",
|
||||||
|
"stringSpecialCharacters":"See string ei tohi sisaldada erimärke! (ainult a-z, 0-9 ja tühik)",
|
||||||
|
"stringNoSpaces":"See string ei tohi sisaldada tühikuid!",
|
||||||
|
"stringCapitalWord":"Soovitatav on, et iga sõna selles stringis algaks suure tähega!",
|
||||||
|
"stringCapitalSentence":"Tundub, et mõned laused selles stringis ei alga suure tähega!",
|
||||||
|
"stringPunctuation":"Tundub, et lause selles stringis ei lõpe kirjavahemärgiga!",
|
||||||
|
|
||||||
"numberTooShort":"See number ei tohi olla lühem kui {0} tähemärki!",
|
"numberTooShort":"See number ei tohi olla lühem kui {0} tähemärki!",
|
||||||
"numberTooLong":"See number ei tohi olla pikem kui {0} tähemärki!",
|
"numberTooLong":"See number ei tohi olla pikem kui {0} tähemärki!",
|
||||||
@@ -48,6 +56,8 @@
|
|||||||
"numberNegative":"See arv ei saa olla negatiivne!",
|
"numberNegative":"See arv ei saa olla negatiivne!",
|
||||||
"numberPositive":"See arv ei saa olla positiivne!",
|
"numberPositive":"See arv ei saa olla positiivne!",
|
||||||
"numberZero":"See arv ei saa olla null!",
|
"numberZero":"See arv ei saa olla null!",
|
||||||
|
"numberNan":"See number ei tohi olla NaN (mitte number)!",
|
||||||
|
"numberInvertedContains":"See number ei tohi sisaldada {0}!",
|
||||||
|
|
||||||
"booleanTrue":"See tõeväärtus ei saa olla tõsi!",
|
"booleanTrue":"See tõeväärtus ei saa olla tõsi!",
|
||||||
"booleanFalse":"See tõeväärtus ei saa olla vale!",
|
"booleanFalse":"See tõeväärtus ei saa olla vale!",
|
||||||
@@ -89,7 +99,8 @@
|
|||||||
"invalidButton":"Sellel nupul peab olema vähemalt {0} või {1}!",
|
"invalidButton":"Sellel nupul peab olema vähemalt {0} või {1}!",
|
||||||
"unusedOption":"Valik {0} ei ole kusagil kasutusel!",
|
"unusedOption":"Valik {0} ei ole kusagil kasutusel!",
|
||||||
"unusedQuestion":"Küsimust {0} ei kasutata kuskil!",
|
"unusedQuestion":"Küsimust {0} ei kasutata kuskil!",
|
||||||
"dropdownOption":"Lubatud rippmenüüga paneel võib sisaldada ainult \"pileti\" tüüpi valikuid!"
|
"dropdownOption":"Lubatud rippmenüüga paneel võib sisaldada ainult \"pileti\" tüüpi valikuid!",
|
||||||
|
"customInvalidVersion":"Teie konfiguratsioonis määratud versioon ei ühti! Veenduge, et olete konfiguratsiooni uuendanud uusimale versioonile!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
@@ -132,6 +143,7 @@
|
|||||||
"blacklistAddDm":"Lisatud musta nimekirja",
|
"blacklistAddDm":"Lisatud musta nimekirja",
|
||||||
"blacklistRemoveDm":"Eemaldatud mustast nimekirjast",
|
"blacklistRemoveDm":"Eemaldatud mustast nimekirjast",
|
||||||
"clear":"Piletid kustutatud",
|
"clear":"Piletid kustutatud",
|
||||||
|
"clearTickets":"Kustuta Piletid",
|
||||||
"roles":"Rollid uuendatud",
|
"roles":"Rollid uuendatud",
|
||||||
|
|
||||||
"autoclose":"Pilet automaatselt suletud",
|
"autoclose":"Pilet automaatselt suletud",
|
||||||
@@ -139,7 +151,12 @@
|
|||||||
"autocloseDisabled":"Automaatne sulgemine keelatud",
|
"autocloseDisabled":"Automaatne sulgemine keelatud",
|
||||||
"autodelete":"Pilet on automaatselt kustutatud",
|
"autodelete":"Pilet on automaatselt kustutatud",
|
||||||
"autodeleteEnabled":"Automaatne kustutamine lubatud",
|
"autodeleteEnabled":"Automaatne kustutamine lubatud",
|
||||||
"autodeleteDisabled":"Automaatne kustutamine keelatud"
|
"autodeleteDisabled":"Automaatne kustutamine keelatud",
|
||||||
|
|
||||||
|
"topicSet":"Teema Muudetud",
|
||||||
|
"prioritySet":"Prioriteet Muudetud",
|
||||||
|
"priorityGet":"Pileti Prioriteet",
|
||||||
|
"transfer":"Pilet Üle Antud"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create":"Teie pilet on loodud. Sellele juurdepääsuks klõpsake alloleval nupul!",
|
"create":"Teie pilet on loodud. Sellele juurdepääsuks klõpsake alloleval nupul!",
|
||||||
@@ -180,7 +197,12 @@
|
|||||||
"ticketMessageLimit":"Saate korraga luua ainult {0} piletit!",
|
"ticketMessageLimit":"Saate korraga luua ainult {0} piletit!",
|
||||||
"ticketMessageAutoclose":"See pilet suletakse automaatselt, kui see on {0} tundi passiivne!",
|
"ticketMessageAutoclose":"See pilet suletakse automaatselt, kui see on {0} tundi passiivne!",
|
||||||
"ticketMessageAutodelete":"See pilet kustutatakse automaatselt, kui see on {0} päeva passiivne!",
|
"ticketMessageAutodelete":"See pilet kustutatakse automaatselt, kui see on {0} päeva passiivne!",
|
||||||
"panelReady":"Paneeli leiate altpoolt!\nSelle sõnumi saab nüüd kustutada!"
|
"panelReady":"Paneel on saadaval järelteates!\nSelle sõnumi võib nüüd kustutada!",
|
||||||
|
|
||||||
|
"topicSet":"Kanaliteema on edukalt muudetud kasutaja {0} poolt!",
|
||||||
|
"prioritySet":"Pileti prioriteet on edukalt muudetud väärtuseks {0} kasutaja {1} poolt!",
|
||||||
|
"priorityGet":"Selle pileti praegune prioriteet on {0}.",
|
||||||
|
"transfer":"Pileti omand on edukalt üle antud kasutajalt {0} kasutajale {1} kasutaja {2} poolt!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder":"Miks sa selle pileti kinni panid?",
|
"closePlaceholder":"Miks sa selle pileti kinni panid?",
|
||||||
@@ -220,7 +242,14 @@
|
|||||||
"blacklistRemoveLog":"Kasutaja {1} eemaldas kasutaja {0} mustast nimekirjast!",
|
"blacklistRemoveLog":"Kasutaja {1} eemaldas kasutaja {0} mustast nimekirjast!",
|
||||||
"blacklistAddDm":"Olete meie serveris mustas nimekirjas!\nNüüdsest ei saa te piletit luua!",
|
"blacklistAddDm":"Olete meie serveris mustas nimekirjas!\nNüüdsest ei saa te piletit luua!",
|
||||||
"blacklistRemoveDm":"Teid on meie serveri mustast nimekirjast eemaldatud!\nNüüd saate uuesti pileteid luua!",
|
"blacklistRemoveDm":"Teid on meie serveri mustast nimekirjast eemaldatud!\nNüüd saate uuesti pileteid luua!",
|
||||||
"clearLog":"{1} on kustutanud {0} piletit!"
|
"clearLog":"{1} on kustutanud {0} piletit!",
|
||||||
|
|
||||||
|
"transferLog":"Selle pileti omand on üle antud kasutajalt {0} kasutajale {1} kasutaja {2} poolt!",
|
||||||
|
"transferDm":"Teie pileti omand on üle antud kasutajalt {0} kasutajale {1} meie serveris!",
|
||||||
|
"prioritySetLog":"Selle pileti prioriteet on muudetud väärtuseks {0} kasutaja {1} poolt!",
|
||||||
|
"prioritySetDm":"Teie pileti prioriteet on muudetud väärtuseks {0} meie serveris!",
|
||||||
|
"roleUpdateLog":"{0} uuendas oma rolle!",
|
||||||
|
"roleUpdateDm":"Teie rolle meie serveris on uuendatud!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
@@ -241,7 +270,19 @@
|
|||||||
"retry":"Proovi uuesti",
|
"retry":"Proovi uuesti",
|
||||||
"continue":"Kustuta ilma ärakirjata",
|
"continue":"Kustuta ilma ärakirjata",
|
||||||
"backup":"Loo varukoopia ärakirjast",
|
"backup":"Loo varukoopia ärakirjast",
|
||||||
"error":"Midagi läks ärakirja loomisel valesti.\nMida sa teha tahaksid?\n\nSeda piletit ei kustutata enne, kui klõpsate ühel neist nuppudest."
|
"error":"Midagi läks ärakirja loomisel valesti.\nMida sa teha tahaksid?\n\nSeda piletit ei kustutata enne, kui klõpsate ühel neist nuppudest.",
|
||||||
|
"title":"Transkriptsiooniviga"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"SÕNUMID",
|
||||||
|
"embedTitle":"EMBED",
|
||||||
|
"fileTitle":"FAIL",
|
||||||
|
"fieldsTitle":"VÄLJAD",
|
||||||
|
"reactionsTitle":"REAKTSIOONID",
|
||||||
|
"statsTitle":"STATISTIKA",
|
||||||
|
"emptyContent":"<sisu on tühi>",
|
||||||
|
"noTitle":"<pealkiri puudub>",
|
||||||
|
"noDesc":"<kirjeldus puudub>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
@@ -257,7 +298,8 @@
|
|||||||
"unknownPanel":"Tundmatu paneel",
|
"unknownPanel":"Tundmatu paneel",
|
||||||
"notInGuild":"Pole serveris",
|
"notInGuild":"Pole serveris",
|
||||||
"channelRename":"Kanalit ei saa ümber nimetada",
|
"channelRename":"Kanalit ei saa ümber nimetada",
|
||||||
"busy":"Pilet on kinni"
|
"busy":"Pilet on kinni",
|
||||||
|
"permissionError":"Õiguste Viga"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo":"Lisateabe saamiseks võtke ühendust selle roboti omanikuga!",
|
"askForInfo":"Lisateabe saamiseks võtke ühendust selle roboti omanikuga!",
|
||||||
@@ -280,7 +322,10 @@
|
|||||||
"notInGuild":"See {0} ei tööta DM-is! Palun proovi uuesti serveris!",
|
"notInGuild":"See {0} ei tööta DM-is! Palun proovi uuesti serveris!",
|
||||||
"channelRename":"Ebakõlaliste kiiruspiirangute tõttu on robotil praegu võimatu kanalit ümber nimetada. Kui robotit ei taaskäivitata, nimetatakse kanal 10 minuti jooksul automaatselt ümber.",
|
"channelRename":"Ebakõlaliste kiiruspiirangute tõttu on robotil praegu võimatu kanalit ümber nimetada. Kui robotit ei taaskäivitata, nimetatakse kanal 10 minuti jooksul automaatselt ümber.",
|
||||||
"channelRenameSource":"Selle vea allikas on: {0}",
|
"channelRenameSource":"Selle vea allikas on: {0}",
|
||||||
"busy":"Seda {0} ei saa kasutada!\nPiletit töötleb praegu bot.\n\nPalun proovige mõne sekundi pärast uuesti!"
|
"busy":"Seda {0} ei saa kasutada!\nPiletit töötleb praegu bot.\n\nPalun proovige mõne sekundi pärast uuesti!",
|
||||||
|
"closeBeforeMessage":"Seda piletit ei saa sulgeda/kustutada enne, kui kasutaja on sõnumi saatnud.",
|
||||||
|
"closeBeforeAdminMessage":"Seda piletit ei saa sulgeda/kustutada enne, kui piletihaldur või tugiliige on sõnumi saatnud.",
|
||||||
|
"unableToCreateTicket":"Te ei saa piletit luua."
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex":"Väärtus ei vasta mustrile!",
|
"stringRegex":"Väärtus ei vasta mustrile!",
|
||||||
@@ -331,7 +376,6 @@
|
|||||||
"added":"Lisatud",
|
"added":"Lisatud",
|
||||||
"removed":"Eemaldatud",
|
"removed":"Eemaldatud",
|
||||||
"filter":"Filter",
|
"filter":"Filter",
|
||||||
"claimedBy":"Nõude esitas {0}",
|
|
||||||
"method":"Meetod",
|
"method":"Meetod",
|
||||||
"type":"Tüüp",
|
"type":"Tüüp",
|
||||||
"blacklisted":"Mustas nimekirjas",
|
"blacklisted":"Mustas nimekirjas",
|
||||||
@@ -355,7 +399,27 @@
|
|||||||
"status":"Olek",
|
"status":"Olek",
|
||||||
"claimed":"Nõutud",
|
"claimed":"Nõutud",
|
||||||
"pinned":"Kinnitatud",
|
"pinned":"Kinnitatud",
|
||||||
"creationDate":"Loomise kuupäev"
|
"creationDate":"Loomise kuupäev",
|
||||||
|
|
||||||
|
"noone":"Mitte Keegi",
|
||||||
|
"open":"Avatud",
|
||||||
|
"closed":"Suletud",
|
||||||
|
"priority":"Prioriteet",
|
||||||
|
"participants":"Osalejad",
|
||||||
|
"yes":"Jah",
|
||||||
|
"no":"Ei",
|
||||||
|
"option":"Valik",
|
||||||
|
"topic":"Teema",
|
||||||
|
"uptime":"Süsteemi Töötamise Aeg",
|
||||||
|
"messages":"Sõnumid",
|
||||||
|
"embeds":"Embedid",
|
||||||
|
"files":"Failid",
|
||||||
|
"components":"Komponendid",
|
||||||
|
"cooldown":"Jahtumisaeg",
|
||||||
|
"maxTickets":"Maksimaalselt Pileteid",
|
||||||
|
"admins":"Adminid",
|
||||||
|
"roles":"Rollid",
|
||||||
|
"size":"Suurus"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text":"tekst",
|
"text":"tekst",
|
||||||
@@ -384,6 +448,7 @@
|
|||||||
"unclaim":"Tühista pilet.",
|
"unclaim":"Tühista pilet.",
|
||||||
"pin":"Kinnitage pilet.",
|
"pin":"Kinnitage pilet.",
|
||||||
"unpin":"Vabastage pilet.",
|
"unpin":"Vabastage pilet.",
|
||||||
|
|
||||||
"move":"Liigutage pilet.",
|
"move":"Liigutage pilet.",
|
||||||
"moveId":"Selle valiku identifikaator, millele soovite liikuda.",
|
"moveId":"Selle valiku identifikaator, millele soovite liikuda.",
|
||||||
"rename":"Nimetage pilet ümber.",
|
"rename":"Nimetage pilet ümber.",
|
||||||
@@ -392,6 +457,7 @@
|
|||||||
"addUser":"Lisatav kasutaja.",
|
"addUser":"Lisatav kasutaja.",
|
||||||
"remove":"Kasutaja eemaldamine piletist.",
|
"remove":"Kasutaja eemaldamine piletist.",
|
||||||
"removeUser":"Eemaldatav kasutaja.",
|
"removeUser":"Eemaldatav kasutaja.",
|
||||||
|
|
||||||
"blacklist":"Hallake piletite musta nimekirja.",
|
"blacklist":"Hallake piletite musta nimekirja.",
|
||||||
"blacklistView":"Vaadake praeguse musta nimekirja loendit.",
|
"blacklistView":"Vaadake praeguse musta nimekirja loendit.",
|
||||||
"blacklistAdd":"Lisage kasutaja musta nimekirja.",
|
"blacklistAdd":"Lisage kasutaja musta nimekirja.",
|
||||||
@@ -405,6 +471,7 @@
|
|||||||
"statsUserUser":"Kasutaja vaatamiseks.",
|
"statsUserUser":"Kasutaja vaatamiseks.",
|
||||||
"statsTicket":"Vaadake serveris pileti statistikat.",
|
"statsTicket":"Vaadake serveris pileti statistikat.",
|
||||||
"statsTicketTicket":"Pilet vaatamiseks.",
|
"statsTicketTicket":"Pilet vaatamiseks.",
|
||||||
|
|
||||||
"clear":"Kustutage mitu piletit korraga.",
|
"clear":"Kustutage mitu piletit korraga.",
|
||||||
"clearFilter":"Piletite puhastamise filter.",
|
"clearFilter":"Piletite puhastamise filter.",
|
||||||
"clearFilters":{
|
"clearFilters":{
|
||||||
@@ -417,6 +484,7 @@
|
|||||||
"unpin":"Vabastatud",
|
"unpin":"Vabastatud",
|
||||||
"autoclose":"Automaatselt suletud"
|
"autoclose":"Automaatselt suletud"
|
||||||
},
|
},
|
||||||
|
|
||||||
"autoclose":"Hallake piletis automaatset sulgemist.",
|
"autoclose":"Hallake piletis automaatset sulgemist.",
|
||||||
"autocloseDisable":"Keela sellel piletil automaatne sulgemine.",
|
"autocloseDisable":"Keela sellel piletil automaatne sulgemine.",
|
||||||
"autocloseEnable":"Luba sellel piletil automaatne sulgemine.",
|
"autocloseEnable":"Luba sellel piletil automaatne sulgemine.",
|
||||||
@@ -424,7 +492,19 @@
|
|||||||
"autodelete":"Automaatse kustutamise haldamine piletis.",
|
"autodelete":"Automaatse kustutamise haldamine piletis.",
|
||||||
"autodeleteDisable":"Keela sellel piletil automaatne kustutamine.",
|
"autodeleteDisable":"Keela sellel piletil automaatne kustutamine.",
|
||||||
"autodeleteEnable":"Luba sellel piletil automaatne kustutamine.",
|
"autodeleteEnable":"Luba sellel piletil automaatne kustutamine.",
|
||||||
"autodeleteEnableTime":"Päevade arv, mille jooksul see pilet peab olema selle kustutamiseks passiivne."
|
"autodeleteEnableTime":"Päevade arv, mille jooksul see pilet peab olema selle kustutamiseks passiivne.",
|
||||||
|
|
||||||
|
"topic":"Halda pileti kanali teemat.",
|
||||||
|
"topicSet":"Määra pileti kanali teema.",
|
||||||
|
"topicValue":"Kanali uus teema.",
|
||||||
|
"topicList":"Hangi nimekiri kõigist piletitest koos nende teemade ja statistikaga.",
|
||||||
|
"priority":"Halda pileti prioriteeti.",
|
||||||
|
"prioritySet":"Määra pileti prioriteet.",
|
||||||
|
"priorityValue":"Kanali prioriteet.",
|
||||||
|
"priorityGet":"Hangi pileti prioriteet.",
|
||||||
|
"priorityList":"Hangi nimekiri kõigist piletitest ja nende prioriteedi olekust.",
|
||||||
|
"transfer":"Anna pileti omand üle ühelt kasutajalt teisele.",
|
||||||
|
"transferUser":"Kasutaja, kellele omand üle anda."
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"help":"Hankige kõigi saadaolevate käskude loend.",
|
"help":"Hankige kõigi saadaolevate käskude loend.",
|
||||||
@@ -452,7 +532,16 @@
|
|||||||
"autocloseDisable":"Keela sellel piletil automaatne sulgemine.",
|
"autocloseDisable":"Keela sellel piletil automaatne sulgemine.",
|
||||||
"autocloseEnable":"Luba sellel piletil automaatne sulgemine.",
|
"autocloseEnable":"Luba sellel piletil automaatne sulgemine.",
|
||||||
"autodeleteDisable":"Keela sellel piletil automaatne kustutamine.",
|
"autodeleteDisable":"Keela sellel piletil automaatne kustutamine.",
|
||||||
"autodeleteEnable":"Luba sellel piletil automaatne kustutamine."
|
"autodeleteEnable":"Luba sellel piletil automaatne kustutamine.",
|
||||||
|
"categories":{
|
||||||
|
"general":"Üldised Käsud",
|
||||||
|
"basicTicket":"Põhilised Piletikäsud",
|
||||||
|
"advancedTicket":"Täpsemad Piletikäsud",
|
||||||
|
"userTicket":"Kasutaja Piletikäsud",
|
||||||
|
"admin":"Admini Käsud",
|
||||||
|
"advanced":"Täpsemad Käsud",
|
||||||
|
"extra":"Lisakäsud"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes":{
|
"scopes":{
|
||||||
@@ -460,7 +549,8 @@
|
|||||||
"system":"Süsteemi statistika",
|
"system":"Süsteemi statistika",
|
||||||
"user":"Kasutaja statistika",
|
"user":"Kasutaja statistika",
|
||||||
"ticket":"Piletistatistika",
|
"ticket":"Piletistatistika",
|
||||||
"participants":"Osalejad"
|
"participants":"Osalejad",
|
||||||
|
"messages":"Sõnumid"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated":"Pileteid loodud",
|
"ticketsCreated":"Pileteid loodud",
|
||||||
@@ -472,7 +562,47 @@
|
|||||||
"ticketsPinned":"Pileteid kinnitatud",
|
"ticketsPinned":"Pileteid kinnitatud",
|
||||||
"ticketsMoved":"Pileteid teisaldatud",
|
"ticketsMoved":"Pileteid teisaldatud",
|
||||||
"usersBlacklisted":"Kasutajaid mustas nimekirjas",
|
"usersBlacklisted":"Kasutajaid mustas nimekirjas",
|
||||||
"transcriptsCreated":"Loodud ärakirjad"
|
"transcriptsCreated":"Loodud ärakirjad",
|
||||||
|
"ticketsAutodeleted":"Piletid Automaatselt Kustutatud",
|
||||||
|
"ticketsTransferred":"Piletid Üle Antud",
|
||||||
|
"ticketVolume":"Piletite Arv",
|
||||||
|
"averageTickets":"Keskmine Piletite Arv/Kasutaja",
|
||||||
|
"currentTickets":"Praegused Piletid",
|
||||||
|
"age":"Pileti Vanus",
|
||||||
|
"responseTime":"Reageerimisaeg",
|
||||||
|
"resolutionTime":"Lahendusaeg",
|
||||||
|
"createdOn":"Loodud",
|
||||||
|
"createdBy":"Looja",
|
||||||
|
"closedOn":"Suletud",
|
||||||
|
"closedBy":"Sulgenud",
|
||||||
|
"claimedOn":"Võetud",
|
||||||
|
"claimedBy":"Võtnud",
|
||||||
|
"pinnedOn":"Kinnitatud",
|
||||||
|
"pinnedBy":"Kinnitanud",
|
||||||
|
"deletedOn":"Kustutatud",
|
||||||
|
"deletedBy":"Kustutanud"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"Arendaja",
|
||||||
|
"serverOwner":"Serveri Omanik",
|
||||||
|
"serverAdmin":"Serveri Administraator",
|
||||||
|
"moderator":"Moderaatorite Meeskond",
|
||||||
|
"support":"Tugimeeskond",
|
||||||
|
"member":"Liige"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"Vali oma pilet",
|
||||||
|
"selectRole":"Vali oma roll",
|
||||||
|
"selectOption":"Vali oma valik"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"Kiireloomuline",
|
||||||
|
"veryHigh":"Väga Kõrge",
|
||||||
|
"high":"Kõrge",
|
||||||
|
"normal":"Tavaline",
|
||||||
|
"low":"Madal",
|
||||||
|
"veryLow":"Väga Madal",
|
||||||
|
"none":"Puudub"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+146
-16
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["iamnotmega","ChatGPT"],
|
"translators":["iamnotmega","ChatGPT"],
|
||||||
"lastedited":"21/10/2024",
|
"lastedited":"16/02/2026",
|
||||||
"language":"Finnish",
|
"language":"Finnish",
|
||||||
"automated":true
|
"automated":true
|
||||||
},
|
},
|
||||||
@@ -31,6 +31,14 @@
|
|||||||
"stringContains":"Tämän merkkijonon täytyy sisältää {0}!",
|
"stringContains":"Tämän merkkijonon täytyy sisältää {0}!",
|
||||||
"stringChoices":"Tämä merkkijono voi olla vain yksi seuraavista arvoista: {0}!",
|
"stringChoices":"Tämä merkkijono voi olla vain yksi seuraavista arvoista: {0}!",
|
||||||
"stringRegex":"Tämä merkkijono on virheellinen!",
|
"stringRegex":"Tämä merkkijono on virheellinen!",
|
||||||
|
"stringInvertedContains":"Tämä merkkijono ei saa sisältää {0}!",
|
||||||
|
"stringLowercase":"Tämä merkkijono on kirjoitettava vain pienillä kirjaimilla!",
|
||||||
|
"stringUppercase":"Tämä merkkijono on kirjoitettava vain isoilla kirjaimilla!",
|
||||||
|
"stringSpecialCharacters":"Tämä merkkijono ei saa sisältää erikoismerkkejä! (vain a–z, 0–9 ja välilyönti)",
|
||||||
|
"stringNoSpaces":"Tämä merkkijono ei saa sisältää välilyöntejä!",
|
||||||
|
"stringCapitalWord":"On suositeltavaa, että jokainen sana tässä merkkijonossa alkaa isolla kirjaimella!",
|
||||||
|
"stringCapitalSentence":"Näyttää siltä, että jotkut lauseet tässä merkkijonossa eivät ala isolla kirjaimella!",
|
||||||
|
"stringPunctuation":"Näyttää siltä, että tämän merkkijonon lause ei pääty välimerkkiin!",
|
||||||
|
|
||||||
"numberTooShort":"Tämä numero ei voi olla lyhyempi kuin {0} merkkiä!",
|
"numberTooShort":"Tämä numero ei voi olla lyhyempi kuin {0} merkkiä!",
|
||||||
"numberTooLong":"Tämä numero ei voi olla pidempi kuin {0} merkkiä!",
|
"numberTooLong":"Tämä numero ei voi olla pidempi kuin {0} merkkiä!",
|
||||||
@@ -48,6 +56,8 @@
|
|||||||
"numberNegative":"Tämä luku ei voi olla negatiivinen!",
|
"numberNegative":"Tämä luku ei voi olla negatiivinen!",
|
||||||
"numberPositive":"Tämä luku ei voi olla positiivinen!",
|
"numberPositive":"Tämä luku ei voi olla positiivinen!",
|
||||||
"numberZero":"Tämä luku ei voi olla nolla!",
|
"numberZero":"Tämä luku ei voi olla nolla!",
|
||||||
|
"numberNan":"Tämä numero ei voi olla NaN (ei numero)!",
|
||||||
|
"numberInvertedContains":"Tämä numero ei saa sisältää {0}!",
|
||||||
|
|
||||||
"booleanTrue":"Tämä boolean ei voi olla totta!",
|
"booleanTrue":"Tämä boolean ei voi olla totta!",
|
||||||
"booleanFalse":"Tämä boolean ei voi olla väärä!",
|
"booleanFalse":"Tämä boolean ei voi olla väärä!",
|
||||||
@@ -89,7 +99,8 @@
|
|||||||
"invalidButton":"Tässä painikkeessa on oltava vähintään {0} tai {1}!",
|
"invalidButton":"Tässä painikkeessa on oltava vähintään {0} tai {1}!",
|
||||||
"unusedOption":"Vaihtoehtoa {0} ei käytetä missään!",
|
"unusedOption":"Vaihtoehtoa {0} ei käytetä missään!",
|
||||||
"unusedQuestion":"Kysymystä {0} ei käytetä missään!",
|
"unusedQuestion":"Kysymystä {0} ei käytetä missään!",
|
||||||
"dropdownOption":"Paneeli, jossa pudotusvalikko on käytössä, voi sisältää vain \"lippu\"-tyyppisiä vaihtoehtoja!"
|
"dropdownOption":"Paneeli, jossa pudotusvalikko on käytössä, voi sisältää vain \"lippu\"-tyyppisiä vaihtoehtoja!",
|
||||||
|
"customInvalidVersion":"Määritetty versio kokoonpanossasi ei vastaa! Varmista, että olet päivittänyt kokoonpanon uusimpaan versioon!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
@@ -132,6 +143,7 @@
|
|||||||
"blacklistAddDm":"Lisätty mustalle listalle",
|
"blacklistAddDm":"Lisätty mustalle listalle",
|
||||||
"blacklistRemoveDm":"Poistettu mustalta listalta",
|
"blacklistRemoveDm":"Poistettu mustalta listalta",
|
||||||
"clear":"Liput tyhjennetty",
|
"clear":"Liput tyhjennetty",
|
||||||
|
"clearTickets":"Tyhjennä Tiketit",
|
||||||
"roles":"Roolit päivitetty",
|
"roles":"Roolit päivitetty",
|
||||||
|
|
||||||
"autoclose":"Lippu suljettu automaattisesti",
|
"autoclose":"Lippu suljettu automaattisesti",
|
||||||
@@ -139,7 +151,12 @@
|
|||||||
"autocloseDisabled":"Automaattinen sulkeminen pois käytöstä",
|
"autocloseDisabled":"Automaattinen sulkeminen pois käytöstä",
|
||||||
"autodelete":"Lippu poistettu automaattisesti",
|
"autodelete":"Lippu poistettu automaattisesti",
|
||||||
"autodeleteEnabled":"Automaattinen poisto käytössä",
|
"autodeleteEnabled":"Automaattinen poisto käytössä",
|
||||||
"autodeleteDisabled":"Automaattinen poisto poissa käytöstä"
|
"autodeleteDisabled":"Automaattinen poisto poissa käytöstä",
|
||||||
|
|
||||||
|
"topicSet":"Aihe Muutettu",
|
||||||
|
"prioritySet":"Prioriteetti Muutettu",
|
||||||
|
"priorityGet":"Tiketin Prioriteetti",
|
||||||
|
"transfer":"Tiketti Siirretty"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create":"Lippusi on luotu. Napsauta alla olevaa painiketta päästäksesi siihen!",
|
"create":"Lippusi on luotu. Napsauta alla olevaa painiketta päästäksesi siihen!",
|
||||||
@@ -180,7 +197,12 @@
|
|||||||
"ticketMessageLimit":"Voit luoda vain {0} lippua samanaikaisesti!",
|
"ticketMessageLimit":"Voit luoda vain {0} lippua samanaikaisesti!",
|
||||||
"ticketMessageAutoclose":"Tämä lippu suljetaan automaattisesti, kun se ei ole aktiivinen {0} tuntia!",
|
"ticketMessageAutoclose":"Tämä lippu suljetaan automaattisesti, kun se ei ole aktiivinen {0} tuntia!",
|
||||||
"ticketMessageAutodelete":"Tämä lippu poistetaan automaattisesti, kun se ei ole aktiivinen {0} päivään!",
|
"ticketMessageAutodelete":"Tämä lippu poistetaan automaattisesti, kun se ei ole aktiivinen {0} päivään!",
|
||||||
"panelReady":"Löydät paneelin alta! Tämä viesti voidaan nyt poistaa!"
|
"panelReady":"Paneeli on saatavilla jatkoviestissä!\nTämä viesti voidaan nyt poistaa!",
|
||||||
|
|
||||||
|
"topicSet":"Kanavan aihe on vaihdettu käyttäjän {0} toimesta onnistuneesti!",
|
||||||
|
"prioritySet":"Tiketin prioriteetti on vaihdettu arvoksi {0} käyttäjän {1} toimesta onnistuneesti!",
|
||||||
|
"priorityGet":"Tämän tiketin nykyinen prioriteetti on {0}.",
|
||||||
|
"transfer":"Tiketin omistus on siirretty käyttäjältä {0} käyttäjälle {1} käyttäjän {2} toimesta onnistuneesti!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder":"Miksi suljit tämän lipun?",
|
"closePlaceholder":"Miksi suljit tämän lipun?",
|
||||||
@@ -220,7 +242,14 @@
|
|||||||
"blacklistRemoveLog":"{1} poisti käyttäjän {0} mustalta listalta!",
|
"blacklistRemoveLog":"{1} poisti käyttäjän {0} mustalta listalta!",
|
||||||
"blacklistAddDm":"Sinut on mustalla listalla palvelimellamme! Tästä eteenpäin et voi luoda lippua!",
|
"blacklistAddDm":"Sinut on mustalla listalla palvelimellamme! Tästä eteenpäin et voi luoda lippua!",
|
||||||
"blacklistRemoveDm":"Sinut on poistettu palvelimemme mustalta listalta! Nyt voit luoda lippuja uudelleen!",
|
"blacklistRemoveDm":"Sinut on poistettu palvelimemme mustalta listalta! Nyt voit luoda lippuja uudelleen!",
|
||||||
"clearLog":"{1} on poistanut {0} lippua!"
|
"clearLog":"{1} on poistanut {0} lippua!",
|
||||||
|
|
||||||
|
"transferLog":"Tämän tiketin omistus on siirretty käyttäjältä {0} käyttäjälle {1} käyttäjän {2} toimesta!",
|
||||||
|
"transferDm":"Tiketin omistus on siirretty käyttäjältä {0} käyttäjälle {1} palvelimellamme!",
|
||||||
|
"prioritySetLog":"Tämän tiketin prioriteetti on vaihdettu arvoksi {0} käyttäjän {1} toimesta!",
|
||||||
|
"prioritySetDm":"Tiketin prioriteetti on vaihdettu arvoksi {0} palvelimellamme!",
|
||||||
|
"roleUpdateLog":"{0} on päivittänyt roolinsa!",
|
||||||
|
"roleUpdateDm":"Roolisi palvelimellamme on päivitetty!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
@@ -241,7 +270,19 @@
|
|||||||
"retry":"Yritä uudelleen",
|
"retry":"Yritä uudelleen",
|
||||||
"continue":"Poista ilman transkriptiota",
|
"continue":"Poista ilman transkriptiota",
|
||||||
"backup":"Luo varmuuskopio",
|
"backup":"Luo varmuuskopio",
|
||||||
"error":"Jotain meni pieleen, kun yritettiin luoda transkriptiota. Mitä haluaisit tehdä? Tätä lippua ei poisteta, ennen kuin napsautat jotakin näistä painikkeista. "
|
"error":"Jotain meni pieleen, kun yritettiin luoda transkriptiota. Mitä haluaisit tehdä? Tätä lippua ei poisteta, ennen kuin napsautat jotakin näistä painikkeista. ",
|
||||||
|
"title":"Transkriptiovirhe"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"VIESTIT",
|
||||||
|
"embedTitle":"UPOTUS",
|
||||||
|
"fileTitle":"TIEDOSTO",
|
||||||
|
"fieldsTitle":"KENTÄT",
|
||||||
|
"reactionsTitle":"REAKTIOT",
|
||||||
|
"statsTitle":"TILASTOT",
|
||||||
|
"emptyContent":"<sisältö on tyhjä>",
|
||||||
|
"noTitle":"<ei-otsikkoa>",
|
||||||
|
"noDesc":"<ei-kuvausta>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
@@ -257,7 +298,8 @@
|
|||||||
"unknownPanel":"Tuntematon paneeli",
|
"unknownPanel":"Tuntematon paneeli",
|
||||||
"notInGuild":"Ei Palvelimessa",
|
"notInGuild":"Ei Palvelimessa",
|
||||||
"channelRename":"Kanavaa ei voi nimetä uudelleen",
|
"channelRename":"Kanavaa ei voi nimetä uudelleen",
|
||||||
"busy":"Lippu on varattu"
|
"busy":"Lippu on varattu",
|
||||||
|
"permissionError":"Käyttöoikeusvirhe"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo":"Ota yhteyttä tämän botin omistajaan saadaksesi lisätietoja!",
|
"askForInfo":"Ota yhteyttä tämän botin omistajaan saadaksesi lisätietoja!",
|
||||||
@@ -280,7 +322,10 @@
|
|||||||
"notInGuild":"Tämä {0} ei toimi DM:ssä! Ole hyvä ja yritä uudelleen palvelimella!",
|
"notInGuild":"Tämä {0} ei toimi DM:ssä! Ole hyvä ja yritä uudelleen palvelimella!",
|
||||||
"channelRename":"Discordin nopeusrajoitusten vuoksi botin on tällä hetkellä mahdotonta nimetä kanavaa uudelleen. Kanava nimetään automaattisesti uudelleen 10 minuutin kuluttua, jos bottia ei käynnistetä uudelleen.",
|
"channelRename":"Discordin nopeusrajoitusten vuoksi botin on tällä hetkellä mahdotonta nimetä kanavaa uudelleen. Kanava nimetään automaattisesti uudelleen 10 minuutin kuluttua, jos bottia ei käynnistetä uudelleen.",
|
||||||
"channelRenameSource":"Tämän virheen lähde on: {0}",
|
"channelRenameSource":"Tämän virheen lähde on: {0}",
|
||||||
"busy":"Tätä {0} ei voi käyttää! Botti käsittelee lippua parhaillaan. Yritä uudelleen muutaman sekunnin kuluttua!"
|
"busy":"Tätä {0} ei voi käyttää! Botti käsittelee lippua parhaillaan. Yritä uudelleen muutaman sekunnin kuluttua!",
|
||||||
|
"closeBeforeMessage":"Tätä tikettiä ei voi sulkea/poistaa ennen kuin käyttäjä on lähettänyt viestin.",
|
||||||
|
"closeBeforeAdminMessage":"Tätä tikettiä ei voi sulkea/poistaa ennen kuin tikettien ylläpitäjä tai tukihenkilö on lähettänyt viestin.",
|
||||||
|
"unableToCreateTicket":"Et voi luoda tikettiä."
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex":"Arvo ei vastaa mallia!",
|
"stringRegex":"Arvo ei vastaa mallia!",
|
||||||
@@ -331,7 +376,6 @@
|
|||||||
"added":"Lisätty",
|
"added":"Lisätty",
|
||||||
"removed":"Poistettu",
|
"removed":"Poistettu",
|
||||||
"filter":"Suodattaa",
|
"filter":"Suodattaa",
|
||||||
"claimedBy":"Vaatimuksen tekijä: {0}",
|
|
||||||
"method":"Menetelmä",
|
"method":"Menetelmä",
|
||||||
"type":"Tyyppi",
|
"type":"Tyyppi",
|
||||||
"blacklisted":"Mustalla listalla",
|
"blacklisted":"Mustalla listalla",
|
||||||
@@ -352,10 +396,30 @@
|
|||||||
"version":"Versio",
|
"version":"Versio",
|
||||||
"name":"Nimi",
|
"name":"Nimi",
|
||||||
"role":"Rooli",
|
"role":"Rooli",
|
||||||
"status":"Status",
|
"status":"Tila",
|
||||||
"claimed":"Väitetty",
|
"claimed":"Väitetty",
|
||||||
"pinned":"Kiinnitetty",
|
"pinned":"Kiinnitetty",
|
||||||
"creationDate":"Luontipäivämäärä"
|
"creationDate":"Luontipäivämäärä",
|
||||||
|
|
||||||
|
"noone":"Ei Kukaan",
|
||||||
|
"open":"Avoin",
|
||||||
|
"closed":"Suljettu",
|
||||||
|
"priority":"Prioriteetti",
|
||||||
|
"participants":"Osallistujat",
|
||||||
|
"yes":"Kyllä",
|
||||||
|
"no":"Ei",
|
||||||
|
"option":"Vaihtoehto",
|
||||||
|
"topic":"Aihe",
|
||||||
|
"uptime":"Järjestelmän Käyttöaika",
|
||||||
|
"messages":"Viestit",
|
||||||
|
"embeds":"Upotukset",
|
||||||
|
"files":"Tiedostot",
|
||||||
|
"components":"Komponentit",
|
||||||
|
"cooldown":"Jäähy",
|
||||||
|
"maxTickets":"Maksimi Tiketit",
|
||||||
|
"admins":"Ylläpitäjät",
|
||||||
|
"roles":"Roolit",
|
||||||
|
"size":"Koko"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text":"teksti",
|
"text":"teksti",
|
||||||
@@ -384,6 +448,7 @@
|
|||||||
"unclaim":"Peruuta lippu.",
|
"unclaim":"Peruuta lippu.",
|
||||||
"pin":"Kiinnitä lippu.",
|
"pin":"Kiinnitä lippu.",
|
||||||
"unpin":"Irrota lippu.",
|
"unpin":"Irrota lippu.",
|
||||||
|
|
||||||
"move":"Siirrä lippu.",
|
"move":"Siirrä lippu.",
|
||||||
"moveId":"Sen vaihtoehdon tunniste, johon haluat siirtyä.",
|
"moveId":"Sen vaihtoehdon tunniste, johon haluat siirtyä.",
|
||||||
"rename":"Nimeä lippu uudelleen.",
|
"rename":"Nimeä lippu uudelleen.",
|
||||||
@@ -392,6 +457,7 @@
|
|||||||
"addUser":"Lisättävä käyttäjä.",
|
"addUser":"Lisättävä käyttäjä.",
|
||||||
"remove":"Poista käyttäjä lipusta.",
|
"remove":"Poista käyttäjä lipusta.",
|
||||||
"removeUser":"Poistettava käyttäjä.",
|
"removeUser":"Poistettava käyttäjä.",
|
||||||
|
|
||||||
"blacklist":"Hallitse lippujen mustaa listaa.",
|
"blacklist":"Hallitse lippujen mustaa listaa.",
|
||||||
"blacklistView":"Näytä luettelo nykyisestä mustasta listasta.",
|
"blacklistView":"Näytä luettelo nykyisestä mustasta listasta.",
|
||||||
"blacklistAdd":"Lisää käyttäjä mustalle listalle.",
|
"blacklistAdd":"Lisää käyttäjä mustalle listalle.",
|
||||||
@@ -405,6 +471,7 @@
|
|||||||
"statsUserUser":"Käyttäjä katsella.",
|
"statsUserUser":"Käyttäjä katsella.",
|
||||||
"statsTicket":"Tarkastele lipun tilastoja palvelimella.",
|
"statsTicket":"Tarkastele lipun tilastoja palvelimella.",
|
||||||
"statsTicketTicket":"Lippu katsottavaksi.",
|
"statsTicketTicket":"Lippu katsottavaksi.",
|
||||||
|
|
||||||
"clear":"Poista useita lippuja samanaikaisesti.",
|
"clear":"Poista useita lippuja samanaikaisesti.",
|
||||||
"clearFilter":"Lippujen tyhjennyssuodatin.",
|
"clearFilter":"Lippujen tyhjennyssuodatin.",
|
||||||
"clearFilters":{
|
"clearFilters":{
|
||||||
@@ -417,6 +484,7 @@
|
|||||||
"unpin":"Irrotettu",
|
"unpin":"Irrotettu",
|
||||||
"autoclose":"Automaattisuljettu"
|
"autoclose":"Automaattisuljettu"
|
||||||
},
|
},
|
||||||
|
|
||||||
"autoclose":"Hallitse automaattista sulkemista lipussa.",
|
"autoclose":"Hallitse automaattista sulkemista lipussa.",
|
||||||
"autocloseDisable":"Poista automaattinen sulkeminen käytöstä tässä lipussa.",
|
"autocloseDisable":"Poista automaattinen sulkeminen käytöstä tässä lipussa.",
|
||||||
"autocloseEnable":"Ota automaattinen sulkeminen käyttöön tässä lipussa.",
|
"autocloseEnable":"Ota automaattinen sulkeminen käyttöön tässä lipussa.",
|
||||||
@@ -424,7 +492,19 @@
|
|||||||
"autodelete":"Hallitse automaattista poistoa lipussa.",
|
"autodelete":"Hallitse automaattista poistoa lipussa.",
|
||||||
"autodeleteDisable":"Poista automaattinen poisto käytöstä tässä lipussa.",
|
"autodeleteDisable":"Poista automaattinen poisto käytöstä tässä lipussa.",
|
||||||
"autodeleteEnable":"Ota automaattinen poisto käyttöön tässä lipussa.",
|
"autodeleteEnable":"Ota automaattinen poisto käyttöön tässä lipussa.",
|
||||||
"autodeleteEnableTime":"Kuinka monta päivää tämän lipun on oltava passiivinen, jotta se voidaan poistaa."
|
"autodeleteEnableTime":"Kuinka monta päivää tämän lipun on oltava passiivinen, jotta se voidaan poistaa.",
|
||||||
|
|
||||||
|
"topic":"Hallitse tikettikanavan aihetta.",
|
||||||
|
"topicSet":"Aseta tikettikanavan aihe.",
|
||||||
|
"topicValue":"Kanavan uusi aihe.",
|
||||||
|
"topicList":"Hae lista kaikista tiketeistä niiden aiheen ja tilastojen kanssa.",
|
||||||
|
"priority":"Hallitse tiketin prioriteettia.",
|
||||||
|
"prioritySet":"Aseta tiketin prioriteetti.",
|
||||||
|
"priorityValue":"Kanavan prioriteetti.",
|
||||||
|
"priorityGet":"Hae tiketin prioriteetti.",
|
||||||
|
"priorityList":"Hae lista kaikista tiketeistä ja niiden prioriteettitilasta.",
|
||||||
|
"transfer":"Siirrä tiketin omistus käyttäjältä toiselle.",
|
||||||
|
"transferUser":"Käyttäjä, jolle omistus siirretään."
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"help":"Hanki luettelo kaikista käytettävissä olevista komennoista.",
|
"help":"Hanki luettelo kaikista käytettävissä olevista komennoista.",
|
||||||
@@ -452,7 +532,16 @@
|
|||||||
"autocloseDisable":"Poista automaattinen sulkeminen käytöstä tässä lipussa.",
|
"autocloseDisable":"Poista automaattinen sulkeminen käytöstä tässä lipussa.",
|
||||||
"autocloseEnable":"Ota automaattinen sulkeminen käyttöön tässä lipussa.",
|
"autocloseEnable":"Ota automaattinen sulkeminen käyttöön tässä lipussa.",
|
||||||
"autodeleteDisable":"Poista automaattinen poisto käytöstä tässä lipussa.",
|
"autodeleteDisable":"Poista automaattinen poisto käytöstä tässä lipussa.",
|
||||||
"autodeleteEnable":"Ota automaattinen poisto käyttöön tässä lipussa."
|
"autodeleteEnable":"Ota automaattinen poisto käyttöön tässä lipussa.",
|
||||||
|
"categories":{
|
||||||
|
"general":"Yleiset Komennot",
|
||||||
|
"basicTicket":"Perus Tikettikomennot",
|
||||||
|
"advancedTicket":"Edistyneet Tikettikomennot",
|
||||||
|
"userTicket":"Käyttäjän Tikettikomennot",
|
||||||
|
"admin":"Ylläpitäjäkomennot",
|
||||||
|
"advanced":"Edistyneet Komennot",
|
||||||
|
"extra":"Lisäkomennot"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes":{
|
"scopes":{
|
||||||
@@ -460,7 +549,8 @@
|
|||||||
"system":"Järjestelmätilastot",
|
"system":"Järjestelmätilastot",
|
||||||
"user":"Käyttäjätilastot",
|
"user":"Käyttäjätilastot",
|
||||||
"ticket":"Lipputilastot",
|
"ticket":"Lipputilastot",
|
||||||
"participants":"Osallistujat"
|
"participants":"Osallistujat",
|
||||||
|
"messages":"Viestit"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated":"Liput luotu",
|
"ticketsCreated":"Liput luotu",
|
||||||
@@ -472,7 +562,47 @@
|
|||||||
"ticketsPinned":"Liput kiinni",
|
"ticketsPinned":"Liput kiinni",
|
||||||
"ticketsMoved":"Liput siirretty",
|
"ticketsMoved":"Liput siirretty",
|
||||||
"usersBlacklisted":"Käyttäjät mustalla listalla",
|
"usersBlacklisted":"Käyttäjät mustalla listalla",
|
||||||
"transcriptsCreated":"Transkriptiot luotu"
|
"transcriptsCreated":"Transkriptiot luotu",
|
||||||
|
"ticketsAutodeleted":"Tiketit Automaattisesti Poistettu",
|
||||||
|
"ticketsTransferred":"Tiketit Siirretty",
|
||||||
|
"ticketVolume":"Tikettilukumäärä",
|
||||||
|
"averageTickets":"Keskimääräiset Tiketit/Käyttäjä",
|
||||||
|
"currentTickets":"Nykyiset Tiketit",
|
||||||
|
"age":"Tiketin Ikä",
|
||||||
|
"responseTime":"Vastausaika",
|
||||||
|
"resolutionTime":"Ratkaisuaika",
|
||||||
|
"createdOn":"Luotu",
|
||||||
|
"createdBy":"Luonut",
|
||||||
|
"closedOn":"Suljettu",
|
||||||
|
"closedBy":"Sulkenut",
|
||||||
|
"claimedOn":"Otettu Vastaan",
|
||||||
|
"claimedBy":"Vastaanottanut",
|
||||||
|
"pinnedOn":"Kiinnitetty",
|
||||||
|
"pinnedBy":"Kiinnittänyt",
|
||||||
|
"deletedOn":"Poistettu",
|
||||||
|
"deletedBy":"Poistanut"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"Kehittäjä",
|
||||||
|
"serverOwner":"Palvelimen Omistaja",
|
||||||
|
"serverAdmin":"Palvelimen Ylläpitäjä",
|
||||||
|
"moderator":"Moderaattoritiimi",
|
||||||
|
"support":"Tukitiimi",
|
||||||
|
"member":"Jäsen"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"Valitse tikettisi",
|
||||||
|
"selectRole":"Valitse roolisi",
|
||||||
|
"selectOption":"Valitse vaihtoehtosi"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"Kiireellinen",
|
||||||
|
"veryHigh":"Erittäin Korkea",
|
||||||
|
"high":"Korkea",
|
||||||
|
"normal":"Normaali",
|
||||||
|
"low":"Matala",
|
||||||
|
"veryLow":"Erittäin Matala",
|
||||||
|
"none":"Ei Mikään"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+145
-15
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["guillee3"],
|
"translators":["guillee3"],
|
||||||
"lastedited":"04/12/2024",
|
"lastedited":"16/02/2026",
|
||||||
"language":"French",
|
"language":"French",
|
||||||
"automated":false
|
"automated":false
|
||||||
},
|
},
|
||||||
@@ -31,6 +31,14 @@
|
|||||||
"stringContains":"Cette chaîne doit contenir {0}!",
|
"stringContains":"Cette chaîne doit contenir {0}!",
|
||||||
"stringChoices":"Cette chaîne ne peut être que l'une des valeurs suivantes : {0}!",
|
"stringChoices":"Cette chaîne ne peut être que l'une des valeurs suivantes : {0}!",
|
||||||
"stringRegex":"Cette chaîne est invalide!",
|
"stringRegex":"Cette chaîne est invalide!",
|
||||||
|
"stringInvertedContains":"Cette chaîne ne peut pas contenir {0}!",
|
||||||
|
"stringLowercase":"Cette chaîne doit être écrite uniquement en minuscules!",
|
||||||
|
"stringUppercase":"Cette chaîne doit être écrite uniquement en majuscules!",
|
||||||
|
"stringSpecialCharacters":"Cette chaîne ne peut pas contenir de caractères spéciaux! (a-z, 0-9 et espace uniquement)",
|
||||||
|
"stringNoSpaces":"Cette chaîne ne peut pas contenir d'espaces!",
|
||||||
|
"stringCapitalWord":"Il est recommandé que chaque mot de cette chaîne commence par une majuscule!",
|
||||||
|
"stringCapitalSentence":"Il semble que certaines phrases dans cette chaîne ne commencent pas par une majuscule!",
|
||||||
|
"stringPunctuation":"Il semble que la phrase dans cette chaîne ne se termine pas par un signe de ponctuation!",
|
||||||
|
|
||||||
"numberTooShort":"Ce nombre ne peut pas être plus court que {0} caractères!",
|
"numberTooShort":"Ce nombre ne peut pas être plus court que {0} caractères!",
|
||||||
"numberTooLong":"Ce nombre ne peut pas être plus long que {0} caractères!",
|
"numberTooLong":"Ce nombre ne peut pas être plus long que {0} caractères!",
|
||||||
@@ -48,6 +56,8 @@
|
|||||||
"numberNegative":"Ce nombre ne peut pas être négatif!",
|
"numberNegative":"Ce nombre ne peut pas être négatif!",
|
||||||
"numberPositive":"Ce nombre ne peut pas être positif!",
|
"numberPositive":"Ce nombre ne peut pas être positif!",
|
||||||
"numberZero":"Ce nombre ne peut pas être zéro!",
|
"numberZero":"Ce nombre ne peut pas être zéro!",
|
||||||
|
"numberNan":"Ce nombre ne peut pas être NaN (Not A Number)!",
|
||||||
|
"numberInvertedContains":"Ce nombre ne peut pas contenir {0}!",
|
||||||
|
|
||||||
"booleanTrue":"Ce booléen ne peut pas être vrai!",
|
"booleanTrue":"Ce booléen ne peut pas être vrai!",
|
||||||
"booleanFalse":"Ce booléen ne peut pas être faux!",
|
"booleanFalse":"Ce booléen ne peut pas être faux!",
|
||||||
@@ -89,7 +99,8 @@
|
|||||||
"invalidButton":"Ce bouton doit avoir au moins un {0} ou {1}!",
|
"invalidButton":"Ce bouton doit avoir au moins un {0} ou {1}!",
|
||||||
"unusedOption":"L'option {0} n'est utilisée nulle part!",
|
"unusedOption":"L'option {0} n'est utilisée nulle part!",
|
||||||
"unusedQuestion":"La question {0} n'est utilisée nulle part!",
|
"unusedQuestion":"La question {0} n'est utilisée nulle part!",
|
||||||
"dropdownOption":"Un panneau avec un menu déroulant activé ne peut contenir que des options du type 'ticket'!"
|
"dropdownOption":"Un panneau avec un menu déroulant activé ne peut contenir que des options du type 'ticket'!",
|
||||||
|
"customInvalidVersion":"La version spécifiée dans votre config ne correspond pas! Assurez-vous d'avoir mis à jour la config vers la dernière version!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
@@ -132,6 +143,7 @@
|
|||||||
"blacklistAddDm":"Ajouté à la Liste Noire",
|
"blacklistAddDm":"Ajouté à la Liste Noire",
|
||||||
"blacklistRemoveDm":"Retiré de la Liste Noire",
|
"blacklistRemoveDm":"Retiré de la Liste Noire",
|
||||||
"clear":"Tickets Supprimés",
|
"clear":"Tickets Supprimés",
|
||||||
|
"clearTickets":"Effacer les tickets",
|
||||||
"roles":"Rôles Mis à Jour",
|
"roles":"Rôles Mis à Jour",
|
||||||
|
|
||||||
"autoclose":"Ticket Fermé Automatiquement",
|
"autoclose":"Ticket Fermé Automatiquement",
|
||||||
@@ -139,7 +151,12 @@
|
|||||||
"autocloseDisabled":"Fermeture Automatique Désactivée",
|
"autocloseDisabled":"Fermeture Automatique Désactivée",
|
||||||
"autodelete":"Ticket Supprimé Automatiquement",
|
"autodelete":"Ticket Supprimé Automatiquement",
|
||||||
"autodeleteEnabled":"Suppression Automatique Activée",
|
"autodeleteEnabled":"Suppression Automatique Activée",
|
||||||
"autodeleteDisabled":"Suppression Automatique Désactivée"
|
"autodeleteDisabled":"Suppression Automatique Désactivée",
|
||||||
|
|
||||||
|
"topicSet":"Sujet modifié",
|
||||||
|
"prioritySet":"Priorité modifiée",
|
||||||
|
"priorityGet":"Priorité du ticket",
|
||||||
|
"transfer":"Ticket transféré"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create":"Votre ticket a été créé. Cliquez sur le bouton ci-dessous pour y accéder!",
|
"create":"Votre ticket a été créé. Cliquez sur le bouton ci-dessous pour y accéder!",
|
||||||
@@ -180,7 +197,12 @@
|
|||||||
"ticketMessageLimit":"Vous ne pouvez créer que {0} ticket(s) en même temps!",
|
"ticketMessageLimit":"Vous ne pouvez créer que {0} ticket(s) en même temps!",
|
||||||
"ticketMessageAutoclose":"Ce ticket sera fermé automatiquement après {0}h d'inactivité!",
|
"ticketMessageAutoclose":"Ce ticket sera fermé automatiquement après {0}h d'inactivité!",
|
||||||
"ticketMessageAutodelete":"Ce ticket sera supprimé automatiquement après {0} jours d'inactivité!",
|
"ticketMessageAutodelete":"Ce ticket sera supprimé automatiquement après {0} jours d'inactivité!",
|
||||||
"panelReady":"Vous pouvez trouver le panneau ci-dessous!\nCe message peut maintenant être supprimé!"
|
"panelReady":"Le panneau est disponible dans le message suivant!\nCe message peut maintenant être supprimé!",
|
||||||
|
|
||||||
|
"topicSet":"Le sujet du salon a été modifié par {0} avec succès!",
|
||||||
|
"prioritySet":"La priorité du ticket a été modifiée en {0} par {1} avec succès!",
|
||||||
|
"priorityGet":"La priorité actuelle de ce ticket est {0}.",
|
||||||
|
"transfer":"La propriété de ce ticket a été transférée de {0} à {1} par {2} avec succès!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder":"Pourquoi avez-vous fermé ce ticket?",
|
"closePlaceholder":"Pourquoi avez-vous fermé ce ticket?",
|
||||||
@@ -220,7 +242,14 @@
|
|||||||
"blacklistRemoveLog":"{0} a été retiré de la liste noire par {1}!",
|
"blacklistRemoveLog":"{0} a été retiré de la liste noire par {1}!",
|
||||||
"blacklistAddDm":"Vous avez été ajouté à la liste noire sur notre serveur!\nDésormais, vous ne pouvez pas créer de ticket!",
|
"blacklistAddDm":"Vous avez été ajouté à la liste noire sur notre serveur!\nDésormais, vous ne pouvez pas créer de ticket!",
|
||||||
"blacklistRemoveDm":"Vous avez été retiré de la liste noire sur notre serveur!\nVous pouvez désormais créer des tickets à nouveau!",
|
"blacklistRemoveDm":"Vous avez été retiré de la liste noire sur notre serveur!\nVous pouvez désormais créer des tickets à nouveau!",
|
||||||
"clearLog":"{0} tickets ont été supprimés par {1}!"
|
"clearLog":"{0} tickets ont été supprimés par {1}!",
|
||||||
|
|
||||||
|
"transferLog":"La propriété de ce ticket a été transférée de {0} à {1} par {2}!",
|
||||||
|
"transferDm":"La propriété de votre ticket a été transférée de {0} à {1} sur notre serveur!",
|
||||||
|
"prioritySetLog":"La priorité de ce ticket a été modifiée en {0} par {1}!",
|
||||||
|
"prioritySetDm":"La priorité de votre ticket a été modifiée en {0} sur notre serveur!",
|
||||||
|
"roleUpdateLog":"{0} a mis à jour ses rôles!",
|
||||||
|
"roleUpdateDm":"Vos rôles sur notre serveur ont été mis à jour!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
@@ -241,7 +270,19 @@
|
|||||||
"retry":"Réessayer",
|
"retry":"Réessayer",
|
||||||
"continue":"Supprimer Sans Transcription",
|
"continue":"Supprimer Sans Transcription",
|
||||||
"backup":"Créer une Transcription de Sauvegarde",
|
"backup":"Créer une Transcription de Sauvegarde",
|
||||||
"error":"Une erreur s'est produite lors de la création de la transcription.\nQue souhaitez-vous faire?\n\nCe ticket ne sera pas supprimé tant que vous n'aurez pas cliqué sur l'un de ces boutons."
|
"error":"Une erreur s'est produite lors de la création de la transcription.\nQue souhaitez-vous faire?\n\nCe ticket ne sera pas supprimé tant que vous n'aurez pas cliqué sur l'un de ces boutons.",
|
||||||
|
"title":"Erreur de transcription"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"MESSAGES",
|
||||||
|
"embedTitle":"EMBED",
|
||||||
|
"fileTitle":"FICHIER",
|
||||||
|
"fieldsTitle":"CHAMPS",
|
||||||
|
"reactionsTitle":"RÉACTIONS",
|
||||||
|
"statsTitle":"STATS",
|
||||||
|
"emptyContent":"<contenu vide>",
|
||||||
|
"noTitle":"<sans-titre>",
|
||||||
|
"noDesc":"<sans-description>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
@@ -257,7 +298,8 @@
|
|||||||
"unknownPanel":"Panneau Inconnu",
|
"unknownPanel":"Panneau Inconnu",
|
||||||
"notInGuild":"Pas Dans le Serveur",
|
"notInGuild":"Pas Dans le Serveur",
|
||||||
"channelRename":"Impossible de Renommer le Canal",
|
"channelRename":"Impossible de Renommer le Canal",
|
||||||
"busy":"Ticket Occupé"
|
"busy":"Ticket Occupé",
|
||||||
|
"permissionError":"Erreur de permission"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo":"Contactez le propriétaire de ce bot pour plus d'informations!",
|
"askForInfo":"Contactez le propriétaire de ce bot pour plus d'informations!",
|
||||||
@@ -280,7 +322,10 @@
|
|||||||
"notInGuild":"Ce {0} ne fonctionne pas en DM! Veuillez réessayer dans un serveur!",
|
"notInGuild":"Ce {0} ne fonctionne pas en DM! Veuillez réessayer dans un serveur!",
|
||||||
"channelRename":"En raison des limitations de taux de Discord, il est actuellement impossible pour le bot de renommer le canal. Le canal sera automatiquement renommé après 10 minutes si le bot n'est pas redémarré.",
|
"channelRename":"En raison des limitations de taux de Discord, il est actuellement impossible pour le bot de renommer le canal. Le canal sera automatiquement renommé après 10 minutes si le bot n'est pas redémarré.",
|
||||||
"channelRenameSource":"La source de cette erreur est : {0}",
|
"channelRenameSource":"La source de cette erreur est : {0}",
|
||||||
"busy":"Impossible d'utiliser ce {0}!\nLe ticket est actuellement en cours de traitement par le bot.\n\nVeuillez réessayer dans quelques secondes!"
|
"busy":"Impossible d'utiliser ce {0}!\nLe ticket est actuellement en cours de traitement par le bot.\n\nVeuillez réessayer dans quelques secondes!",
|
||||||
|
"closeBeforeMessage":"Ce ticket ne peut pas être fermé/supprimé avant qu'un utilisateur ait envoyé un message.",
|
||||||
|
"closeBeforeAdminMessage":"Ce ticket ne peut pas être fermé/supprimé avant qu'un admin de ticket ou un membre du support ait envoyé un message.",
|
||||||
|
"unableToCreateTicket":"Vous ne pouvez pas créer de ticket."
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex":"La valeur ne correspond pas au modèle!",
|
"stringRegex":"La valeur ne correspond pas au modèle!",
|
||||||
@@ -331,7 +376,6 @@
|
|||||||
"added":"Ajouté",
|
"added":"Ajouté",
|
||||||
"removed":"Retiré",
|
"removed":"Retiré",
|
||||||
"filter":"Filtre",
|
"filter":"Filtre",
|
||||||
"claimedBy":"Pris en charge par {0}",
|
|
||||||
"method":"Méthode",
|
"method":"Méthode",
|
||||||
"type":"Type",
|
"type":"Type",
|
||||||
"blacklisted":"Liste Noire",
|
"blacklisted":"Liste Noire",
|
||||||
@@ -355,7 +399,27 @@
|
|||||||
"status":"Statut",
|
"status":"Statut",
|
||||||
"claimed":"Pris en Charge",
|
"claimed":"Pris en Charge",
|
||||||
"pinned":"Épinglé",
|
"pinned":"Épinglé",
|
||||||
"creationDate":"Date de Création"
|
"creationDate":"Date de Création",
|
||||||
|
|
||||||
|
"noone":"Personne",
|
||||||
|
"open":"Ouvert",
|
||||||
|
"closed":"Fermé",
|
||||||
|
"priority":"Priorité",
|
||||||
|
"participants":"Participants",
|
||||||
|
"yes":"Oui",
|
||||||
|
"no":"Non",
|
||||||
|
"option":"Option",
|
||||||
|
"topic":"Sujet",
|
||||||
|
"uptime":"Temps de fonctionnement",
|
||||||
|
"messages":"Messages",
|
||||||
|
"embeds":"Embeds",
|
||||||
|
"files":"Fichiers",
|
||||||
|
"components":"Composants",
|
||||||
|
"cooldown":"Délai",
|
||||||
|
"maxTickets":"Tickets max",
|
||||||
|
"admins":"Admins",
|
||||||
|
"roles":"Rôles",
|
||||||
|
"size":"Taille"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text":"texte",
|
"text":"texte",
|
||||||
@@ -384,6 +448,7 @@
|
|||||||
"unclaim":"Libérer un ticket.",
|
"unclaim":"Libérer un ticket.",
|
||||||
"pin":"Épinglez un ticket.",
|
"pin":"Épinglez un ticket.",
|
||||||
"unpin":"Désépingler un ticket.",
|
"unpin":"Désépingler un ticket.",
|
||||||
|
|
||||||
"move":"Déplacez un ticket.",
|
"move":"Déplacez un ticket.",
|
||||||
"moveId":"L'identifiant de l'option vers laquelle vous souhaitez déplacer.",
|
"moveId":"L'identifiant de l'option vers laquelle vous souhaitez déplacer.",
|
||||||
"rename":"Renommez un ticket.",
|
"rename":"Renommez un ticket.",
|
||||||
@@ -392,6 +457,7 @@
|
|||||||
"addUser":"L'utilisateur à ajouter.",
|
"addUser":"L'utilisateur à ajouter.",
|
||||||
"remove":"Retirez un utilisateur d'un ticket.",
|
"remove":"Retirez un utilisateur d'un ticket.",
|
||||||
"removeUser":"L'utilisateur à retirer.",
|
"removeUser":"L'utilisateur à retirer.",
|
||||||
|
|
||||||
"blacklist":"Gérez la liste noire des tickets.",
|
"blacklist":"Gérez la liste noire des tickets.",
|
||||||
"blacklistView":"Voir la liste noire actuelle.",
|
"blacklistView":"Voir la liste noire actuelle.",
|
||||||
"blacklistAdd":"Ajoutez un utilisateur à la liste noire.",
|
"blacklistAdd":"Ajoutez un utilisateur à la liste noire.",
|
||||||
@@ -405,6 +471,7 @@
|
|||||||
"statsUserUser":"L'utilisateur à afficher.",
|
"statsUserUser":"L'utilisateur à afficher.",
|
||||||
"statsTicket":"Voir les statistiques d'un ticket dans le serveur.",
|
"statsTicket":"Voir les statistiques d'un ticket dans le serveur.",
|
||||||
"statsTicketTicket":"Le ticket à afficher.",
|
"statsTicketTicket":"Le ticket à afficher.",
|
||||||
|
|
||||||
"clear":"Supprimez plusieurs tickets en même temps.",
|
"clear":"Supprimez plusieurs tickets en même temps.",
|
||||||
"clearFilter":"Le filtre pour supprimer les tickets.",
|
"clearFilter":"Le filtre pour supprimer les tickets.",
|
||||||
"clearFilters":{
|
"clearFilters":{
|
||||||
@@ -417,6 +484,7 @@
|
|||||||
"unpin":"Désépinglés",
|
"unpin":"Désépinglés",
|
||||||
"autoclose":"Fermés automatiquement"
|
"autoclose":"Fermés automatiquement"
|
||||||
},
|
},
|
||||||
|
|
||||||
"autoclose":"Gérez la fermeture automatique dans un ticket.",
|
"autoclose":"Gérez la fermeture automatique dans un ticket.",
|
||||||
"autocloseDisable":"Désactivez la fermeture automatique dans ce ticket.",
|
"autocloseDisable":"Désactivez la fermeture automatique dans ce ticket.",
|
||||||
"autocloseEnable":"Activez la fermeture automatique dans ce ticket.",
|
"autocloseEnable":"Activez la fermeture automatique dans ce ticket.",
|
||||||
@@ -424,7 +492,19 @@
|
|||||||
"autodelete":"Gérez la suppression automatique dans un ticket.",
|
"autodelete":"Gérez la suppression automatique dans un ticket.",
|
||||||
"autodeleteDisable":"Désactivez la suppression automatique dans ce ticket.",
|
"autodeleteDisable":"Désactivez la suppression automatique dans ce ticket.",
|
||||||
"autodeleteEnable":"Activez la suppression automatique dans ce ticket.",
|
"autodeleteEnable":"Activez la suppression automatique dans ce ticket.",
|
||||||
"autodeleteEnableTime":"Le nombre de jours d'inactivité nécessaire pour supprimer ce ticket."
|
"autodeleteEnableTime":"Le nombre de jours d'inactivité nécessaire pour supprimer ce ticket.",
|
||||||
|
|
||||||
|
"topic":"Gérer le sujet du salon de ticket.",
|
||||||
|
"topicSet":"Définir le sujet du salon de ticket.",
|
||||||
|
"topicValue":"Le nouveau sujet du salon.",
|
||||||
|
"topicList":"Obtenir une liste de tous les tickets avec leur sujet et stats.",
|
||||||
|
"priority":"Gérer la priorité du ticket.",
|
||||||
|
"prioritySet":"Définir la priorité du ticket.",
|
||||||
|
"priorityValue":"La priorité du salon.",
|
||||||
|
"priorityGet":"Obtenir la priorité du ticket.",
|
||||||
|
"priorityList":"Obtenir une liste de tous les tickets avec leur statut de priorité.",
|
||||||
|
"transfer":"Transférer la propriété du ticket d'un utilisateur à un autre.",
|
||||||
|
"transferUser":"L'utilisateur vers lequel transférer."
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"help":"Obtenez une liste de toutes les commandes disponibles.",
|
"help":"Obtenez une liste de toutes les commandes disponibles.",
|
||||||
@@ -452,7 +532,16 @@
|
|||||||
"autocloseDisable":"Désactivez la fermeture automatique dans ce ticket.",
|
"autocloseDisable":"Désactivez la fermeture automatique dans ce ticket.",
|
||||||
"autocloseEnable":"Activez la fermeture automatique dans ce ticket.",
|
"autocloseEnable":"Activez la fermeture automatique dans ce ticket.",
|
||||||
"autodeleteDisable":"Désactivez la suppression automatique dans ce ticket.",
|
"autodeleteDisable":"Désactivez la suppression automatique dans ce ticket.",
|
||||||
"autodeleteEnable":"Activez la suppression automatique dans ce ticket."
|
"autodeleteEnable":"Activez la suppression automatique dans ce ticket.",
|
||||||
|
"categories":{
|
||||||
|
"general":"Commandes générales",
|
||||||
|
"basicTicket":"Commandes de ticket basiques",
|
||||||
|
"advancedTicket":"Commandes de ticket avancées",
|
||||||
|
"userTicket":"Commandes de ticket utilisateur",
|
||||||
|
"admin":"Commandes admin",
|
||||||
|
"advanced":"Commandes avancées",
|
||||||
|
"extra":"Commandes extra"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes":{
|
"scopes":{
|
||||||
@@ -460,7 +549,8 @@
|
|||||||
"system":"Statistiques Système",
|
"system":"Statistiques Système",
|
||||||
"user":"Statistiques Utilisateur",
|
"user":"Statistiques Utilisateur",
|
||||||
"ticket":"Statistiques Ticket",
|
"ticket":"Statistiques Ticket",
|
||||||
"participants":"Participants"
|
"participants":"Participants",
|
||||||
|
"messages":"Messages"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated":"Tickets Créés",
|
"ticketsCreated":"Tickets Créés",
|
||||||
@@ -472,7 +562,47 @@
|
|||||||
"ticketsPinned":"Tickets Épinglés",
|
"ticketsPinned":"Tickets Épinglés",
|
||||||
"ticketsMoved":"Tickets Déplacés",
|
"ticketsMoved":"Tickets Déplacés",
|
||||||
"usersBlacklisted":"Utilisateurs en Liste Noire",
|
"usersBlacklisted":"Utilisateurs en Liste Noire",
|
||||||
"transcriptsCreated":"Transcriptions Créées"
|
"transcriptsCreated":"Transcriptions Créées",
|
||||||
|
"ticketsAutodeleted":"Tickets auto-supprimés",
|
||||||
|
"ticketsTransferred":"Tickets transférés",
|
||||||
|
"ticketVolume":"Volume de tickets",
|
||||||
|
"averageTickets":"Moyenne de tickets/utilisateur",
|
||||||
|
"currentTickets":"Tickets en cours",
|
||||||
|
"age":"Âge du ticket",
|
||||||
|
"responseTime":"Temps de réponse",
|
||||||
|
"resolutionTime":"Temps de résolution",
|
||||||
|
"createdOn":"Créé le",
|
||||||
|
"createdBy":"Créé par",
|
||||||
|
"closedOn":"Fermé le",
|
||||||
|
"closedBy":"Fermé par",
|
||||||
|
"claimedOn":"Pris en charge le",
|
||||||
|
"claimedBy":"Pris en charge par",
|
||||||
|
"pinnedOn":"Épinglé le",
|
||||||
|
"pinnedBy":"Épinglé par",
|
||||||
|
"deletedOn":"Supprimé le",
|
||||||
|
"deletedBy":"Supprimé par"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"Développeur",
|
||||||
|
"serverOwner":"Propriétaire du serveur",
|
||||||
|
"serverAdmin":"Admin du serveur",
|
||||||
|
"moderator":"Équipe de modération",
|
||||||
|
"support":"Équipe de support",
|
||||||
|
"member":"Membre"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"Sélectionnez votre ticket",
|
||||||
|
"selectRole":"Sélectionnez votre rôle",
|
||||||
|
"selectOption":"Sélectionnez votre option"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"Urgent",
|
||||||
|
"veryHigh":"Très élevée",
|
||||||
|
"high":"Élevée",
|
||||||
|
"normal":"Normale",
|
||||||
|
"low":"Faible",
|
||||||
|
"veryLow":"Très faible",
|
||||||
|
"none":"Aucune"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+145
-15
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["benzorich"],
|
"translators":["benzorich"],
|
||||||
"lastedited":"06/10/2024",
|
"lastedited":"16/02/2026",
|
||||||
"language":"German",
|
"language":"German",
|
||||||
"automated":false
|
"automated":false
|
||||||
},
|
},
|
||||||
@@ -31,6 +31,14 @@
|
|||||||
"stringContains":"Diese Zeichenfolge muss {0} enthalten!",
|
"stringContains":"Diese Zeichenfolge muss {0} enthalten!",
|
||||||
"stringChoices":"Diese Zeichenfolge kann nur einen der folgenden Werte annehmen: {0}!",
|
"stringChoices":"Diese Zeichenfolge kann nur einen der folgenden Werte annehmen: {0}!",
|
||||||
"stringRegex":"Diese Zeichenfolge ist ungültig!",
|
"stringRegex":"Diese Zeichenfolge ist ungültig!",
|
||||||
|
"stringInvertedContains":"Diese Zeichenkette darf {0} nicht enthalten!",
|
||||||
|
"stringLowercase":"Diese Zeichenkette muss ausschließlich in Kleinbuchstaben geschrieben werden!",
|
||||||
|
"stringUppercase":"Diese Zeichenkette muss ausschließlich in Großbuchstaben geschrieben werden!",
|
||||||
|
"stringSpecialCharacters":"Diese Zeichenkette darf keine Sonderzeichen enthalten! (nur a-z, 0-9 & Leerzeichen)",
|
||||||
|
"stringNoSpaces":"Diese Zeichenkette darf keine Leerzeichen enthalten!",
|
||||||
|
"stringCapitalWord":"Es wird empfohlen, dass jedes Wort in dieser Zeichenkette mit einem Großbuchstaben beginnt!",
|
||||||
|
"stringCapitalSentence":"Es sieht so aus, als würden einige Sätze in dieser Zeichenkette nicht mit einem Großbuchstaben beginnen!",
|
||||||
|
"stringPunctuation":"Es sieht so aus, als würde der Satz in dieser Zeichenkette nicht mit einem Satzzeichen enden!",
|
||||||
|
|
||||||
"numberTooShort":"Diese Zahl kann nicht kürzer als {0} Zeichen sein!",
|
"numberTooShort":"Diese Zahl kann nicht kürzer als {0} Zeichen sein!",
|
||||||
"numberTooLong":"Diese Nummer darf nicht länger als {0} Zeichen sein!",
|
"numberTooLong":"Diese Nummer darf nicht länger als {0} Zeichen sein!",
|
||||||
@@ -48,6 +56,8 @@
|
|||||||
"numberNegative":"Diese Zahl kann nicht negativ sein!",
|
"numberNegative":"Diese Zahl kann nicht negativ sein!",
|
||||||
"numberPositive":"Diese Zahl kann nicht positiv sein!",
|
"numberPositive":"Diese Zahl kann nicht positiv sein!",
|
||||||
"numberZero":"Diese Zahl kann nicht Null sein!",
|
"numberZero":"Diese Zahl kann nicht Null sein!",
|
||||||
|
"numberNan":"Diese Zahl darf nicht NaN (Not A Number) sein!",
|
||||||
|
"numberInvertedContains":"Diese Zahl darf {0} nicht enthalten!",
|
||||||
|
|
||||||
"booleanTrue":"Dieser boolean Wert kann nicht wahr sein!",
|
"booleanTrue":"Dieser boolean Wert kann nicht wahr sein!",
|
||||||
"booleanFalse":"Dieser boolean Wert kann nicht falsch sein!",
|
"booleanFalse":"Dieser boolean Wert kann nicht falsch sein!",
|
||||||
@@ -89,7 +99,8 @@
|
|||||||
"invalidButton":"Dieser Button muss mindestens eine {0} oder {1} enthalten!",
|
"invalidButton":"Dieser Button muss mindestens eine {0} oder {1} enthalten!",
|
||||||
"unusedOption":"Die Option {0} wird nirgends verwendet!",
|
"unusedOption":"Die Option {0} wird nirgends verwendet!",
|
||||||
"unusedQuestion":"Die Frage {0} wird nirgends verwendet!",
|
"unusedQuestion":"Die Frage {0} wird nirgends verwendet!",
|
||||||
"dropdownOption":"Ein Panel mit aktiviertem Dropdown kann nur Optionen vom Typ 'Ticket' enthalten!"
|
"dropdownOption":"Ein Panel mit aktiviertem Dropdown kann nur Optionen vom Typ 'Ticket' enthalten!",
|
||||||
|
"customInvalidVersion":"Die in deiner Konfiguration angegebene Version stimmt nicht überein! Stelle sicher, dass du die Konfiguration auf die neueste Version aktualisiert hast!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
@@ -132,6 +143,7 @@
|
|||||||
"blacklistAddDm":"Zur Blacklist hinzugefügt",
|
"blacklistAddDm":"Zur Blacklist hinzugefügt",
|
||||||
"blacklistRemoveDm":"Von der Blacklist entfernen",
|
"blacklistRemoveDm":"Von der Blacklist entfernen",
|
||||||
"clear":"Freigegebene Tickets",
|
"clear":"Freigegebene Tickets",
|
||||||
|
"clearTickets":"Tickets Löschen",
|
||||||
"roles":"Aktualisierte Rollen",
|
"roles":"Aktualisierte Rollen",
|
||||||
|
|
||||||
"autoclose":"Ticket automatisch geschlossen",
|
"autoclose":"Ticket automatisch geschlossen",
|
||||||
@@ -139,7 +151,12 @@
|
|||||||
"autocloseDisabled":"Automatisches schließen Deaktiviert",
|
"autocloseDisabled":"Automatisches schließen Deaktiviert",
|
||||||
"autodelete":"Ticket automatisch gelöscht",
|
"autodelete":"Ticket automatisch gelöscht",
|
||||||
"autodeleteEnabled":"Automatisches Löschen Aktiviert",
|
"autodeleteEnabled":"Automatisches Löschen Aktiviert",
|
||||||
"autodeleteDisabled":"Automatisches Löschen Deaktiviert"
|
"autodeleteDisabled":"Automatisches Löschen Deaktiviert",
|
||||||
|
|
||||||
|
"topicSet":"Thema Geändert",
|
||||||
|
"prioritySet":"Priorität Geändert",
|
||||||
|
"priorityGet":"Ticket-Priorität",
|
||||||
|
"transfer":"Ticket Übertragen"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create":"Ihr Ticket wurde bereits erstellt. Klicken Sie auf die Button unten, um es zu öffnen!",
|
"create":"Ihr Ticket wurde bereits erstellt. Klicken Sie auf die Button unten, um es zu öffnen!",
|
||||||
@@ -180,7 +197,12 @@
|
|||||||
"ticketMessageLimit":"Sie können nur {0} Tickets gleichzeitig erstellen!",
|
"ticketMessageLimit":"Sie können nur {0} Tickets gleichzeitig erstellen!",
|
||||||
"ticketMessageAutoclose":"Dieses Ticket wird automatisch geschlossen, wenn es {0}h lang inaktiv war!",
|
"ticketMessageAutoclose":"Dieses Ticket wird automatisch geschlossen, wenn es {0}h lang inaktiv war!",
|
||||||
"ticketMessageAutodelete":"Dieses Ticket wird automatisch gelöscht, wenn es {0} Tage lang inaktiv war!",
|
"ticketMessageAutodelete":"Dieses Ticket wird automatisch gelöscht, wenn es {0} Tage lang inaktiv war!",
|
||||||
"panelReady":"Sie finden das Panel unten!\nDiese Nachricht kann jetzt gelöscht werden!"
|
"panelReady":"Das Panel ist in der folgenden Nachricht verfügbar!\nDiese Nachricht kann nun gelöscht werden!",
|
||||||
|
|
||||||
|
"topicSet":"Das Kanalthema wurde erfolgreich von {0} geändert!",
|
||||||
|
"prioritySet":"Die Ticket-Priorität wurde erfolgreich von {1} auf {0} geändert!",
|
||||||
|
"priorityGet":"Die aktuelle Priorität dieses Tickets ist {0}.",
|
||||||
|
"transfer":"Das Ticket wurde erfolgreich von {0} an {1} durch {2} übertragen!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder":"Warum haben Sie dieses Ticket geschlossen?",
|
"closePlaceholder":"Warum haben Sie dieses Ticket geschlossen?",
|
||||||
@@ -220,7 +242,14 @@
|
|||||||
"blacklistRemoveLog":"{0} wurde von {1} von der Blacklist entfernt!",
|
"blacklistRemoveLog":"{0} wurde von {1} von der Blacklist entfernt!",
|
||||||
"blacklistAddDm":"Sie wurden in unserem Server auf die Blacklist gesetzt!\nAb sofort können Sie kein Ticket mehr erstellen!",
|
"blacklistAddDm":"Sie wurden in unserem Server auf die Blacklist gesetzt!\nAb sofort können Sie kein Ticket mehr erstellen!",
|
||||||
"blacklistRemoveDm":"Sie wurden von der Blacklist unseres Servers entfernt!\n Jetzt können Sie wieder Tickets erstellen!",
|
"blacklistRemoveDm":"Sie wurden von der Blacklist unseres Servers entfernt!\n Jetzt können Sie wieder Tickets erstellen!",
|
||||||
"clearLog":"{0} Tickets wurden von {1} gelöscht!"
|
"clearLog":"{0} Tickets wurden von {1} gelöscht!",
|
||||||
|
|
||||||
|
"transferLog":"Das Ticket wurde von {0} an {1} durch {2} übertragen!",
|
||||||
|
"transferDm":"Dein Ticket wurde von {0} an {1} auf unserem Server übertragen!",
|
||||||
|
"prioritySetLog":"Die Priorität dieses Tickets wurde von {1} auf {0} geändert!",
|
||||||
|
"prioritySetDm":"Die Priorität deines Tickets wurde auf unserem Server auf {0} geändert!",
|
||||||
|
"roleUpdateLog":"{0} hat seine Rollen aktualisiert!",
|
||||||
|
"roleUpdateDm":"Deine Rollen auf unserem Server wurden aktualisiert!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
@@ -241,7 +270,19 @@
|
|||||||
"retry":"Erneut versuchen",
|
"retry":"Erneut versuchen",
|
||||||
"continue":"Löschen ohne Transkript",
|
"continue":"Löschen ohne Transkript",
|
||||||
"backup":"Sicherungstranskript erstellen",
|
"backup":"Sicherungstranskript erstellen",
|
||||||
"error":"Beim Versuch, das Transkript zu erstellen, ist etwas schief gelaufen.\nWas möchten Sie tun?\n\nDieses Ticket wird erst gelöscht, wenn Sie auf eine der folgenden Buttons klicken."
|
"error":"Beim Versuch, das Transkript zu erstellen, ist etwas schief gelaufen.\nWas möchten Sie tun?\n\nDieses Ticket wird erst gelöscht, wenn Sie auf eine der folgenden Buttons klicken.",
|
||||||
|
"title":"Transkript-Fehler"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"NACHRICHTEN",
|
||||||
|
"embedTitle":"EMBED",
|
||||||
|
"fileTitle":"DATEI",
|
||||||
|
"fieldsTitle":"FELDER",
|
||||||
|
"reactionsTitle":"REAKTIONEN",
|
||||||
|
"statsTitle":"STATISTIKEN",
|
||||||
|
"emptyContent":"<Inhalt ist leer>",
|
||||||
|
"noTitle":"<kein Titel>",
|
||||||
|
"noDesc":"<keine Beschreibung>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
@@ -257,7 +298,8 @@
|
|||||||
"unknownPanel":"Unbekanntes Panel",
|
"unknownPanel":"Unbekanntes Panel",
|
||||||
"notInGuild":"Nicht auf dem Server",
|
"notInGuild":"Nicht auf dem Server",
|
||||||
"channelRename":"Kanal kann nicht umbenannt werden",
|
"channelRename":"Kanal kann nicht umbenannt werden",
|
||||||
"busy":"Ticket ist besetzt"
|
"busy":"Ticket ist besetzt",
|
||||||
|
"permissionError":"Berechtigungsfehler"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo":"Kontaktieren Sie den Besitzer dieses Bots für weitere Informationen!",
|
"askForInfo":"Kontaktieren Sie den Besitzer dieses Bots für weitere Informationen!",
|
||||||
@@ -280,7 +322,10 @@
|
|||||||
"notInGuild":"{0} funktioniert nicht in DM! Bitte versuchen Sie es erneut auf einem Server!",
|
"notInGuild":"{0} funktioniert nicht in DM! Bitte versuchen Sie es erneut auf einem Server!",
|
||||||
"channelRename":"Aufgrund von Discord-Ratelimits ist es dem Bot derzeit nicht möglich, den Channel umzubenennen. Der Channel wird nach 10 Minuten automatisch umbenannt, wenn der Bot nicht neu gestartet wird.",
|
"channelRename":"Aufgrund von Discord-Ratelimits ist es dem Bot derzeit nicht möglich, den Channel umzubenennen. Der Channel wird nach 10 Minuten automatisch umbenannt, wenn der Bot nicht neu gestartet wird.",
|
||||||
"channelRenameSource":"Die Quelle dieses Fehlers ist: {0}",
|
"channelRenameSource":"Die Quelle dieses Fehlers ist: {0}",
|
||||||
"busy":"{0} kann nicht verwendet werden!\nDas Ticket wird derzeit vom Bot bearbeitet.\n\nBitte versuchen Sie es in ein paar Sekunden erneut!"
|
"busy":"{0} kann nicht verwendet werden!\nDas Ticket wird derzeit vom Bot bearbeitet.\n\nBitte versuchen Sie es in ein paar Sekunden erneut!",
|
||||||
|
"closeBeforeMessage":"Dieses Ticket kann nicht geschlossen/gelöscht werden, bevor eine Nachricht von einem Benutzer gesendet wurde.",
|
||||||
|
"closeBeforeAdminMessage":"Dieses Ticket kann nicht geschlossen/gelöscht werden, bevor eine Nachricht von einem Ticket-Admin oder Support-Mitglied gesendet wurde.",
|
||||||
|
"unableToCreateTicket":"Du kannst kein Ticket erstellen."
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex":"Wert stimmt nicht mit Muster überein!",
|
"stringRegex":"Wert stimmt nicht mit Muster überein!",
|
||||||
@@ -331,7 +376,6 @@
|
|||||||
"added":"Hinzugefügt",
|
"added":"Hinzugefügt",
|
||||||
"removed":"Entfernt",
|
"removed":"Entfernt",
|
||||||
"filter":"Filter",
|
"filter":"Filter",
|
||||||
"claimedBy":"Beansprucht von {0}",
|
|
||||||
"method":"Methode",
|
"method":"Methode",
|
||||||
"type":"Typ",
|
"type":"Typ",
|
||||||
"blacklisted":"Gesperrt",
|
"blacklisted":"Gesperrt",
|
||||||
@@ -355,7 +399,27 @@
|
|||||||
"status":"Status",
|
"status":"Status",
|
||||||
"claimed":"Beansprucht",
|
"claimed":"Beansprucht",
|
||||||
"pinned":"Angepinnt",
|
"pinned":"Angepinnt",
|
||||||
"creationDate":"Erstellungsdatum"
|
"creationDate":"Erstellungsdatum",
|
||||||
|
|
||||||
|
"noone":"Niemand",
|
||||||
|
"open":"Offen",
|
||||||
|
"closed":"Geschlossen",
|
||||||
|
"priority":"Priorität",
|
||||||
|
"participants":"Teilnehmer",
|
||||||
|
"yes":"Ja",
|
||||||
|
"no":"Nein",
|
||||||
|
"option":"Option",
|
||||||
|
"topic":"Thema",
|
||||||
|
"uptime":"System-Laufzeit",
|
||||||
|
"messages":"Nachrichten",
|
||||||
|
"embeds":"Embeds",
|
||||||
|
"files":"Dateien",
|
||||||
|
"components":"Komponenten",
|
||||||
|
"cooldown":"Cooldown",
|
||||||
|
"maxTickets":"Max. Tickets",
|
||||||
|
"admins":"Admins",
|
||||||
|
"roles":"Rollen",
|
||||||
|
"size":"Größe"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text":"text",
|
"text":"text",
|
||||||
@@ -384,6 +448,7 @@
|
|||||||
"unclaim":"Beanspruchen Sie ein Ticket zurück.",
|
"unclaim":"Beanspruchen Sie ein Ticket zurück.",
|
||||||
"pin":"Pinne ein Ticket an.",
|
"pin":"Pinne ein Ticket an.",
|
||||||
"unpin":"Pinne ein Ticket ab.",
|
"unpin":"Pinne ein Ticket ab.",
|
||||||
|
|
||||||
"move":"Verschieben Sie ein Ticket.",
|
"move":"Verschieben Sie ein Ticket.",
|
||||||
"moveId":"Die Kennung der Option.",
|
"moveId":"Die Kennung der Option.",
|
||||||
"rename":"Ein Ticket umbenennen.",
|
"rename":"Ein Ticket umbenennen.",
|
||||||
@@ -392,6 +457,7 @@
|
|||||||
"addUser":"Der hinzuzufügende Benutzer.",
|
"addUser":"Der hinzuzufügende Benutzer.",
|
||||||
"remove":"Entfernen Sie einen Benutzer aus einem Ticket.",
|
"remove":"Entfernen Sie einen Benutzer aus einem Ticket.",
|
||||||
"removeUser":"Der zu entfernende Benutzer.",
|
"removeUser":"Der zu entfernende Benutzer.",
|
||||||
|
|
||||||
"blacklist":"Verwalten Sie die Blacklist für Tickets.",
|
"blacklist":"Verwalten Sie die Blacklist für Tickets.",
|
||||||
"blacklistView":"Zeigen Sie eine Liste der aktuellen Blacklist an.",
|
"blacklistView":"Zeigen Sie eine Liste der aktuellen Blacklist an.",
|
||||||
"blacklistAdd":"Hinzufügen eines Benutzers zur Blacklist.",
|
"blacklistAdd":"Hinzufügen eines Benutzers zur Blacklist.",
|
||||||
@@ -405,6 +471,7 @@
|
|||||||
"statsUserUser":"Der zu betrachtende Benutzer.",
|
"statsUserUser":"Der zu betrachtende Benutzer.",
|
||||||
"statsTicket":"Anzeigen der Statistiken eines Tickets auf dem Server.",
|
"statsTicket":"Anzeigen der Statistiken eines Tickets auf dem Server.",
|
||||||
"statsTicketTicket":"Das Ticket zur Betrachtung.",
|
"statsTicketTicket":"Das Ticket zur Betrachtung.",
|
||||||
|
|
||||||
"clear":"Mehrere Tickets gleichzeitig löschen. Optional kann ein Filter angegeben werden.",
|
"clear":"Mehrere Tickets gleichzeitig löschen. Optional kann ein Filter angegeben werden.",
|
||||||
"clearFilter":"Der Filter zum Löschen von Tickets.",
|
"clearFilter":"Der Filter zum Löschen von Tickets.",
|
||||||
"clearFilters":{
|
"clearFilters":{
|
||||||
@@ -417,6 +484,7 @@
|
|||||||
"unpin":"nicht Angepinnte",
|
"unpin":"nicht Angepinnte",
|
||||||
"autoclose":"Autoclosed"
|
"autoclose":"Autoclosed"
|
||||||
},
|
},
|
||||||
|
|
||||||
"autoclose":"Verwalten Sie die automatische Schließung in einem Ticket.",
|
"autoclose":"Verwalten Sie die automatische Schließung in einem Ticket.",
|
||||||
"autocloseDisable":"Deaktivieren Sie das automatische Schließen in diesem Ticket.",
|
"autocloseDisable":"Deaktivieren Sie das automatische Schließen in diesem Ticket.",
|
||||||
"autocloseEnable":"Aktivieren Sie das automatische Schließen in diesem Ticket.",
|
"autocloseEnable":"Aktivieren Sie das automatische Schließen in diesem Ticket.",
|
||||||
@@ -424,7 +492,19 @@
|
|||||||
"autodelete":"Verwalten Sie die automatische Löschung in einem Ticket.",
|
"autodelete":"Verwalten Sie die automatische Löschung in einem Ticket.",
|
||||||
"autodeleteDisable":"Deaktivieren Sie das automatische Löschen in diesem Ticket.",
|
"autodeleteDisable":"Deaktivieren Sie das automatische Löschen in diesem Ticket.",
|
||||||
"autodeleteEnable":"Aktivieren Sie das automatische Löschen in diesem Ticket.",
|
"autodeleteEnable":"Aktivieren Sie das automatische Löschen in diesem Ticket.",
|
||||||
"autodeleteEnableTime":"Die Anzahl der Tage, die das Ticket inaktiv sein muss, um es zu löschen."
|
"autodeleteEnableTime":"Die Anzahl der Tage, die das Ticket inaktiv sein muss, um es zu löschen.",
|
||||||
|
|
||||||
|
"topic":"Verwalte das Thema des Ticket-Kanals.",
|
||||||
|
"topicSet":"Setze das Thema des Ticket-Kanals.",
|
||||||
|
"topicValue":"Das neue Thema des Kanals.",
|
||||||
|
"topicList":"Zeige eine Liste aller Tickets mit ihrem Thema und Statistiken an.",
|
||||||
|
"priority":"Verwalte die Priorität des Tickets.",
|
||||||
|
"prioritySet":"Setze die Priorität des Tickets.",
|
||||||
|
"priorityValue":"Die Priorität des Kanals.",
|
||||||
|
"priorityGet":"Zeige die Priorität des Tickets an.",
|
||||||
|
"priorityList":"Zeige eine Liste aller Tickets mit ihrem Prioritätsstatus an.",
|
||||||
|
"transfer":"Übertrage das Ticket von einem Benutzer an einen anderen.",
|
||||||
|
"transferUser":"Der Benutzer, an den übertragen werden soll."
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"help":"Erhalten Sie eine Liste mit allen verfügbaren Befehlen.",
|
"help":"Erhalten Sie eine Liste mit allen verfügbaren Befehlen.",
|
||||||
@@ -452,7 +532,16 @@
|
|||||||
"autocloseDisable":"Deaktivieren Sie das automatische Schließen in diesem Ticket.",
|
"autocloseDisable":"Deaktivieren Sie das automatische Schließen in diesem Ticket.",
|
||||||
"autocloseEnable":"Aktivieren Sie das automatische Schließen in diesem Ticket.",
|
"autocloseEnable":"Aktivieren Sie das automatische Schließen in diesem Ticket.",
|
||||||
"autodeleteDisable":"Deaktivieren Sie das automatische Löschen in diesem Ticket.",
|
"autodeleteDisable":"Deaktivieren Sie das automatische Löschen in diesem Ticket.",
|
||||||
"autodeleteEnable":"Aktivieren Sie das automatische Löschen in diesem Ticket."
|
"autodeleteEnable":"Aktivieren Sie das automatische Löschen in diesem Ticket.",
|
||||||
|
"categories":{
|
||||||
|
"general":"Allgemeine Befehle",
|
||||||
|
"basicTicket":"Basis-Ticket-Befehle",
|
||||||
|
"advancedTicket":"Erweiterte Ticket-Befehle",
|
||||||
|
"userTicket":"Benutzer-Ticket-Befehle",
|
||||||
|
"admin":"Admin-Befehle",
|
||||||
|
"advanced":"Erweiterte Befehle",
|
||||||
|
"extra":"Extra-Befehle"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes":{
|
"scopes":{
|
||||||
@@ -460,7 +549,8 @@
|
|||||||
"system":"System-Statistiken",
|
"system":"System-Statistiken",
|
||||||
"user":"Benutzer-Statistiken",
|
"user":"Benutzer-Statistiken",
|
||||||
"ticket":"Ticket-Statistiken",
|
"ticket":"Ticket-Statistiken",
|
||||||
"participants":"Teilnehmer"
|
"participants":"Teilnehmer",
|
||||||
|
"messages":"Nachrichten"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated":"Tickets erstellt",
|
"ticketsCreated":"Tickets erstellt",
|
||||||
@@ -472,7 +562,47 @@
|
|||||||
"ticketsPinned":"Tickets angepinnt",
|
"ticketsPinned":"Tickets angepinnt",
|
||||||
"ticketsMoved":"Tickets verschoben",
|
"ticketsMoved":"Tickets verschoben",
|
||||||
"usersBlacklisted":"Nutzer auf der Blacklist",
|
"usersBlacklisted":"Nutzer auf der Blacklist",
|
||||||
"transcriptsCreated":"Transcripts erstellt"
|
"transcriptsCreated":"Transcripts erstellt",
|
||||||
|
"ticketsAutodeleted":"Automatisch gelöschte Tickets",
|
||||||
|
"ticketsTransferred":"Übertragene Tickets",
|
||||||
|
"ticketVolume":"Ticket-Volumen",
|
||||||
|
"averageTickets":"Durchschnittliche Tickets/Benutzer",
|
||||||
|
"currentTickets":"Aktuelle Tickets",
|
||||||
|
"age":"Ticket-Alter",
|
||||||
|
"responseTime":"Antwortzeit",
|
||||||
|
"resolutionTime":"Lösungszeit",
|
||||||
|
"createdOn":"Erstellt am",
|
||||||
|
"createdBy":"Erstellt von",
|
||||||
|
"closedOn":"Geschlossen am",
|
||||||
|
"closedBy":"Geschlossen von",
|
||||||
|
"claimedOn":"Angenommen am",
|
||||||
|
"claimedBy":"Angenommen von",
|
||||||
|
"pinnedOn":"Angepinnt am",
|
||||||
|
"pinnedBy":"Angepinnt von",
|
||||||
|
"deletedOn":"Gelöscht am",
|
||||||
|
"deletedBy":"Gelöscht von"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"Entwickler",
|
||||||
|
"serverOwner":"Server-Besitzer",
|
||||||
|
"serverAdmin":"Server-Administrator",
|
||||||
|
"moderator":"Moderatoren-Team",
|
||||||
|
"support":"Support-Team",
|
||||||
|
"member":"Mitglied"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"Wähle dein Ticket",
|
||||||
|
"selectRole":"Wähle deine Rolle",
|
||||||
|
"selectOption":"Wähle deine Option"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"Dringend",
|
||||||
|
"veryHigh":"Sehr Hoch",
|
||||||
|
"high":"Hoch",
|
||||||
|
"normal":"Normal",
|
||||||
|
"low":"Niedrig",
|
||||||
|
"veryLow":"Sehr Niedrig",
|
||||||
|
"none":"Keine"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+234
-104
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["HanumeshGupta"],
|
"translators":["HanumeshGupta","ChatGPT"],
|
||||||
"lastedited":"19/06/2025",
|
"lastedited":"16/02/2026",
|
||||||
"language":"Greek",
|
"language":"Greek",
|
||||||
"automated":true
|
"automated":true
|
||||||
},
|
},
|
||||||
@@ -31,6 +31,14 @@
|
|||||||
"stringContains":"Αυτή η συμβολοσειρά πρέπει να περιέχει {0}!",
|
"stringContains":"Αυτή η συμβολοσειρά πρέπει να περιέχει {0}!",
|
||||||
"stringChoices":"Αυτή η συμβολοσειρά μπορεί να είναι μόνο μία από τις ακόλουθες τιμές: {0}!",
|
"stringChoices":"Αυτή η συμβολοσειρά μπορεί να είναι μόνο μία από τις ακόλουθες τιμές: {0}!",
|
||||||
"stringRegex":"Αυτή η συμβολοσειρά είναι άκυρη!",
|
"stringRegex":"Αυτή η συμβολοσειρά είναι άκυρη!",
|
||||||
|
"stringInvertedContains":"Αυτή η συμβολοσειρά δεν επιτρέπεται να περιέχει {0}!",
|
||||||
|
"stringLowercase":"Αυτή η συμβολοσειρά πρέπει να είναι γραμμένη μόνο με πεζά!",
|
||||||
|
"stringUppercase":"Αυτή η συμβολοσειρά πρέπει να είναι γραμμένη μόνο με κεφαλαία!",
|
||||||
|
"stringSpecialCharacters":"Αυτή η συμβολοσειρά δεν επιτρέπεται να περιέχει ειδικούς χαρακτήρες! (a-z, 0-9 & κενό μόνο)",
|
||||||
|
"stringNoSpaces":"Αυτή η συμβολοσειρά δεν επιτρέπεται να περιέχει κενά!",
|
||||||
|
"stringCapitalWord":"Συνιστάται κάθε λέξη σε αυτήν τη συμβολοσειρά να ξεκινά με κεφαλαίο γράμμα!",
|
||||||
|
"stringCapitalSentence":"Φαίνεται ότι ορισμένες προτάσεις σε αυτήν τη συμβολοσειρά δεν ξεκινούν με κεφαλαίο γράμμα!",
|
||||||
|
"stringPunctuation":"Φαίνεται ότι η πρόταση σε αυτήν τη συμβολοσειρά δεν τελειώνει με σημείο στίξης!",
|
||||||
|
|
||||||
"numberTooShort":"Αυτός ο αριθμός δεν μπορεί να είναι μικρότερος από {0} ψηφία!",
|
"numberTooShort":"Αυτός ο αριθμός δεν μπορεί να είναι μικρότερος από {0} ψηφία!",
|
||||||
"numberTooLong":"Αυτός ο αριθμός δεν μπορεί να είναι μεγαλύτερος από {0} ψηφία!",
|
"numberTooLong":"Αυτός ο αριθμός δεν μπορεί να είναι μεγαλύτερος από {0} ψηφία!",
|
||||||
@@ -48,6 +56,8 @@
|
|||||||
"numberNegative":"Αυτός ο αριθμός δεν μπορεί να είναι αρνητικός!",
|
"numberNegative":"Αυτός ο αριθμός δεν μπορεί να είναι αρνητικός!",
|
||||||
"numberPositive":"Αυτός ο αριθμός δεν μπορεί να είναι θετικός!",
|
"numberPositive":"Αυτός ο αριθμός δεν μπορεί να είναι θετικός!",
|
||||||
"numberZero":"Αυτός ο αριθμός δεν μπορεί να είναι μηδέν!",
|
"numberZero":"Αυτός ο αριθμός δεν μπορεί να είναι μηδέν!",
|
||||||
|
"numberNan":"Αυτός ο αριθμός δεν μπορεί να είναι NaN (Not A Number)!",
|
||||||
|
"numberInvertedContains":"Αυτός ο αριθμός δεν επιτρέπεται να περιέχει {0}!",
|
||||||
|
|
||||||
"booleanTrue":"Αυτό το boolean δεν μπορεί να είναι true!",
|
"booleanTrue":"Αυτό το boolean δεν μπορεί να είναι true!",
|
||||||
"booleanFalse":"Αυτό το boolean δεν μπορεί να είναι false!",
|
"booleanFalse":"Αυτό το boolean δεν μπορεί να είναι false!",
|
||||||
@@ -89,7 +99,8 @@
|
|||||||
"invalidButton":"Αυτό το κουμπί πρέπει να έχει τουλάχιστον ένα {0} ή {1}!",
|
"invalidButton":"Αυτό το κουμπί πρέπει να έχει τουλάχιστον ένα {0} ή {1}!",
|
||||||
"unusedOption":"Η επιλογή {0} δεν χρησιμοποιείται πουθενά!",
|
"unusedOption":"Η επιλογή {0} δεν χρησιμοποιείται πουθενά!",
|
||||||
"unusedQuestion":"Η ερώτηση {0} δεν χρησιμοποιείται πουθενά!",
|
"unusedQuestion":"Η ερώτηση {0} δεν χρησιμοποιείται πουθενά!",
|
||||||
"dropdownOption":"Ένα πάνελ με ενεργοποιημένο dropdown μπορεί να περιέχει μόνο επιλογές τύπου 'ticket'!"
|
"dropdownOption":"Ένα πάνελ με ενεργοποιημένο dropdown μπορεί να περιέχει μόνο επιλογές τύπου 'ticket'!",
|
||||||
|
"customInvalidVersion":"Η έκδοση που καθορίστηκε στο config σας δεν ταιριάζει! Βεβαιωθείτε ότι έχετε ενημερώσει το config στην πιο πρόσφατη έκδοση!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
@@ -132,6 +143,7 @@
|
|||||||
"blacklistAddDm":"Προστέθηκε στη Μαύρη Λίστα",
|
"blacklistAddDm":"Προστέθηκε στη Μαύρη Λίστα",
|
||||||
"blacklistRemoveDm":"Αφαιρέθηκε από τη Μαύρη Λίστα",
|
"blacklistRemoveDm":"Αφαιρέθηκε από τη Μαύρη Λίστα",
|
||||||
"clear":"Εισιτήρια Διαγράφηκαν",
|
"clear":"Εισιτήρια Διαγράφηκαν",
|
||||||
|
"clearTickets":"Εκκαθάριση Tickets",
|
||||||
"roles":"Ενημέρωση Ρόλων",
|
"roles":"Ενημέρωση Ρόλων",
|
||||||
|
|
||||||
"autoclose":"Αυτόματο Κλείσιμο",
|
"autoclose":"Αυτόματο Κλείσιμο",
|
||||||
@@ -139,7 +151,12 @@
|
|||||||
"autocloseDisabled":"Απενεργοποιήθηκε Αυτόματο Κλείσιμο",
|
"autocloseDisabled":"Απενεργοποιήθηκε Αυτόματο Κλείσιμο",
|
||||||
"autodelete":"Αυτόματη Διαγραφή",
|
"autodelete":"Αυτόματη Διαγραφή",
|
||||||
"autodeleteEnabled":"Ενεργοποιήθηκε Αυτόματη Διαγραφή",
|
"autodeleteEnabled":"Ενεργοποιήθηκε Αυτόματη Διαγραφή",
|
||||||
"autodeleteDisabled":"Απενεργοποιήθηκε Αυτόματη Διαγραφή"
|
"autodeleteDisabled":"Απενεργοποιήθηκε Αυτόματη Διαγραφή",
|
||||||
|
|
||||||
|
"topicSet":"Το Θέμα Αλλάχθηκε",
|
||||||
|
"prioritySet":"Η Προτεραιότητα Αλλάχθηκε",
|
||||||
|
"priorityGet":"Προτεραιότητα Ticket",
|
||||||
|
"transfer":"Το Ticket Μεταφέρθηκε"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create":"Το εισιτήριό σας δημιουργήθηκε. Κάντε κλικ στο παρακάτω κουμπί για να το προσπελάσετε!",
|
"create":"Το εισιτήριό σας δημιουργήθηκε. Κάντε κλικ στο παρακάτω κουμπί για να το προσπελάσετε!",
|
||||||
@@ -180,7 +197,12 @@
|
|||||||
"ticketMessageLimit":"Μπορείτε να δημιουργήσετε μόνο {0} εισιτήρια ταυτόχρονα!",
|
"ticketMessageLimit":"Μπορείτε να δημιουργήσετε μόνο {0} εισιτήρια ταυτόχρονα!",
|
||||||
"ticketMessageAutoclose":"Αυτό το εισιτήριο θα κλείσει αυτόματα όταν είναι ανενεργό για {0} ώρες!",
|
"ticketMessageAutoclose":"Αυτό το εισιτήριο θα κλείσει αυτόματα όταν είναι ανενεργό για {0} ώρες!",
|
||||||
"ticketMessageAutodelete":"Αυτό το εισιτήριο θα διαγραφεί αυτόματα όταν είναι ανενεργό για {0} ημέρες!",
|
"ticketMessageAutodelete":"Αυτό το εισιτήριο θα διαγραφεί αυτόματα όταν είναι ανενεργό για {0} ημέρες!",
|
||||||
"panelReady":"Μπορείτε να βρείτε το πάνελ παρακάτω!\nΑυτό το μήνυμα μπορεί τώρα να διαγραφεί!"
|
"panelReady":"Το πάνελ είναι διαθέσιμο στο επόμενο μήνυμα!\nΑυτό το μήνυμα μπορεί τώρα να διαγραφεί!",
|
||||||
|
|
||||||
|
"topicSet":"Το θέμα του καναλιού άλλαξε επιτυχώς από τον/την {0}!",
|
||||||
|
"prioritySet":"Η προτεραιότητα του ticket άλλαξε σε {0} από τον/την {1} επιτυχώς!",
|
||||||
|
"priorityGet":"Η τρέχουσα προτεραιότητα αυτού του ticket είναι {0}.",
|
||||||
|
"transfer":"Η ιδιοκτησία του ticket μεταφέρθηκε από τον/την {0} στον/στην {1} από τον/την {2} επιτυχώς!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder":"Γιατί έκλεισες αυτό το εισιτήριο;",
|
"closePlaceholder":"Γιατί έκλεισες αυτό το εισιτήριο;",
|
||||||
@@ -220,7 +242,14 @@
|
|||||||
"blacklistRemoveLog":"Ο {0} αφαιρέθηκε από τη μαύρη λίστα από τον {1}!",
|
"blacklistRemoveLog":"Ο {0} αφαιρέθηκε από τη μαύρη λίστα από τον {1}!",
|
||||||
"blacklistAddDm":"Έχετε προστεθεί στη μαύρη λίστα στον server μας!\nΑπό τώρα, δεν μπορείτε να δημιουργήσετε εισιτήριο!",
|
"blacklistAddDm":"Έχετε προστεθεί στη μαύρη λίστα στον server μας!\nΑπό τώρα, δεν μπορείτε να δημιουργήσετε εισιτήριο!",
|
||||||
"blacklistRemoveDm":"Έχετε αφαιρεθεί από τη μαύρη λίστα στον server μας!\nΤώρα μπορείτε να δημιουργήσετε εισιτήρια ξανά!",
|
"blacklistRemoveDm":"Έχετε αφαιρεθεί από τη μαύρη λίστα στον server μας!\nΤώρα μπορείτε να δημιουργήσετε εισιτήρια ξανά!",
|
||||||
"clearLog":"{0} εισιτήρια διαγράφηκαν από τον {1}!"
|
"clearLog":"{0} εισιτήρια διαγράφηκαν από τον {1}!",
|
||||||
|
|
||||||
|
"transferLog":"Η ιδιοκτησία αυτού του ticket μεταφέρθηκε από τον/την {0} στον/στην {1} από τον/την {2}!",
|
||||||
|
"transferDm":"Η ιδιοκτησία του ticket σας μεταφέρθηκε από τον/την {0} στον/στην {1} στον server μας!",
|
||||||
|
"prioritySetLog":"Η προτεραιότητα αυτού του ticket άλλαξε σε {0} από τον/την {1}!",
|
||||||
|
"prioritySetDm":"Η προτεραιότητα του ticket σας άλλαξε σε {0} στον server μας!",
|
||||||
|
"roleUpdateLog":"Ο/Η {0} ενημέρωσε τους ρόλους του/της!",
|
||||||
|
"roleUpdateDm":"Οι ρόλοι σας στον server μας έχουν ενημερωθεί!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
@@ -241,7 +270,19 @@
|
|||||||
"retry":"Επανάληψη",
|
"retry":"Επανάληψη",
|
||||||
"continue":"Διαγραφή Χωρίς Αντίγραφο",
|
"continue":"Διαγραφή Χωρίς Αντίγραφο",
|
||||||
"backup":"Δημιουργία Αντιγράφου Ασφαλείας",
|
"backup":"Δημιουργία Αντιγράφου Ασφαλείας",
|
||||||
"error":"Κάτι πήγε στραβά κατά τη δημιουργία του αντιγράφου.\nΤι θα θέλατε να κάνετε;\n\nΑυτό το εισιτήριο δεν θα διαγραφεί μέχρι να κάνετε κλικ σε ένα από αυτά τα κουμπιά."
|
"error":"Κάτι πήγε στραβά κατά τη δημιουργία του αντιγράφου.\nΤι θα θέλατε να κάνετε;\n\nΑυτό το εισιτήριο δεν θα διαγραφεί μέχρι να κάνετε κλικ σε ένα από αυτά τα κουμπιά.",
|
||||||
|
"title":"Σφάλμα Transcript"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"ΜΗΝΥΜΑΤΑ",
|
||||||
|
"embedTitle":"EMBED",
|
||||||
|
"fileTitle":"ΑΡΧΕΙΟ",
|
||||||
|
"fieldsTitle":"ΠΕΔΙΑ",
|
||||||
|
"reactionsTitle":"ΑΝΤΙΔΡΑΣΕΙΣ",
|
||||||
|
"statsTitle":"ΣΤΑΤΙΣΤΙΚΑ",
|
||||||
|
"emptyContent":"<το περιεχόμενο είναι κενό>",
|
||||||
|
"noTitle":"<χωρίς τίτλο>",
|
||||||
|
"noDesc":"<χωρίς περιγραφή>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
@@ -257,7 +298,8 @@
|
|||||||
"unknownPanel":"Άγνωστο Πάνελ",
|
"unknownPanel":"Άγνωστο Πάνελ",
|
||||||
"notInGuild":"Δεν Είστε σε Server",
|
"notInGuild":"Δεν Είστε σε Server",
|
||||||
"channelRename":"Αδυναμία Μετονομασίας Κανάλι",
|
"channelRename":"Αδυναμία Μετονομασίας Κανάλι",
|
||||||
"busy":"Το Εισιτήριο Είναι Απασχολημένο"
|
"busy":"Το Εισιτήριο Είναι Απασχολημένο",
|
||||||
|
"permissionError":"Σφάλμα Δικαιωμάτων"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo":"Επικοινωνήστε με τον ιδιοκτήτη αυτού του bot για περισσότερες πληροφορίες!",
|
"askForInfo":"Επικοινωνήστε με τον ιδιοκτήτη αυτού του bot για περισσότερες πληροφορίες!",
|
||||||
@@ -280,7 +322,10 @@
|
|||||||
"notInGuild":"Αυτό το {0} δεν λειτουργεί σε DM! Παρακαλώ δοκιμάστε ξανά σε έναν server!",
|
"notInGuild":"Αυτό το {0} δεν λειτουργεί σε DM! Παρακαλώ δοκιμάστε ξανά σε έναν server!",
|
||||||
"channelRename":"Λόγω discord ratelimits, είναι αδύνατο για το bot να μετονομάσει το κανάλι. Το κανάλι θα μετονομαστεί αυτόματα σε 10 λεπτά αν το bot δεν επανεκκινηθεί.",
|
"channelRename":"Λόγω discord ratelimits, είναι αδύνατο για το bot να μετονομάσει το κανάλι. Το κανάλι θα μετονομαστεί αυτόματα σε 10 λεπτά αν το bot δεν επανεκκινηθεί.",
|
||||||
"channelRenameSource":"Η πηγή αυτού του σφάλματος είναι: {0}",
|
"channelRenameSource":"Η πηγή αυτού του σφάλματος είναι: {0}",
|
||||||
"busy":"Αδυναμία χρήσης αυτού του {0}!\nΤο εισιτήριο είναι αυτή τη στιγμή σε επεξεργασία από το bot.\n\nΠαρακαλώ δοκιμάστε ξανά σε λίγα δευτερόλεπτα!"
|
"busy":"Αδυναμία χρήσης αυτού του {0}!\nΤο εισιτήριο είναι αυτή τη στιγμή σε επεξεργασία από το bot.\n\nΠαρακαλώ δοκιμάστε ξανά σε λίγα δευτερόλεπτα!",
|
||||||
|
"closeBeforeMessage":"Αυτό το ticket δεν μπορεί να κλείσει/διαγραφεί πριν σταλεί ένα μήνυμα από έναν χρήστη.",
|
||||||
|
"closeBeforeAdminMessage":"Αυτό το ticket δεν μπορεί να κλείσει/διαγραφεί πριν σταλεί μήνυμα από έναν ticket admin ή μέλος υποστήριξης.",
|
||||||
|
"unableToCreateTicket":"Δεν μπορείτε να δημιουργήσετε ticket."
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex":"Η τιμή δεν ταιριάζει με το μοτίβο!",
|
"stringRegex":"Η τιμή δεν ταιριάζει με το μοτίβο!",
|
||||||
@@ -331,7 +376,6 @@
|
|||||||
"added":"Προστέθηκε",
|
"added":"Προστέθηκε",
|
||||||
"removed":"Αφαιρέθηκε",
|
"removed":"Αφαιρέθηκε",
|
||||||
"filter":"Φίλτρο",
|
"filter":"Φίλτρο",
|
||||||
"claimedBy":"Αναλήφθηκε Από {0}",
|
|
||||||
"method":"Μέθοδος",
|
"method":"Μέθοδος",
|
||||||
"type":"Τύπος",
|
"type":"Τύπος",
|
||||||
"blacklisted":"Στη Μαύρη Λίστα",
|
"blacklisted":"Στη Μαύρη Λίστα",
|
||||||
@@ -355,7 +399,27 @@
|
|||||||
"status":"Κατάσταση",
|
"status":"Κατάσταση",
|
||||||
"claimed":"Αναληφθείς",
|
"claimed":"Αναληφθείς",
|
||||||
"pinned":"Καρφιτσωμένο",
|
"pinned":"Καρφιτσωμένο",
|
||||||
"creationDate":"Ημερομηνία Δημιουργίας"
|
"creationDate":"Ημερομηνία Δημιουργίας",
|
||||||
|
|
||||||
|
"noone":"Κανείς",
|
||||||
|
"open":"Ανοιχτό",
|
||||||
|
"closed":"Κλειστό",
|
||||||
|
"priority":"Προτεραιότητα",
|
||||||
|
"participants":"Συμμετέχοντες",
|
||||||
|
"yes":"Ναι",
|
||||||
|
"no":"Όχι",
|
||||||
|
"option":"Επιλογή",
|
||||||
|
"topic":"Θέμα",
|
||||||
|
"uptime":"Χρόνος Λειτουργίας Συστήματος",
|
||||||
|
"messages":"Μηνύματα",
|
||||||
|
"embeds":"Embeds",
|
||||||
|
"files":"Αρχεία",
|
||||||
|
"components":"Στοιχεία",
|
||||||
|
"cooldown":"Χρόνος Αναμονής",
|
||||||
|
"maxTickets":"Μέγιστος Αριθμός Tickets",
|
||||||
|
"admins":"Διαχειριστές",
|
||||||
|
"roles":"Ρόλοι",
|
||||||
|
"size":"Μέγεθος"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text":"κείμενο",
|
"text":"κείμενο",
|
||||||
@@ -373,106 +437,172 @@
|
|||||||
"panel":"Εμφάνιση μηνύματος με πτυσσόμενο μενού ή κουμπιά (για δημιουργία εισιτηρίου).",
|
"panel":"Εμφάνιση μηνύματος με πτυσσόμενο μενού ή κουμπιά (για δημιουργία εισιτηρίου).",
|
||||||
"panelId":"Το αναγνωριστικό του πάνελ που θέλετε να εμφανίσετε.",
|
"panelId":"Το αναγνωριστικό του πάνελ που θέλετε να εμφανίσετε.",
|
||||||
"panelAutoUpdate":"Θέλετε αυτό το πάνελ να ενημερώνεται αυτόματα όταν επεξεργαστεί;",
|
"panelAutoUpdate":"Θέλετε αυτό το πάνελ να ενημερώνεται αυτόματα όταν επεξεργαστεί;",
|
||||||
"ticket": "Δημιουργία εισιτηρίου αμέσως.",
|
"ticket":"Δημιουργία εισιτηρίου αμέσως.",
|
||||||
"ticketId": "Το αναγνωριστικό του εισιτηρίου που θέλετε να δημιουργήσετε.",
|
"ticketId":"Το αναγνωριστικό του εισιτηρίου που θέλετε να δημιουργήσετε.",
|
||||||
"close": "Κλείσιμο εισιτηρίου.",
|
"close":"Κλείσιμο εισιτηρίου.",
|
||||||
"delete": "Διαγραφή εισιτηρίου.",
|
"delete":"Διαγραφή εισιτηρίου.",
|
||||||
"deleteNoTranscript": "Διαγραφή αυτού του εισιτηρίου χωρίς δημιουργία μεταγραφής.",
|
"deleteNoTranscript":"Διαγραφή αυτού του εισιτηρίου χωρίς δημιουργία μεταγραφής.",
|
||||||
"reopen": "Επαναφορά εισιτηρίου.",
|
"reopen":"Επαναφορά εισιτηρίου.",
|
||||||
"claim": "Αιτηματοποίηση εισιτηρίου.",
|
"claim":"Αιτηματοποίηση εισιτηρίου.",
|
||||||
"claimUser": "Αιτηματοποίηση αυτού του εισιτηρίου σε κάποιον άλλον αντί για εσάς.",
|
"claimUser":"Αιτηματοποίηση αυτού του εισιτηρίου σε κάποιον άλλον αντί για εσάς.",
|
||||||
"unclaim": "Ακύρωση αιτηματοποίησης εισιτηρίου.",
|
"unclaim":"Ακύρωση αιτηματοποίησης εισιτηρίου.",
|
||||||
"pin": "Καρφίτσωμα εισιτηρίου.",
|
"pin":"Καρφίτσωμα εισιτηρίου.",
|
||||||
"unpin": "Ξεκαρφίτσωμα εισιτηρίου.",
|
"unpin":"Ξεκαρφίτσωμα εισιτηρίου.",
|
||||||
"move": "Μετακίνηση εισιτηρίου.",
|
|
||||||
"moveId": "Το αναγνωριστικό της επιλογής στην οποία θέλετε να μετακινήσετε.",
|
"move":"Μετακίνηση εισιτηρίου.",
|
||||||
"rename": "Μετονομασία εισιτηρίου.",
|
"moveId":"Το αναγνωριστικό της επιλογής στην οποία θέλετε να μετακινήσετε.",
|
||||||
"renameName": "Το νέο όνομα για αυτό το εισιτήριο.",
|
"rename":"Μετονομασία εισιτηρίου.",
|
||||||
"add": "Προσθήκη χρήστη σε εισιτήριο.",
|
"renameName":"Το νέο όνομα για αυτό το εισιτήριο.",
|
||||||
"addUser": "Ο χρήστης που θα προστεθεί.",
|
"add":"Προσθήκη χρήστη σε εισιτήριο.",
|
||||||
"remove": "Αφαίρεση χρήστη από εισιτήριο.",
|
"addUser":"Ο χρήστης που θα προστεθεί.",
|
||||||
"removeUser": "Ο χρήστης που θα αφαιρεθεί.",
|
"remove":"Αφαίρεση χρήστη από εισιτήριο.",
|
||||||
"blacklist": "Διαχείριση μαύρης λίστας εισιτηρίων.",
|
"removeUser":"Ο χρήστης που θα αφαιρεθεί.",
|
||||||
"blacklistView": "Προβολή λίστας της τρέχουσας μαύρης λίστας.",
|
|
||||||
"blacklistAdd": "Προσθήκη χρήστη στη μαύρη λίστα.",
|
"blacklist":"Διαχείριση μαύρης λίστας εισιτηρίων.",
|
||||||
"blacklistRemove": "Αφαίρεση χρήστη από τη μαύρη λίστα.",
|
"blacklistView":"Προβολή λίστας της τρέχουσας μαύρης λίστας.",
|
||||||
"blacklistGet": "Λήψη λεπτομερειών από έναν χρήστη στη μαύρη λίστα.",
|
"blacklistAdd":"Προσθήκη χρήστη στη μαύρη λίστα.",
|
||||||
"blacklistGetUser": "Ο χρήστης από τον οποίο θα ληφθούν λεπτομέρειες.",
|
"blacklistRemove":"Αφαίρεση χρήστη από τη μαύρη λίστα.",
|
||||||
"stats": "Προβολή στατιστικών από το bot, ένα μέλος ή ένα εισιτήριο.",
|
"blacklistGet":"Λήψη λεπτομερειών από έναν χρήστη στη μαύρη λίστα.",
|
||||||
"statsReset": "Επαναφορά όλων των στατιστικών του bot (και έναρξη καταμέτρησης από το μηδέν).",
|
"blacklistGetUser":"Ο χρήστης από τον οποίο θα ληφθούν λεπτομέρειες.",
|
||||||
"statsGlobal": "Προβολή παγκόσμιων στατιστικών.",
|
"stats":"Προβολή στατιστικών από το bot, ένα μέλος ή ένα εισιτήριο.",
|
||||||
"statsUser": "Προβολή στατιστικών ενός χρήστη στον server.",
|
"statsReset":"Επαναφορά όλων των στατιστικών του bot (και έναρξη καταμέτρησης από το μηδέν).",
|
||||||
"statsUserUser": "Ο χρήστης που θα προβληθεί.",
|
"statsGlobal":"Προβολή παγκόσμιων στατιστικών.",
|
||||||
"statsTicket": "Προβολή στατιστικών ενός εισιτηρίου στον server.",
|
"statsUser":"Προβολή στατιστικών ενός χρήστη στον server.",
|
||||||
"statsTicketTicket": "Το εισιτήριο που θα προβληθεί.",
|
"statsUserUser":"Ο χρήστης που θα προβληθεί.",
|
||||||
"clear": "Διαγραφή πολλαπλών εισιτηρίων ταυτόχρονα.",
|
"statsTicket":"Προβολή στατιστικών ενός εισιτηρίου στον server.",
|
||||||
"clearFilter": "Το φίλτρο για την εκκαθάριση εισιτηρίων.",
|
"statsTicketTicket":"Το εισιτήριο που θα προβληθεί.",
|
||||||
"clearFilters": {
|
|
||||||
"all": "Όλα",
|
"clear":"Διαγραφή πολλαπλών εισιτηρίων ταυτόχρονα.",
|
||||||
"open": "Ανοιχτά",
|
"clearFilter":"Το φίλτρο για την εκκαθάριση εισιτηρίων.",
|
||||||
"close": "Κλειστά",
|
"clearFilters":{
|
||||||
"claim": "Αιτηματοποιημένα",
|
"all":"Όλα",
|
||||||
"unclaim": "Μη αιτηματοποιημένα",
|
"open":"Ανοιχτά",
|
||||||
"pin": "Καρφιτσωμένα",
|
"close":"Κλειστά",
|
||||||
"unpin": "Μη καρφιτσωμένα",
|
"claim":"Αιτηματοποιημένα",
|
||||||
"autoclose": "Αυτόματα κλειστά"
|
"unclaim":"Μη αιτηματοποιημένα",
|
||||||
|
"pin":"Καρφιτσωμένα",
|
||||||
|
"unpin":"Μη καρφιτσωμένα",
|
||||||
|
"autoclose":"Αυτόματα κλειστά"
|
||||||
},
|
},
|
||||||
"autoclose": "Διαχείριση αυτόματου κλεισίματος σε εισιτήριο.",
|
|
||||||
"autocloseDisable": "Απενεργοποίηση αυτόματου κλεισίματος σε αυτό το εισιτήριο.",
|
"autoclose":"Διαχείριση αυτόματου κλεισίματος σε εισιτήριο.",
|
||||||
"autocloseEnable": "Ενεργοποίηση αυτόματου κλεισίματος σε αυτό το εισιτήριο.",
|
"autocloseDisable":"Απενεργοποίηση αυτόματου κλεισίματος σε αυτό το εισιτήριο.",
|
||||||
"autocloseEnableTime": "Ο αριθμός των ωρών που απαιτείται για να κλείσει αυτόματα το εισιτήριο λόγω αδράνειας.",
|
"autocloseEnable":"Ενεργοποίηση αυτόματου κλεισίματος σε αυτό το εισιτήριο.",
|
||||||
"autodelete": "Διαχείριση αυτόματης διαγραφής σε εισιτήριο.",
|
"autocloseEnableTime":"Ο αριθμός των ωρών που απαιτείται για να κλείσει αυτόματα το εισιτήριο λόγω αδράνειας.",
|
||||||
"autodeleteDisable": "Απενεργοποίηση αυτόματης διαγραφής σε αυτό το εισιτήριο.",
|
"autodelete":"Διαχείριση αυτόματης διαγραφής σε εισιτήριο.",
|
||||||
"autodeleteEnable": "Ενεργοποίηση αυτόματης διαγραφής σε αυτό το εισιτήριο.",
|
"autodeleteDisable":"Απενεργοποίηση αυτόματης διαγραφής σε αυτό το εισιτήριο.",
|
||||||
"autodeleteEnableTime": "Ο αριθμός των ημερών που απαιτείται για να διαγραφεί αυτόματα το εισιτήριο λόγω αδράνειας."
|
"autodeleteEnable":"Ενεργοποίηση αυτόματης διαγραφής σε αυτό το εισιτήριο.",
|
||||||
|
"autodeleteEnableTime":"Ο αριθμός των ημερών που απαιτείται για να διαγραφεί αυτόματα το εισιτήριο λόγω αδράνειας.",
|
||||||
|
|
||||||
|
"topic":"Διαχειριστείτε το θέμα του καναλιού ticket.",
|
||||||
|
"topicSet":"Ορίστε το θέμα του καναλιού ticket.",
|
||||||
|
"topicValue":"Το νέο θέμα του καναλιού.",
|
||||||
|
"topicList":"Λάβετε μια λίστα όλων των tickets με το θέμα και τα στατιστικά τους.",
|
||||||
|
"priority":"Διαχειριστείτε την προτεραιότητα του ticket.",
|
||||||
|
"prioritySet":"Ορίστε την προτεραιότητα του ticket.",
|
||||||
|
"priorityValue":"Η προτεραιότητα του καναλιού.",
|
||||||
|
"priorityGet":"Λάβετε την προτεραιότητα του ticket.",
|
||||||
|
"priorityList":"Λάβετε μια λίστα όλων των tickets με την κατάσταση προτεραιότητάς τους.",
|
||||||
|
"transfer":"Μεταφέρετε την ιδιοκτησία του ticket από έναν χρήστη σε άλλον.",
|
||||||
|
"transferUser":"Ο χρήστης στον οποίο θα γίνει η μεταφορά."
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"help": "Λήψη λίστας όλων των διαθέσιμων εντολών.",
|
"help":"Λήψη λίστας όλων των διαθέσιμων εντολών.",
|
||||||
"ticket": "Δημιουργία εισιτηρίου αμέσως.",
|
"ticket":"Δημιουργία εισιτηρίου αμέσως.",
|
||||||
"close": "Κλείσιμο εισιτηρίου, αυτό απενεργοποιεί τη γραφή σε αυτό το κανάλι.",
|
"close":"Κλείσιμο εισιτηρίου, αυτό απενεργοποιεί τη γραφή σε αυτό το κανάλι.",
|
||||||
"delete": "Διαγραφή εισιτηρίου, αυτό δημιουργεί μια μεταγραφή όταν είναι ενεργοποιημένη.",
|
"delete":"Διαγραφή εισιτηρίου, αυτό δημιουργεί μια μεταγραφή όταν είναι ενεργοποιημένη.",
|
||||||
"reopen": "Επαναφορά εισιτηρίου, αυτό ενεργοποιεί ξανά τη γραφή σε αυτό το κανάλι.",
|
"reopen":"Επαναφορά εισιτηρίου, αυτό ενεργοποιεί ξανά τη γραφή σε αυτό το κανάλι.",
|
||||||
"pin": "Καρφίτσωμα εισιτηρίου. Αυτό θα μετακινήσει το εισιτήριο στην κορυφή και θα προσθέσει ένα emoji '📌' στο όνομα.",
|
"pin":"Καρφίτσωμα εισιτηρίου. Αυτό θα μετακινήσει το εισιτήριο στην κορυφή και θα προσθέσει ένα emoji '📌' στο όνομα.",
|
||||||
"unpin": "Ξεκαρφίτσωμα εισιτηρίου. Το εισιτήριο θα παραμείνει στη θέση του αλλά θα χάσει το emoji '📌'.",
|
"unpin":"Ξεκαρφίτσωμα εισιτηρίου. Το εισιτήριο θα παραμείνει στη θέση του αλλά θα χάσει το emoji '📌'.",
|
||||||
"move": "Μετακίνηση εισιτηρίου. Αυτό θα αλλάξει τον τύπο αυτού του εισιτηρίου.",
|
"move":"Μετακίνηση εισιτηρίου. Αυτό θα αλλάξει τον τύπο αυτού του εισιτηρίου.",
|
||||||
"rename": "Μετονομασία εισιτηρίου. Αυτό θα αλλάξει το όνομα του καναλιού αυτού του εισιτηρίου.",
|
"rename":"Μετονομασία εισιτηρίου. Αυτό θα αλλάξει το όνομα του καναλιού αυτού του εισιτηρίου.",
|
||||||
"claim": "Αιτηματοποίηση εισιτηρίου. Με αυτό, μπορείτε να ενημερώσετε την ομάδα σας ότι το χειρίζεστε.",
|
"claim":"Αιτηματοποίηση εισιτηρίου. Με αυτό, μπορείτε να ενημερώσετε την ομάδα σας ότι το χειρίζεστε.",
|
||||||
"unclaim": "Ακύρωση αιτηματοποίησης εισιτηρίου. Με αυτό, μπορείτε να ενημερώσετε την ομάδα σας ότι το εισιτήριο είναι ελεύθερο ξανά.",
|
"unclaim":"Ακύρωση αιτηματοποίησης εισιτηρίου. Με αυτό, μπορείτε να ενημερώσετε την ομάδα σας ότι το εισιτήριο είναι ελεύθερο ξανά.",
|
||||||
"add": "Προσθήκη χρήστη σε εισιτήριο. Αυτό θα επιτρέψει στον χρήστη να διαβάζει και να γράφει σε αυτό το εισιτήριο.",
|
"add":"Προσθήκη χρήστη σε εισιτήριο. Αυτό θα επιτρέψει στον χρήστη να διαβάζει και να γράφει σε αυτό το εισιτήριο.",
|
||||||
"remove": "Αφαίρεση χρήστη από εισιτήριο. Αυτό θα αφαιρέσει τη δυνατότητα ανάγνωσης και εγγραφής για έναν χρήστη σε αυτό το εισιτήριο.",
|
"remove":"Αφαίρεση χρήστη από εισιτήριο. Αυτό θα αφαιρέσει τη δυνατότητα ανάγνωσης και εγγραφής για έναν χρήστη σε αυτό το εισιτήριο.",
|
||||||
"panel": "Δημιουργία μηνύματος με αναπτυσσόμενο μενού ή κουμπιά (για δημιουργία εισιτηρίου).",
|
"panel":"Δημιουργία μηνύματος με αναπτυσσόμενο μενού ή κουμπιά (για δημιουργία εισιτηρίου).",
|
||||||
"blacklistView": "Προβολή λίστας της τρέχουσας μαύρης λίστας.",
|
"blacklistView":"Προβολή λίστας της τρέχουσας μαύρης λίστας.",
|
||||||
"blacklistAdd": "Προσθήκη χρήστη στη μαύρη λίστα.",
|
"blacklistAdd":"Προσθήκη χρήστη στη μαύρη λίστα.",
|
||||||
"blacklistRemove": "Αφαίρεση χρήστη από τη μαύρη λίστα.",
|
"blacklistRemove":"Αφαίρεση χρήστη από τη μαύρη λίστα.",
|
||||||
"blacklistGet": "Λήψη λεπτομερειών από έναν χρήστη στη μαύρη λίστα.",
|
"blacklistGet":"Λήψη λεπτομερειών από έναν χρήστη στη μαύρη λίστα.",
|
||||||
"statsGlobal": "Προβολή παγκόσμιων στατιστικών.",
|
"statsGlobal":"Προβολή παγκόσμιων στατιστικών.",
|
||||||
"statsTicket": "Προβολή στατιστικών ενός εισιτηρίου στον server.",
|
"statsTicket":"Προβολή στατιστικών ενός εισιτηρίου στον server.",
|
||||||
"statsUser": "Προβολή στατιστικών ενός χρήστη στον server.",
|
"statsUser":"Προβολή στατιστικών ενός χρήστη στον server.",
|
||||||
"statsReset": "Επαναφορά όλων των στατιστικών του bot (και έναρξη καταμέτρησης από το μηδέν).",
|
"statsReset":"Επαναφορά όλων των στατιστικών του bot (και έναρξη καταμέτρησης από το μηδέν).",
|
||||||
"autocloseDisable": "Απενεργοποίηση αυτόματου κλεισίματος σε αυτό το εισιτήριο.",
|
"autocloseDisable":"Απενεργοποίηση αυτόματου κλεισίματος σε αυτό το εισιτήριο.",
|
||||||
"autocloseEnable": "Ενεργοποίηση αυτόματου κλεισίματος σε αυτό το εισιτήριο.",
|
"autocloseEnable":"Ενεργοποίηση αυτόματου κλεισίματος σε αυτό το εισιτήριο.",
|
||||||
"autodeleteDisable": "Απενεργοποίηση αυτόματης διαγραφής σε αυτό το εισιτήριο.",
|
"autodeleteDisable":"Απενεργοποίηση αυτόματης διαγραφής σε αυτό το εισιτήριο.",
|
||||||
"autodeleteEnable": "Ενεργοποίηση αυτόματης διαγραφής σε αυτό το εισιτήριο."
|
"autodeleteEnable":"Ενεργοποίηση αυτόματης διαγραφής σε αυτό το εισιτήριο.",
|
||||||
|
"categories":{
|
||||||
|
"general":"Γενικές Εντολές",
|
||||||
|
"basicTicket":"Βασικές Εντολές Ticket",
|
||||||
|
"advancedTicket":"Προχωρημένες Εντολές Ticket",
|
||||||
|
"userTicket":"Εντολές Ticket Χρήστη",
|
||||||
|
"admin":"Εντολές Διαχειριστή",
|
||||||
|
"advanced":"Προχωρημένες Εντολές",
|
||||||
|
"extra":"Επιπλέον Εντολές"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes":{
|
"scopes":{
|
||||||
"global": "Παγκόσμια Στατιστικά",
|
"global":"Παγκόσμια Στατιστικά",
|
||||||
"system": "Στατιστικά Συστήματος",
|
"system":"Στατιστικά Συστήματος",
|
||||||
"user": "Στατιστικά Χρήστη",
|
"user":"Στατιστικά Χρήστη",
|
||||||
"ticket": "Στατιστικά Εισιτηρίου",
|
"ticket":"Στατιστικά Εισιτηρίου",
|
||||||
"participants": "Συμμετέχοντες"
|
"participants":"Συμμετέχοντες",
|
||||||
|
"messages":"Μηνύματα"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated": "Εισιτήρια Δημιουργήθηκαν",
|
"ticketsCreated":"Εισιτήρια Δημιουργήθηκαν",
|
||||||
"ticketsClosed": "Εισιτήρια Κλείσαν",
|
"ticketsClosed":"Εισιτήρια Κλείσαν",
|
||||||
"ticketsDeleted": "Εισιτήρια Διαγράφηκαν",
|
"ticketsDeleted":"Εισιτήρια Διαγράφηκαν",
|
||||||
"ticketsReopened": "Εισιτήρια Επαναφέρθηκαν",
|
"ticketsReopened":"Εισιτήρια Επαναφέρθηκαν",
|
||||||
"ticketsAutoclosed": "Εισιτήρια Αυτόματα Κλείσαν",
|
"ticketsAutoclosed":"Εισιτήρια Αυτόματα Κλείσαν",
|
||||||
"ticketsClaimed": "Εισιτήρια Αιτηματοποιήθηκαν",
|
"ticketsClaimed":"Εισιτήρια Αιτηματοποιήθηκαν",
|
||||||
"ticketsPinned": "Εισιτήρια Καρφιτσώθηκαν",
|
"ticketsPinned":"Εισιτήρια Καρφιτσώθηκαν",
|
||||||
"ticketsMoved": "Εισιτήρια Μετακινήθηκαν",
|
"ticketsMoved":"Εισιτήρια Μετακινήθηκαν",
|
||||||
"usersBlacklisted": "Χρήστες στη Μαύρη Λίστα",
|
"usersBlacklisted":"Χρήστες στη Μαύρη Λίστα",
|
||||||
"transcriptsCreated": "Μεταγραφές Δημιουργήθηκαν"
|
"transcriptsCreated":"Μεταγραφές Δημιουργήθηκαν",
|
||||||
|
"ticketsAutodeleted":"Tickets Αυτόματης Διαγραφής",
|
||||||
|
"ticketsTransferred":"Tickets Μεταφερμένα",
|
||||||
|
"ticketVolume":"Όγκος Tickets",
|
||||||
|
"averageTickets":"Μέσος Όρος Tickets/Χρήστη",
|
||||||
|
"currentTickets":"Τρέχοντα Tickets",
|
||||||
|
"age":"Ηλικία Ticket",
|
||||||
|
"responseTime":"Χρόνος Απόκρισης",
|
||||||
|
"resolutionTime":"Χρόνος Επίλυσης",
|
||||||
|
"createdOn":"Δημιουργήθηκε Στις",
|
||||||
|
"createdBy":"Δημιουργήθηκε Από",
|
||||||
|
"closedOn":"Έκλεισε Στις",
|
||||||
|
"closedBy":"Έκλεισε Από",
|
||||||
|
"claimedOn":"Διεκδικήθηκε Στις",
|
||||||
|
"claimedBy":"Διεκδικήθηκε Από",
|
||||||
|
"pinnedOn":"Καρφιτσώθηκε Στις",
|
||||||
|
"pinnedBy":"Καρφιτσώθηκε Από",
|
||||||
|
"deletedOn":"Διαγράφηκε Στις",
|
||||||
|
"deletedBy":"Διαγράφηκε Από"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"Developer",
|
||||||
|
"serverOwner":"Ιδιοκτήτης Server",
|
||||||
|
"serverAdmin":"Διαχειριστής Server",
|
||||||
|
"moderator":"Ομάδα Moderators",
|
||||||
|
"support":"Ομάδα Υποστήριξης",
|
||||||
|
"member":"Μέλος"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"Επιλέξτε το ticket σας",
|
||||||
|
"selectRole":"Επιλέξτε τον ρόλο σας",
|
||||||
|
"selectOption":"Επιλέξτε την επιλογή σας"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"Επείγον",
|
||||||
|
"veryHigh":"Πολύ Υψηλή",
|
||||||
|
"high":"Υψηλή",
|
||||||
|
"normal":"Κανονική",
|
||||||
|
"low":"Χαμηλή",
|
||||||
|
"veryLow":"Πολύ Χαμηλή",
|
||||||
|
"none":"Καμία"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+146
-16
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["an_developer"],
|
"translators":["challenger_nova"],
|
||||||
"lastedited":"14/12/2024",
|
"lastedited":"16/02/2026",
|
||||||
"language":"Hindi",
|
"language":"Hindi",
|
||||||
"automated":false
|
"automated":false
|
||||||
},
|
},
|
||||||
@@ -31,6 +31,14 @@
|
|||||||
"stringContains":"इस स्ट्रिंग में {0} होना आवश्यक है!",
|
"stringContains":"इस स्ट्रिंग में {0} होना आवश्यक है!",
|
||||||
"stringChoices":"यह स्ट्रिंग केवल निम्नलिखित मानों में से एक हो सकती है: {0}!",
|
"stringChoices":"यह स्ट्रिंग केवल निम्नलिखित मानों में से एक हो सकती है: {0}!",
|
||||||
"stringRegex":"यह स्ट्रिंग अमान्य है!",
|
"stringRegex":"यह स्ट्रिंग अमान्य है!",
|
||||||
|
"stringInvertedContains":"इस स्ट्रिंग में {0} शामिल नहीं होना चाहिए!",
|
||||||
|
"stringLowercase":"यह स्ट्रिंग केवल छोटे अक्षरों में लिखी जानी चाहिए!",
|
||||||
|
"stringUppercase":"यह स्ट्रिंग केवल बड़े अक्षरों में लिखी जानी चाहिए!",
|
||||||
|
"stringSpecialCharacters":"इस स्ट्रिंग में कोई विशेष अक्षर नहीं होना चाहिए! (केवल a-z, 0-9 और स्पेस अनुमत हैं)",
|
||||||
|
"stringNoSpaces":"इस स्ट्रिंग में स्पेस नहीं होना चाहिए!",
|
||||||
|
"stringCapitalWord":"यह अनुशंसा की जाती है कि इस स्ट्रिंग के प्रत्येक शब्द की शुरुआत बड़े अक्षर से हो!",
|
||||||
|
"stringCapitalSentence":"ऐसा लगता है कि इस स्ट्रिंग में कुछ वाक्य बड़े अक्षर से शुरू नहीं होते हैं!",
|
||||||
|
"stringPunctuation":"ऐसा लगता है कि इस स्ट्रिंग का वाक्य विराम चिह्न के साथ समाप्त नहीं होता है!",
|
||||||
|
|
||||||
"numberTooShort":"यह संख्या {0} वर्णों से छोटी नहीं हो सकती!",
|
"numberTooShort":"यह संख्या {0} वर्णों से छोटी नहीं हो सकती!",
|
||||||
"numberTooLong":"यह संख्या {0} वर्णों से अधिक लंबी नहीं हो सकती!",
|
"numberTooLong":"यह संख्या {0} वर्णों से अधिक लंबी नहीं हो सकती!",
|
||||||
@@ -48,6 +56,8 @@
|
|||||||
"numberNegative":"यह संख्या ऋणात्मक नहीं हो सकती!",
|
"numberNegative":"यह संख्या ऋणात्मक नहीं हो सकती!",
|
||||||
"numberPositive":"यह संख्या सकारात्मक नहीं हो सकती!",
|
"numberPositive":"यह संख्या सकारात्मक नहीं हो सकती!",
|
||||||
"numberZero":"यह संख्या शून्य नहीं हो सकती!",
|
"numberZero":"यह संख्या शून्य नहीं हो सकती!",
|
||||||
|
"numberNan":"यह संख्या NaN (Not A Number) नहीं हो सकती!",
|
||||||
|
"numberInvertedContains":"इस संख्या में {0} शामिल नहीं होना चाहिए!",
|
||||||
|
|
||||||
"booleanTrue":"यह बूलियन सत्य नहीं हो सकता!",
|
"booleanTrue":"यह बूलियन सत्य नहीं हो सकता!",
|
||||||
"booleanFalse":"यह बूलियन झूठा नहीं हो सकता!",
|
"booleanFalse":"यह बूलियन झूठा नहीं हो सकता!",
|
||||||
@@ -89,7 +99,8 @@
|
|||||||
"invalidButton":"इस बटन पर कम से कम {0} या {1} होना आवश्यक है!",
|
"invalidButton":"इस बटन पर कम से कम {0} या {1} होना आवश्यक है!",
|
||||||
"unusedOption":"विकल्प {0} का उपयोग कहीं भी नहीं किया जाता है!",
|
"unusedOption":"विकल्प {0} का उपयोग कहीं भी नहीं किया जाता है!",
|
||||||
"unusedQuestion":"प्रश्न {0} का प्रयोग कहीं भी नहीं किया गया है!",
|
"unusedQuestion":"प्रश्न {0} का प्रयोग कहीं भी नहीं किया गया है!",
|
||||||
"dropdownOption":"ड्रॉपडाउन सक्षम पैनल में केवल 'टिकट' प्रकार के विकल्प हो सकते हैं!"
|
"dropdownOption":"ड्रॉपडाउन सक्षम पैनल में केवल 'टिकट' प्रकार के विकल्प हो सकते हैं!",
|
||||||
|
"customInvalidVersion":"आपके कॉन्फ़िग में निर्दिष्ट संस्करण मेल नहीं खाता! कृपया सुनिश्चित करें कि आपने कॉन्फ़िग को नवीनतम संस्करण में अपडेट किया है!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
@@ -132,6 +143,7 @@
|
|||||||
"blacklistAddDm":"ब्लैकलिस्ट में जोड़ा गया",
|
"blacklistAddDm":"ब्लैकलिस्ट में जोड़ा गया",
|
||||||
"blacklistRemoveDm":"काली सूची से हटाया गया",
|
"blacklistRemoveDm":"काली सूची से हटाया गया",
|
||||||
"clear":"टिकट साफ़ हो गए",
|
"clear":"टिकट साफ़ हो गए",
|
||||||
|
"clearTickets":"टिकट साफ़ करें",
|
||||||
"roles":"भूमिकाएँ अद्यतन की गईं",
|
"roles":"भूमिकाएँ अद्यतन की गईं",
|
||||||
|
|
||||||
"autoclose":"टिकट स्वतः बंद",
|
"autoclose":"टिकट स्वतः बंद",
|
||||||
@@ -139,7 +151,12 @@
|
|||||||
"autocloseDisabled":"स्वत: बंद अक्षम",
|
"autocloseDisabled":"स्वत: बंद अक्षम",
|
||||||
"autodelete":"टिकट स्वतः हटा दिया गया",
|
"autodelete":"टिकट स्वतः हटा दिया गया",
|
||||||
"autodeleteEnabled":"स्वतः हटाना सक्षम",
|
"autodeleteEnabled":"स्वतः हटाना सक्षम",
|
||||||
"autodeleteDisabled":"स्वतः हटाना अक्षम"
|
"autodeleteDisabled":"स्वतः हटाना अक्षम",
|
||||||
|
|
||||||
|
"topicSet":"विषय बदला गया",
|
||||||
|
"prioritySet":"प्राथमिकता बदली गई",
|
||||||
|
"priorityGet":"टिकट प्राथमिकता",
|
||||||
|
"transfer":"टिकट स्थानांतरित किया गया"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create":"आपका टिकट बन गया है. ",
|
"create":"आपका टिकट बन गया है. ",
|
||||||
@@ -180,7 +197,12 @@
|
|||||||
"ticketMessageLimit":"आप एक ही समय में केवल {0} टिकट बना सकते हैं!",
|
"ticketMessageLimit":"आप एक ही समय में केवल {0} टिकट बना सकते हैं!",
|
||||||
"ticketMessageAutoclose":"{0}घंटे तक निष्क्रिय रहने पर यह टिकट स्वतः बंद हो जाएगा!",
|
"ticketMessageAutoclose":"{0}घंटे तक निष्क्रिय रहने पर यह टिकट स्वतः बंद हो जाएगा!",
|
||||||
"ticketMessageAutodelete":"{0} दिनों तक निष्क्रिय रहने पर यह टिकट स्वतः हटा दिया जाएगा!",
|
"ticketMessageAutodelete":"{0} दिनों तक निष्क्रिय रहने पर यह टिकट स्वतः हटा दिया जाएगा!",
|
||||||
"panelReady":"आप नीचे पैनल पा सकते हैं!\n"
|
"panelReady":"पैनल फॉलोअप संदेश में उपलब्ध है!\nयह संदेश अब हटाया जा सकता है!",
|
||||||
|
|
||||||
|
"topicSet":"चैनल का विषय {0} द्वारा सफलतापूर्वक बदल दिया गया है!",
|
||||||
|
"prioritySet":"टिकट की प्राथमिकता {1} द्वारा {0} में सफलतापूर्वक बदल दी गई है!",
|
||||||
|
"priorityGet":"इस टिकट की वर्तमान प्राथमिकता {0} है।",
|
||||||
|
"transfer":"टिकट का स्वामित्व {0} से {1} में {2} द्वारा सफलतापूर्वक स्थानांतरित कर दिया गया है!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder":"आपने यह टिकट क्यों बंद कर दिया?",
|
"closePlaceholder":"आपने यह टिकट क्यों बंद कर दिया?",
|
||||||
@@ -220,7 +242,14 @@
|
|||||||
"blacklistRemoveLog":"{0} को {1} द्वारा काली सूची से हटा दिया गया था!",
|
"blacklistRemoveLog":"{0} को {1} द्वारा काली सूची से हटा दिया गया था!",
|
||||||
"blacklistAddDm":"आपको हमारे सर्वर में काली सूची में डाल दिया गया है!\n",
|
"blacklistAddDm":"आपको हमारे सर्वर में काली सूची में डाल दिया गया है!\n",
|
||||||
"blacklistRemoveDm":"आपको हमारे सर्वर में ब्लैकलिस्ट से हटा दिया गया है!\n",
|
"blacklistRemoveDm":"आपको हमारे सर्वर में ब्लैकलिस्ट से हटा दिया गया है!\n",
|
||||||
"clearLog":"{0} टिकटें {1} द्वारा हटा दी गई हैं!"
|
"clearLog":"{0} टिकटें {1} द्वारा हटा दी गई हैं!",
|
||||||
|
|
||||||
|
"transferLog":"इस टिकट का स्वामित्व {0} से {1} में {2} द्वारा स्थानांतरित किया गया है!",
|
||||||
|
"transferDm":"आपके टिकट का स्वामित्व हमारे सर्वर में {0} से {1} में स्थानांतरित कर दिया गया है!",
|
||||||
|
"prioritySetLog":"इस टिकट की प्राथमिकता {1} द्वारा {0} में बदल दी गई है!",
|
||||||
|
"prioritySetDm":"आपके टिकट की प्राथमिकता हमारे सर्वर में {0} में बदल दी गई है!",
|
||||||
|
"roleUpdateLog":"{0} ने अपनी भूमिकाएँ अपडेट की हैं!",
|
||||||
|
"roleUpdateDm":"आपकी भूमिकाएँ हमारे सर्वर में अपडेट कर दी गई हैं!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
@@ -241,7 +270,19 @@
|
|||||||
"retry":"पुन: प्रयास करें",
|
"retry":"पुन: प्रयास करें",
|
||||||
"continue":"प्रतिलेख के बिना हटाएँ",
|
"continue":"प्रतिलेख के बिना हटाएँ",
|
||||||
"backup":"बैकअप ट्रांस्क्रिप्ट बनाएं",
|
"backup":"बैकअप ट्रांस्क्रिप्ट बनाएं",
|
||||||
"error":"प्रतिलेख बनाने का प्रयास करते समय कुछ गलत हो गया।\n"
|
"error":"प्रतिलेख बनाने का प्रयास करते समय कुछ गलत हो गया।\n",
|
||||||
|
"title":"ट्रांसक्रिप्ट त्रुटि"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"संदेश",
|
||||||
|
"embedTitle":"एम्बेड",
|
||||||
|
"fileTitle":"फ़ाइल",
|
||||||
|
"fieldsTitle":"फ़ील्ड्स",
|
||||||
|
"reactionsTitle":"प्रतिक्रियाएँ",
|
||||||
|
"statsTitle":"आँकड़े",
|
||||||
|
"emptyContent":"<सामग्री खाली है>",
|
||||||
|
"noTitle":"<कोई शीर्षक नहीं>",
|
||||||
|
"noDesc":"<कोई विवरण नहीं>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
@@ -257,7 +298,8 @@
|
|||||||
"unknownPanel":"अज्ञात पैनल",
|
"unknownPanel":"अज्ञात पैनल",
|
||||||
"notInGuild":"सर्वर में नहीं",
|
"notInGuild":"सर्वर में नहीं",
|
||||||
"channelRename":"चैनल का नाम बदलने में असमर्थ",
|
"channelRename":"चैनल का नाम बदलने में असमर्थ",
|
||||||
"busy":"टिकट व्यस्त है"
|
"busy":"टिकट व्यस्त है",
|
||||||
|
"permissionError":"अनुमति त्रुटि"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo":"अधिक जानकारी के लिए इस बॉट के मालिक से संपर्क करें!",
|
"askForInfo":"अधिक जानकारी के लिए इस बॉट के मालिक से संपर्क करें!",
|
||||||
@@ -280,7 +322,10 @@
|
|||||||
"notInGuild":"यह {0} डीएम में काम नहीं करता! ",
|
"notInGuild":"यह {0} डीएम में काम नहीं करता! ",
|
||||||
"channelRename":"विवाद की दर सीमा के कारण, वर्तमान में बॉट के लिए चैनल का नाम बदलना असंभव है। ",
|
"channelRename":"विवाद की दर सीमा के कारण, वर्तमान में बॉट के लिए चैनल का नाम बदलना असंभव है। ",
|
||||||
"channelRenameSource":"इस त्रुटि का स्रोत है: {0}",
|
"channelRenameSource":"इस त्रुटि का स्रोत है: {0}",
|
||||||
"busy":"इस {0} का उपयोग करने में असमर्थ!\n"
|
"busy":"इस {0} का उपयोग करने में असमर्थ!\n",
|
||||||
|
"closeBeforeMessage":"किसी उपयोगकर्ता द्वारा संदेश भेजे जाने से पहले इस टिकट को बंद/हटाया नहीं जा सकता।",
|
||||||
|
"closeBeforeAdminMessage":"टिकट एडमिन या सपोर्ट सदस्य द्वारा संदेश भेजे जाने से पहले इस टिकट को बंद/हटाया नहीं जा सकता।",
|
||||||
|
"unableToCreateTicket":"आप टिकट बनाने में असमर्थ हैं।"
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex":"मान पैटर्न से मेल नहीं खाता!",
|
"stringRegex":"मान पैटर्न से मेल नहीं खाता!",
|
||||||
@@ -331,7 +376,6 @@
|
|||||||
"added":"जोड़ा",
|
"added":"जोड़ा",
|
||||||
"removed":"निकाला गया",
|
"removed":"निकाला गया",
|
||||||
"filter":"फ़िल्टर",
|
"filter":"फ़िल्टर",
|
||||||
"claimedBy":"{0} द्वारा दावा किया गया",
|
|
||||||
"method":"तरीका",
|
"method":"तरीका",
|
||||||
"type":"प्रकार",
|
"type":"प्रकार",
|
||||||
"blacklisted":"ब्लैक लिस्ट किया",
|
"blacklisted":"ब्लैक लिस्ट किया",
|
||||||
@@ -355,7 +399,27 @@
|
|||||||
"status":"स्थिति",
|
"status":"स्थिति",
|
||||||
"claimed":"दावा किया",
|
"claimed":"दावा किया",
|
||||||
"pinned":"पिन की गई",
|
"pinned":"पिन की गई",
|
||||||
"creationDate":"निर्माण तिथि"
|
"creationDate":"निर्माण तिथि",
|
||||||
|
|
||||||
|
"noone":"कोई नहीं",
|
||||||
|
"open":"खुला",
|
||||||
|
"closed":"बंद",
|
||||||
|
"priority":"प्राथमिकता",
|
||||||
|
"participants":"प्रतिभागी",
|
||||||
|
"yes":"हाँ",
|
||||||
|
"no":"नहीं",
|
||||||
|
"option":"विकल्प",
|
||||||
|
"topic":"विषय",
|
||||||
|
"uptime":"सिस्टम अपटाइम",
|
||||||
|
"messages":"संदेश",
|
||||||
|
"embeds":"एम्बेड्स",
|
||||||
|
"files":"फ़ाइलें",
|
||||||
|
"components":"घटक",
|
||||||
|
"cooldown":"कूलडाउन",
|
||||||
|
"maxTickets":"अधिकतम टिकट",
|
||||||
|
"admins":"एडमिन",
|
||||||
|
"roles":"भूमिकाएँ",
|
||||||
|
"size":"आकार"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text":"मूलपाठ",
|
"text":"मूलपाठ",
|
||||||
@@ -384,6 +448,7 @@
|
|||||||
"unclaim":"टिकट का दावा रद्द करें.",
|
"unclaim":"टिकट का दावा रद्द करें.",
|
||||||
"pin":"टिकट पिन करें.",
|
"pin":"टिकट पिन करें.",
|
||||||
"unpin":"टिकट अनपिन करें.",
|
"unpin":"टिकट अनपिन करें.",
|
||||||
|
|
||||||
"move":"एक टिकट ले जाएँ.",
|
"move":"एक टिकट ले जाएँ.",
|
||||||
"moveId":"उस विकल्प का पहचानकर्ता जिस पर आप जाना चाहते हैं.",
|
"moveId":"उस विकल्प का पहचानकर्ता जिस पर आप जाना चाहते हैं.",
|
||||||
"rename":"टिकट का नाम बदलें.",
|
"rename":"टिकट का नाम बदलें.",
|
||||||
@@ -392,6 +457,7 @@
|
|||||||
"addUser":"उपयोगकर्ता को जोड़ना है.",
|
"addUser":"उपयोगकर्ता को जोड़ना है.",
|
||||||
"remove":"किसी उपयोगकर्ता को टिकट से हटाएँ.",
|
"remove":"किसी उपयोगकर्ता को टिकट से हटाएँ.",
|
||||||
"removeUser":"उपयोगकर्ता को हटाना है.",
|
"removeUser":"उपयोगकर्ता को हटाना है.",
|
||||||
|
|
||||||
"blacklist":"टिकट ब्लैकलिस्ट प्रबंधित करें.",
|
"blacklist":"टिकट ब्लैकलिस्ट प्रबंधित करें.",
|
||||||
"blacklistView":"वर्तमान ब्लैकलिस्ट की सूची देखें.",
|
"blacklistView":"वर्तमान ब्लैकलिस्ट की सूची देखें.",
|
||||||
"blacklistAdd":"किसी उपयोगकर्ता को काली सूची में जोड़ें.",
|
"blacklistAdd":"किसी उपयोगकर्ता को काली सूची में जोड़ें.",
|
||||||
@@ -405,6 +471,7 @@
|
|||||||
"statsUserUser":"देखने के लिए उपयोगकर्ता.",
|
"statsUserUser":"देखने के लिए उपयोगकर्ता.",
|
||||||
"statsTicket":"सर्वर में टिकट के आँकड़े देखें।",
|
"statsTicket":"सर्वर में टिकट के आँकड़े देखें।",
|
||||||
"statsTicketTicket":"देखने के लिए टिकट.",
|
"statsTicketTicket":"देखने के लिए टिकट.",
|
||||||
|
|
||||||
"clear":"एक ही समय में एकाधिक टिकट हटाएँ।",
|
"clear":"एक ही समय में एकाधिक टिकट हटाएँ।",
|
||||||
"clearFilter":"टिकट साफ़ करने के लिए फ़िल्टर.",
|
"clearFilter":"टिकट साफ़ करने के लिए फ़िल्टर.",
|
||||||
"clearFilters":{
|
"clearFilters":{
|
||||||
@@ -417,6 +484,7 @@
|
|||||||
"unpin":"अनपिन किया गया",
|
"unpin":"अनपिन किया गया",
|
||||||
"autoclose":"स्वतः बंद"
|
"autoclose":"स्वतः बंद"
|
||||||
},
|
},
|
||||||
|
|
||||||
"autoclose":"किसी टिकट में ऑटोक्लोज़ प्रबंधित करें.",
|
"autoclose":"किसी टिकट में ऑटोक्लोज़ प्रबंधित करें.",
|
||||||
"autocloseDisable":"इस टिकट में ऑटोक्लोज़ अक्षम करें.",
|
"autocloseDisable":"इस टिकट में ऑटोक्लोज़ अक्षम करें.",
|
||||||
"autocloseEnable":"इस टिकट में ऑटोक्लोज़ सक्षम करें।",
|
"autocloseEnable":"इस टिकट में ऑटोक्लोज़ सक्षम करें।",
|
||||||
@@ -424,7 +492,19 @@
|
|||||||
"autodelete":"किसी टिकट में स्वत: हटाना प्रबंधित करें.",
|
"autodelete":"किसी टिकट में स्वत: हटाना प्रबंधित करें.",
|
||||||
"autodeleteDisable":"इस टिकट में ऑटोडिलीट अक्षम करें।",
|
"autodeleteDisable":"इस टिकट में ऑटोडिलीट अक्षम करें।",
|
||||||
"autodeleteEnable":"इस टिकट में ऑटोडिलीट सक्षम करें।",
|
"autodeleteEnable":"इस टिकट में ऑटोडिलीट सक्षम करें।",
|
||||||
"autodeleteEnableTime":"इस टिकट को हटाने के लिए उतने दिनों की संख्या निष्क्रिय होनी चाहिए।"
|
"autodeleteEnableTime":"इस टिकट को हटाने के लिए उतने दिनों की संख्या निष्क्रिय होनी चाहिए।",
|
||||||
|
|
||||||
|
"topic":"टिकट चैनल के विषय का प्रबंधन करें।",
|
||||||
|
"topicSet":"टिकट चैनल का विषय सेट करें।",
|
||||||
|
"topicValue":"चैनल का नया विषय।",
|
||||||
|
"topicList":"सभी टिकटों की सूची प्राप्त करें जिनके विषय और आँकड़े शामिल हैं।",
|
||||||
|
"priority":"टिकट की प्राथमिकता का प्रबंधन करें।",
|
||||||
|
"prioritySet":"टिकट की प्राथमिकता सेट करें।",
|
||||||
|
"priorityValue":"चैनल की प्राथमिकता।",
|
||||||
|
"priorityGet":"टिकट की प्राथमिकता प्राप्त करें।",
|
||||||
|
"priorityList":"सभी टिकटों की प्राथमिकता स्थिति की सूची प्राप्त करें।",
|
||||||
|
"transfer":"टिकट का स्वामित्व एक उपयोगकर्ता से दूसरे को स्थानांतरित करें।",
|
||||||
|
"transferUser":"जिस उपयोगकर्ता को स्थानांतरित करना है।"
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"help":"सभी उपलब्ध आदेशों की सूची प्राप्त करें.",
|
"help":"सभी उपलब्ध आदेशों की सूची प्राप्त करें.",
|
||||||
@@ -452,7 +532,16 @@
|
|||||||
"autocloseDisable":"इस टिकट में ऑटोक्लोज़ अक्षम करें.",
|
"autocloseDisable":"इस टिकट में ऑटोक्लोज़ अक्षम करें.",
|
||||||
"autocloseEnable":"इस टिकट में ऑटोक्लोज़ सक्षम करें।",
|
"autocloseEnable":"इस टिकट में ऑटोक्लोज़ सक्षम करें।",
|
||||||
"autodeleteDisable":"इस टिकट में ऑटोडिलीट अक्षम करें।",
|
"autodeleteDisable":"इस टिकट में ऑटोडिलीट अक्षम करें।",
|
||||||
"autodeleteEnable":"इस टिकट में ऑटोडिलीट सक्षम करें।"
|
"autodeleteEnable":"इस टिकट में ऑटोडिलीट सक्षम करें।",
|
||||||
|
"categories":{
|
||||||
|
"general":"सामान्य कमांड्स",
|
||||||
|
"basicTicket":"मूल टिकट कमांड्स",
|
||||||
|
"advancedTicket":"उन्नत टिकट कमांड्स",
|
||||||
|
"userTicket":"उपयोगकर्ता टिकट कमांड्स",
|
||||||
|
"admin":"एडमिन कमांड्स",
|
||||||
|
"advanced":"उन्नत कमांड्स",
|
||||||
|
"extra":"अतिरिक्त कमांड्स"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes":{
|
"scopes":{
|
||||||
@@ -460,7 +549,8 @@
|
|||||||
"system":"सिस्टम आँकड़े",
|
"system":"सिस्टम आँकड़े",
|
||||||
"user":"उपयोगकर्ता आँकड़े",
|
"user":"उपयोगकर्ता आँकड़े",
|
||||||
"ticket":"टिकट आँकड़े",
|
"ticket":"टिकट आँकड़े",
|
||||||
"participants":"प्रतिभागियों"
|
"participants":"प्रतिभागियों",
|
||||||
|
"messages":"संदेश"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated":"टिकट बनाये गये",
|
"ticketsCreated":"टिकट बनाये गये",
|
||||||
@@ -472,7 +562,47 @@
|
|||||||
"ticketsPinned":"टिकट पिन किये गये",
|
"ticketsPinned":"टिकट पिन किये गये",
|
||||||
"ticketsMoved":"टिकट ले जाया गया",
|
"ticketsMoved":"टिकट ले जाया गया",
|
||||||
"usersBlacklisted":"उपयोगकर्ता ब्लैकलिस्टेड",
|
"usersBlacklisted":"उपयोगकर्ता ब्लैकलिस्टेड",
|
||||||
"transcriptsCreated":"प्रतिलिपियाँ बनाई गईं"
|
"transcriptsCreated":"प्रतिलिपियाँ बनाई गईं",
|
||||||
|
"ticketsAutodeleted":"टिकट स्वचालित रूप से हटाए गए",
|
||||||
|
"ticketsTransferred":"स्थानांतरित टिकट",
|
||||||
|
"ticketVolume":"टिकट मात्रा",
|
||||||
|
"averageTickets":"औसत टिकट/उपयोगकर्ता",
|
||||||
|
"currentTickets":"वर्तमान टिकट",
|
||||||
|
"age":"टिकट की आयु",
|
||||||
|
"responseTime":"प्रतिक्रिया समय",
|
||||||
|
"resolutionTime":"समाधान समय",
|
||||||
|
"createdOn":"निर्माण तिथि",
|
||||||
|
"createdBy":"द्वारा बनाया गया",
|
||||||
|
"closedOn":"बंद करने की तिथि",
|
||||||
|
"closedBy":"द्वारा बंद किया गया",
|
||||||
|
"claimedOn":"दावा की गई तिथि",
|
||||||
|
"claimedBy":"द्वारा दावा किया गया",
|
||||||
|
"pinnedOn":"पिन की गई तिथि",
|
||||||
|
"pinnedBy":"द्वारा पिन किया गया",
|
||||||
|
"deletedOn":"हटाने की तिथि",
|
||||||
|
"deletedBy":"द्वारा हटाया गया"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"डेवलपर",
|
||||||
|
"serverOwner":"सर्वर स्वामी",
|
||||||
|
"serverAdmin":"सर्वर एडमिन",
|
||||||
|
"moderator":"मॉडरेटर टीम",
|
||||||
|
"support":"सपोर्ट टीम",
|
||||||
|
"member":"सदस्य"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"अपना टिकट चुनें",
|
||||||
|
"selectRole":"अपनी भूमिका चुनें",
|
||||||
|
"selectOption":"अपना विकल्प चुनें"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"अत्यावश्यक",
|
||||||
|
"veryHigh":"बहुत उच्च",
|
||||||
|
"high":"उच्च",
|
||||||
|
"normal":"सामान्य",
|
||||||
|
"low":"निम्न",
|
||||||
|
"veryLow":"बहुत निम्न",
|
||||||
|
"none":"कोई नहीं"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+146
-16
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["Kornel0706"],
|
"translators":["Kornel0706"],
|
||||||
"lastedited":"22/08/2024",
|
"lastedited":"16/02/2026",
|
||||||
"language":"Hungarian",
|
"language":"Hungarian",
|
||||||
"automated":false
|
"automated":false
|
||||||
},
|
},
|
||||||
@@ -31,6 +31,14 @@
|
|||||||
"stringContains":"Ennek a karakterláncnak tartalmaznia kell {0}-t!",
|
"stringContains":"Ennek a karakterláncnak tartalmaznia kell {0}-t!",
|
||||||
"stringChoices":"Ez a karakterlánc csak a következő értékek egyike lehet: {0}!",
|
"stringChoices":"Ez a karakterlánc csak a következő értékek egyike lehet: {0}!",
|
||||||
"stringRegex":"Ez a karakterlánc érvénytelen!",
|
"stringRegex":"Ez a karakterlánc érvénytelen!",
|
||||||
|
"stringInvertedContains":"Ez a szöveg nem tartalmazhatja a(z) {0} elemet!",
|
||||||
|
"stringLowercase":"Ez a szöveg csak kisbetűvel írható!",
|
||||||
|
"stringUppercase":"Ez a szöveg csak nagybetűvel írható!",
|
||||||
|
"stringSpecialCharacters":"Ez a szöveg nem tartalmazhat különleges karaktereket! (csak a-z, 0-9 és szóköz)",
|
||||||
|
"stringNoSpaces":"Ez a szöveg nem tartalmazhat szóközt!",
|
||||||
|
"stringCapitalWord":"Ajánlott, hogy minden szó nagybetűvel kezdődjön!",
|
||||||
|
"stringCapitalSentence":"Úgy tűnik, néhány mondat ebben a szövegben nem nagybetűvel kezdődik!",
|
||||||
|
"stringPunctuation":"Úgy tűnik, ez a mondat nem ponttal vagy más írásjellel végződik!",
|
||||||
|
|
||||||
"numberTooShort":"Ez a szám nem lehet rövidebb, mint {0} karakter!",
|
"numberTooShort":"Ez a szám nem lehet rövidebb, mint {0} karakter!",
|
||||||
"numberTooLong":"Ez a szám nem lehet hosszabb, mint {0} karakter!",
|
"numberTooLong":"Ez a szám nem lehet hosszabb, mint {0} karakter!",
|
||||||
@@ -48,6 +56,8 @@
|
|||||||
"numberNegative":"Ez a szám nem lehet negatív!",
|
"numberNegative":"Ez a szám nem lehet negatív!",
|
||||||
"numberPositive":"Ez a szám nem lehet pozitív!",
|
"numberPositive":"Ez a szám nem lehet pozitív!",
|
||||||
"numberZero":"Ez a szám nem lehet nulla!",
|
"numberZero":"Ez a szám nem lehet nulla!",
|
||||||
|
"numberNan":"Ez a szám nem lehet NaN (Nem szám)!",
|
||||||
|
"numberInvertedContains":"Ez a szám nem tartalmazhatja a(z) {0} elemet!",
|
||||||
|
|
||||||
"booleanTrue":"Ez a logikai érték nem lehet igaz!",
|
"booleanTrue":"Ez a logikai érték nem lehet igaz!",
|
||||||
"booleanFalse":"Ez a logikai érték nem lehet hamis!",
|
"booleanFalse":"Ez a logikai érték nem lehet hamis!",
|
||||||
@@ -89,7 +99,8 @@
|
|||||||
"invalidButton":"Ennek a gombnak legalább egy {0} vagy {1} kell, hogy tartalmazzon!",
|
"invalidButton":"Ennek a gombnak legalább egy {0} vagy {1} kell, hogy tartalmazzon!",
|
||||||
"unusedOption":"Az opció {0} nincs használatban sehol!",
|
"unusedOption":"Az opció {0} nincs használatban sehol!",
|
||||||
"unusedQuestion":"A kérdés {0} nincs használatban sehol!",
|
"unusedQuestion":"A kérdés {0} nincs használatban sehol!",
|
||||||
"dropdownOption":"Egy legördülő menüvel rendelkező panel csak a 'jegy' típusú opciókat tartalmazhat!"
|
"dropdownOption":"Egy legördülő menüvel rendelkező panel csak a 'jegy' típusú opciókat tartalmazhat!",
|
||||||
|
"customInvalidVersion":"A konfigurációban megadott verzió nem egyezik! Győződjön meg róla, hogy a konfiguráció a legfrissebb verzióra van frissítve!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
@@ -132,6 +143,7 @@
|
|||||||
"blacklistAddDm":"Felvéve a tiltólistára",
|
"blacklistAddDm":"Felvéve a tiltólistára",
|
||||||
"blacklistRemoveDm":"Eltávolítva a tiltólistáról",
|
"blacklistRemoveDm":"Eltávolítva a tiltólistáról",
|
||||||
"clear":"Jegyek törölve",
|
"clear":"Jegyek törölve",
|
||||||
|
"clearTickets":"Jegyek törlése",
|
||||||
"roles":"Szerepek frissítve",
|
"roles":"Szerepek frissítve",
|
||||||
|
|
||||||
"autoclose":"Jegy automatikusan bezárva",
|
"autoclose":"Jegy automatikusan bezárva",
|
||||||
@@ -139,7 +151,12 @@
|
|||||||
"autocloseDisabled":"Automatikus bezárás letiltva",
|
"autocloseDisabled":"Automatikus bezárás letiltva",
|
||||||
"autodelete":"Jegy automatikusan törölve",
|
"autodelete":"Jegy automatikusan törölve",
|
||||||
"autodeleteEnabled":"Automatikus törlés engedélyezve",
|
"autodeleteEnabled":"Automatikus törlés engedélyezve",
|
||||||
"autodeleteDisabled":"Automatikus törlés letiltva"
|
"autodeleteDisabled":"Automatikus törlés letiltva",
|
||||||
|
|
||||||
|
"topicSet":"Téma megváltoztatva",
|
||||||
|
"prioritySet":"Prioritás megváltoztatva",
|
||||||
|
"priorityGet":"Jegy prioritása",
|
||||||
|
"transfer":"Jegy átvitele"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create":"A jegyed létrejött. Kattints az alábbi gombra, hogy hozzáférj!",
|
"create":"A jegyed létrejött. Kattints az alábbi gombra, hogy hozzáférj!",
|
||||||
@@ -180,7 +197,12 @@
|
|||||||
"ticketMessageLimit":"Egyszerre csak {0} jegyet hozhatsz létre!",
|
"ticketMessageLimit":"Egyszerre csak {0} jegyet hozhatsz létre!",
|
||||||
"ticketMessageAutoclose":"Ez a jegy automatikusan bezáródik, ha inaktív marad {0}h ideig!",
|
"ticketMessageAutoclose":"Ez a jegy automatikusan bezáródik, ha inaktív marad {0}h ideig!",
|
||||||
"ticketMessageAutodelete":"Ez a jegy automatikusan törlődik, ha inaktív marad {0} nap ideig!",
|
"ticketMessageAutodelete":"Ez a jegy automatikusan törlődik, ha inaktív marad {0} nap ideig!",
|
||||||
"panelReady":"Az alábbi panelben megtalálod!\nEz az üzenet most törölhető!"
|
"panelReady":"A panel elérhető a követő üzenetben!\nEz az üzenet most törölhető!",
|
||||||
|
|
||||||
|
"topicSet":"A csatorna témáját sikeresen megváltoztatta: {0}!",
|
||||||
|
"prioritySet":"A jegy prioritása sikeresen {1}-re változott: {0}!",
|
||||||
|
"priorityGet":"Ennek a jegynek a jelenlegi prioritása: {0}.",
|
||||||
|
"transfer":"A jegy tulajdonjoga sikeresen átkerült {0}-tól {1}-hez {2} által!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder":"Miért zártad be ezt a jegyet?",
|
"closePlaceholder":"Miért zártad be ezt a jegyet?",
|
||||||
@@ -220,7 +242,14 @@
|
|||||||
"blacklistRemoveLog":"{0} eltávolította a tiltólistáról {1}!",
|
"blacklistRemoveLog":"{0} eltávolította a tiltólistáról {1}!",
|
||||||
"blacklistAddDm":"Tiltólistára kerültél a szerverünkön!\nEzentúl nem hozhatsz létre jegyet!",
|
"blacklistAddDm":"Tiltólistára kerültél a szerverünkön!\nEzentúl nem hozhatsz létre jegyet!",
|
||||||
"blacklistRemoveDm":"Eltávolításra kerültél a szerverünk tiltólistájáról!\nMost újra létrehozhatsz jegyeket!",
|
"blacklistRemoveDm":"Eltávolításra kerültél a szerverünk tiltólistájáról!\nMost újra létrehozhatsz jegyeket!",
|
||||||
"clearLog":"{0} jegyek törlésre kerültek {1} által!"
|
"clearLog":"{0} jegyek törlésre kerültek {1} által!",
|
||||||
|
|
||||||
|
"transferLog":"A jegy tulajdonjoga {2} által {0}-ról {1}-re lett átvive!",
|
||||||
|
"transferDm":"A jegy tulajdonjoga át lett helyezve {0}-tól {1}-hez a szerverünkön!",
|
||||||
|
"prioritySetLog":"A jegy prioritása {1} által {0}-re változott!",
|
||||||
|
"prioritySetDm":"A jegy prioritása a szerverünkön {0}-re változott!",
|
||||||
|
"roleUpdateLog":"{0} frissítette a szerepköreit!",
|
||||||
|
"roleUpdateDm":"A szerepköreit frissítették a szerverünkön!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
@@ -241,7 +270,19 @@
|
|||||||
"retry":"Újra",
|
"retry":"Újra",
|
||||||
"continue":"Törlés átirat nélkül",
|
"continue":"Törlés átirat nélkül",
|
||||||
"backup":"Biztonsági átirat létrehozása",
|
"backup":"Biztonsági átirat létrehozása",
|
||||||
"error":"Valami hiba történt az átirat létrehozása közben.\nMit szeretnél tenni?\n\nEz a jegy nem kerül törlésre, amíg nem kattintasz az egyik gombra."
|
"error":"Valami hiba történt az átirat létrehozása közben.\nMit szeretnél tenni?\n\nEz a jegy nem kerül törlésre, amíg nem kattintasz az egyik gombra.",
|
||||||
|
"title":"Átirat hiba"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"ÜZENETEK",
|
||||||
|
"embedTitle":"BEÁGYAZÁS",
|
||||||
|
"fileTitle":"FÁJL",
|
||||||
|
"fieldsTitle":"MEZŐK",
|
||||||
|
"reactionsTitle":"REAKCIÓK",
|
||||||
|
"statsTitle":"STATS",
|
||||||
|
"emptyContent":"<tartalom üres>",
|
||||||
|
"noTitle":"<cím nélkül>",
|
||||||
|
"noDesc":"<leírás nélkül>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
@@ -257,7 +298,8 @@
|
|||||||
"unknownPanel":"Ismeretlen Panel",
|
"unknownPanel":"Ismeretlen Panel",
|
||||||
"notInGuild":"Nem a Szerveren",
|
"notInGuild":"Nem a Szerveren",
|
||||||
"channelRename":"Nem sikerült átnevezni a csatornát",
|
"channelRename":"Nem sikerült átnevezni a csatornát",
|
||||||
"busy":"A Jegy Elfoglalt"
|
"busy":"A Jegy Elfoglalt",
|
||||||
|
"permissionError":"Engedély hiba"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo":"Lépj kapcsolatba a bot tulajdonosával további információkért!",
|
"askForInfo":"Lépj kapcsolatba a bot tulajdonosával további információkért!",
|
||||||
@@ -280,7 +322,10 @@
|
|||||||
"notInGuild":"Ez a {0} nem működik DM-ben! Próbáld újra egy szerveren!",
|
"notInGuild":"Ez a {0} nem működik DM-ben! Próbáld újra egy szerveren!",
|
||||||
"channelRename":"A discord korlátai miatt jelenleg nem lehet átnevezni a csatornát. A csatorna automatikusan átnevezésre kerül 10 perc múlva, ha a bot nincs újraindítva.",
|
"channelRename":"A discord korlátai miatt jelenleg nem lehet átnevezni a csatornát. A csatorna automatikusan átnevezésre kerül 10 perc múlva, ha a bot nincs újraindítva.",
|
||||||
"channelRenameSource":"A hiba forrása: {0}",
|
"channelRenameSource":"A hiba forrása: {0}",
|
||||||
"busy":"Nem lehet használni ezt a {0}-t!\nA jegy jelenleg a bot által van feldolgozás alatt.\n\nPróbáld meg néhány másodperc múlva!"
|
"busy":"Nem lehet használni ezt a {0}-t!\nA jegy jelenleg a bot által van feldolgozás alatt.\n\nPróbáld meg néhány másodperc múlva!",
|
||||||
|
"closeBeforeMessage":"Ezt a jegyet nem lehet lezárni/törölni, amíg egy felhasználó nem küldött üzenetet.",
|
||||||
|
"closeBeforeAdminMessage":"Ezt a jegyet nem lehet lezárni/törölni, amíg a jegy adminja vagy a támogatói csapat tagja nem küldött üzenetet.",
|
||||||
|
"unableToCreateTicket":"Nem tud jegyet létrehozni."
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex":"Az érték nem felel meg a mintának!",
|
"stringRegex":"Az érték nem felel meg a mintának!",
|
||||||
@@ -331,7 +376,6 @@
|
|||||||
"added":"Hozzáadva",
|
"added":"Hozzáadva",
|
||||||
"removed":"Eltávolítva",
|
"removed":"Eltávolítva",
|
||||||
"filter":"Szűrő",
|
"filter":"Szűrő",
|
||||||
"claimedBy":"Igényelte {0}",
|
|
||||||
"method":"Módszer",
|
"method":"Módszer",
|
||||||
"type":"Típus",
|
"type":"Típus",
|
||||||
"blacklisted":"Tiltólistás",
|
"blacklisted":"Tiltólistás",
|
||||||
@@ -352,10 +396,30 @@
|
|||||||
"version":"Verzió",
|
"version":"Verzió",
|
||||||
"name":"Név",
|
"name":"Név",
|
||||||
"role":"Szerep",
|
"role":"Szerep",
|
||||||
"status":"Státusz",
|
"status":"Állapot",
|
||||||
"claimed":"Igényelt",
|
"claimed":"Igényelt",
|
||||||
"pinned":"Rögzített",
|
"pinned":"Rögzített",
|
||||||
"creationDate":"Létrehozás Dátuma"
|
"creationDate":"Létrehozás Dátuma",
|
||||||
|
|
||||||
|
"noone":"Senki",
|
||||||
|
"open":"Nyitott",
|
||||||
|
"closed":"Zárt",
|
||||||
|
"priority":"Prioritás",
|
||||||
|
"participants":"Résztvevők",
|
||||||
|
"yes":"Igen",
|
||||||
|
"no":"Nem",
|
||||||
|
"option":"Opció",
|
||||||
|
"topic":"Téma",
|
||||||
|
"uptime":"Rendszer üzemidő",
|
||||||
|
"messages":"Üzenetek",
|
||||||
|
"embeds":"Beágyazások",
|
||||||
|
"files":"Fájlok",
|
||||||
|
"components":"Komponensek",
|
||||||
|
"cooldown":"Leállási idő",
|
||||||
|
"maxTickets":"Max jegyek",
|
||||||
|
"admins":"Adminok",
|
||||||
|
"roles":"Szerepkörök",
|
||||||
|
"size":"Méret"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text":"szöveg",
|
"text":"szöveg",
|
||||||
@@ -384,6 +448,7 @@
|
|||||||
"unclaim":"Jegy feloldása.",
|
"unclaim":"Jegy feloldása.",
|
||||||
"pin":"Jegy rögzítése.",
|
"pin":"Jegy rögzítése.",
|
||||||
"unpin":"Jegy rögzítésének feloldása.",
|
"unpin":"Jegy rögzítésének feloldása.",
|
||||||
|
|
||||||
"move":"Jegy áthelyezése.",
|
"move":"Jegy áthelyezése.",
|
||||||
"moveId":"Annak a opció az azonosítója, amelyet áthelyezni szeretnél.",
|
"moveId":"Annak a opció az azonosítója, amelyet áthelyezni szeretnél.",
|
||||||
"rename":"Jegy átnevezése.",
|
"rename":"Jegy átnevezése.",
|
||||||
@@ -392,6 +457,7 @@
|
|||||||
"addUser":"A felhasználó, akit hozzá szeretnél adni.",
|
"addUser":"A felhasználó, akit hozzá szeretnél adni.",
|
||||||
"remove":"Felhasználó eltávolítása a jegyből.",
|
"remove":"Felhasználó eltávolítása a jegyből.",
|
||||||
"removeUser":"A felhasználó, akit el szeretnél távolítani.",
|
"removeUser":"A felhasználó, akit el szeretnél távolítani.",
|
||||||
|
|
||||||
"blacklist":"Jegy tiltólista kezelése.",
|
"blacklist":"Jegy tiltólista kezelése.",
|
||||||
"blacklistView":"A jelenlegi tiltólista megtekintése.",
|
"blacklistView":"A jelenlegi tiltólista megtekintése.",
|
||||||
"blacklistAdd":"Felhasználó hozzáadása a tiltólistához.",
|
"blacklistAdd":"Felhasználó hozzáadása a tiltólistához.",
|
||||||
@@ -405,6 +471,7 @@
|
|||||||
"statsUserUser":"A felhasználó, akinek a statisztikáit meg szeretnéd tekinteni.",
|
"statsUserUser":"A felhasználó, akinek a statisztikáit meg szeretnéd tekinteni.",
|
||||||
"statsTicket":"Jegy statisztikáinak megtekintése a szerveren.",
|
"statsTicket":"Jegy statisztikáinak megtekintése a szerveren.",
|
||||||
"statsTicketTicket":"A jegy, amelynek a statisztikáit meg szeretnéd tekinteni.",
|
"statsTicketTicket":"A jegy, amelynek a statisztikáit meg szeretnéd tekinteni.",
|
||||||
|
|
||||||
"clear":"Több jegy egyidejű törlése. Opcionális szűrő adható meg.",
|
"clear":"Több jegy egyidejű törlése. Opcionális szűrő adható meg.",
|
||||||
"clearFilter":"A szűrő a jegyek törléséhez.",
|
"clearFilter":"A szűrő a jegyek törléséhez.",
|
||||||
"clearFilters":{
|
"clearFilters":{
|
||||||
@@ -417,6 +484,7 @@
|
|||||||
"unpin":"Feloldott",
|
"unpin":"Feloldott",
|
||||||
"autoclose":"Automatikusan Bezárt"
|
"autoclose":"Automatikusan Bezárt"
|
||||||
},
|
},
|
||||||
|
|
||||||
"autoclose":"Automatikus bezárás kezelése egy jegyben.",
|
"autoclose":"Automatikus bezárás kezelése egy jegyben.",
|
||||||
"autocloseDisable":"Automatikus bezárás letiltása ebben a jegyben.",
|
"autocloseDisable":"Automatikus bezárás letiltása ebben a jegyben.",
|
||||||
"autocloseEnable":"Automatikus bezárás engedélyezése ebben a jegyben.",
|
"autocloseEnable":"Automatikus bezárás engedélyezése ebben a jegyben.",
|
||||||
@@ -424,7 +492,19 @@
|
|||||||
"autodelete":"Automatikus törlés kezelése egy jegyben.",
|
"autodelete":"Automatikus törlés kezelése egy jegyben.",
|
||||||
"autodeleteDisable":"Automatikus törlés letiltása ebben a jegyben.",
|
"autodeleteDisable":"Automatikus törlés letiltása ebben a jegyben.",
|
||||||
"autodeleteEnable":"Automatikus törlés engedélyezése ebben a jegyben.",
|
"autodeleteEnable":"Automatikus törlés engedélyezése ebben a jegyben.",
|
||||||
"autodeleteEnableTime":"A napok száma, amely inaktívvá kell, hogy váljon ez a jegy a törléshez."
|
"autodeleteEnableTime":"A napok száma, amely inaktívvá kell, hogy váljon ez a jegy a törléshez.",
|
||||||
|
|
||||||
|
"topic":"Kezelje a jegy csatorna témáját.",
|
||||||
|
"topicSet":"Állítsa be a jegy csatorna témáját.",
|
||||||
|
"topicValue":"A csatorna új témája.",
|
||||||
|
"topicList":"Az összes jegy listája a témájukkal és statisztikáikkal.",
|
||||||
|
"priority":"Kezelje a jegy prioritását.",
|
||||||
|
"prioritySet":"Állítsa be a jegy prioritását.",
|
||||||
|
"priorityValue":"A csatorna prioritása.",
|
||||||
|
"priorityGet":"Kapja meg a jegy prioritását.",
|
||||||
|
"priorityList":"Az összes jegy listája a prioritásukkal.",
|
||||||
|
"transfer":"Átadja a jegy tulajdonjogát egyik felhasználótól a másikhoz.",
|
||||||
|
"transferUser":"A felhasználó, akinek át kell adni."
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"help":"Parancsok listájának megtekintése.",
|
"help":"Parancsok listájának megtekintése.",
|
||||||
@@ -452,7 +532,16 @@
|
|||||||
"autocloseDisable":"Automatikus bezárás letiltása ebben a jegyben.",
|
"autocloseDisable":"Automatikus bezárás letiltása ebben a jegyben.",
|
||||||
"autocloseEnable":"Automatikus bezárás engedélyezése ebben a jegyben.",
|
"autocloseEnable":"Automatikus bezárás engedélyezése ebben a jegyben.",
|
||||||
"autodeleteDisable":"Automatikus törlés letiltása ebben a jegyben.",
|
"autodeleteDisable":"Automatikus törlés letiltása ebben a jegyben.",
|
||||||
"autodeleteEnable":"Automatikus törlés engedélyezése ebben a jegyben."
|
"autodeleteEnable":"Automatikus törlés engedélyezése ebben a jegyben.",
|
||||||
|
"categories":{
|
||||||
|
"general":"Általános parancsok",
|
||||||
|
"basicTicket":"Alap jegy parancsok",
|
||||||
|
"advancedTicket":"Speciális jegy parancsok",
|
||||||
|
"userTicket":"Felhasználói jegy parancsok",
|
||||||
|
"admin":"Admin parancsok",
|
||||||
|
"advanced":"Speciális parancsok",
|
||||||
|
"extra":"Extra parancsok"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes":{
|
"scopes":{
|
||||||
@@ -460,7 +549,8 @@
|
|||||||
"system":"Rendszer Statisztikák",
|
"system":"Rendszer Statisztikák",
|
||||||
"user":"Felhasználói Statisztikák",
|
"user":"Felhasználói Statisztikák",
|
||||||
"ticket":"Jegy Statisztikák",
|
"ticket":"Jegy Statisztikák",
|
||||||
"participants":"Résztvevők"
|
"participants":"Résztvevők",
|
||||||
|
"messages":"Üzenetek"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated":"Létrehozott Jegyek",
|
"ticketsCreated":"Létrehozott Jegyek",
|
||||||
@@ -472,7 +562,47 @@
|
|||||||
"ticketsPinned":"Rögzített Jegyek",
|
"ticketsPinned":"Rögzített Jegyek",
|
||||||
"ticketsMoved":"Áthelyezett Jegyek",
|
"ticketsMoved":"Áthelyezett Jegyek",
|
||||||
"usersBlacklisted":"Tiltólistás Felhasználók",
|
"usersBlacklisted":"Tiltólistás Felhasználók",
|
||||||
"transcriptsCreated":"Létrehozott Átiratok"
|
"transcriptsCreated":"Létrehozott Átiratok",
|
||||||
|
"ticketsAutodeleted":"Automatikusan törölt jegyek",
|
||||||
|
"ticketsTransferred":"Átadott jegyek",
|
||||||
|
"ticketVolume":"Jegy mennyiség",
|
||||||
|
"averageTickets":"Átlag jegyek/felhasználó",
|
||||||
|
"currentTickets":"Jelenlegi jegyek",
|
||||||
|
"age":"Jegy kora",
|
||||||
|
"responseTime":"Válaszidő",
|
||||||
|
"resolutionTime":"Megoldási idő",
|
||||||
|
"createdOn":"Létrehozva",
|
||||||
|
"createdBy":"Létrehozta",
|
||||||
|
"closedOn":"Lezárva",
|
||||||
|
"closedBy":"Lezárta",
|
||||||
|
"claimedOn":"Átvéve",
|
||||||
|
"claimedBy":"Átvette",
|
||||||
|
"pinnedOn":"Kitűzve",
|
||||||
|
"pinnedBy":"Kitűzte",
|
||||||
|
"deletedOn":"Törölve",
|
||||||
|
"deletedBy":"Törölte"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"Fejlesztő",
|
||||||
|
"serverOwner":"Szerver tulajdonos",
|
||||||
|
"serverAdmin":"Szerver admin",
|
||||||
|
"moderator":"Moderátor csapat",
|
||||||
|
"support":"Támogató csapat",
|
||||||
|
"member":"Tag"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"Válassza ki a jegyét",
|
||||||
|
"selectRole":"Válassza ki a szerepkörét",
|
||||||
|
"selectOption":"Válassza ki a lehetőségét"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"Sürgős",
|
||||||
|
"veryHigh":"Nagyon magas",
|
||||||
|
"high":"Magas",
|
||||||
|
"normal":"Normál",
|
||||||
|
"low":"Alacsony",
|
||||||
|
"veryLow":"Nagyon alacsony",
|
||||||
|
"none":"Nincs"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+147
-17
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["erxg"],
|
"translators":["erxg"],
|
||||||
"lastedited":"25/08/2024",
|
"lastedited":"16/02/2026",
|
||||||
"language":"Indonesian",
|
"language":"Indonesian",
|
||||||
"automated":false
|
"automated":false
|
||||||
},
|
},
|
||||||
@@ -31,6 +31,14 @@
|
|||||||
"stringContains":"String ini harus mengandung {0}!",
|
"stringContains":"String ini harus mengandung {0}!",
|
||||||
"stringChoices":"String ini hanya dapat berupa salah satu dari nilai berikut ini: {0}!",
|
"stringChoices":"String ini hanya dapat berupa salah satu dari nilai berikut ini: {0}!",
|
||||||
"stringRegex":"String ini tidak valid!",
|
"stringRegex":"String ini tidak valid!",
|
||||||
|
"stringInvertedContains":"Teks ini tidak boleh mengandung {0}!",
|
||||||
|
"stringLowercase":"Teks ini harus ditulis dalam huruf kecil saja!",
|
||||||
|
"stringUppercase":"Teks ini harus ditulis dalam huruf kecil besar!",
|
||||||
|
"stringSpecialCharacters":"Teks ini tidak boleh mengandung karakter khusus apa pun! (Hanya huruf a-z, angka 0-9, dan spasi)",
|
||||||
|
"stringNoSpaces":"Teks ini tidak boleh mengandung spasi",
|
||||||
|
"stringCapitalWord":"Disarankan agar setiap kata dalam teks ini dimulai dengan huruf kapital!",
|
||||||
|
"stringCapitalSentence":"Sepertinya beberapa kalimat dalam teks ini tidak dimulai dengan huruf kapital!",
|
||||||
|
"stringPunctuation":"Sepertinya kalimat dalam teks ini tidak diakhiri dengan tanda baca!",
|
||||||
|
|
||||||
"numberTooShort":"Nomor ini tidak boleh lebih pendek dari {0} karakter!",
|
"numberTooShort":"Nomor ini tidak boleh lebih pendek dari {0} karakter!",
|
||||||
"numberTooLong":"Nomor ini tidak boleh lebih panjang dari {0} karakter!",
|
"numberTooLong":"Nomor ini tidak boleh lebih panjang dari {0} karakter!",
|
||||||
@@ -48,6 +56,8 @@
|
|||||||
"numberNegative":"Nomor ini tidak boleh negatif!",
|
"numberNegative":"Nomor ini tidak boleh negatif!",
|
||||||
"numberPositive":"Nomor ini tidak boleh positif!",
|
"numberPositive":"Nomor ini tidak boleh positif!",
|
||||||
"numberZero":"Nomor ini tidak boleh nol!",
|
"numberZero":"Nomor ini tidak boleh nol!",
|
||||||
|
"numberNan":"Nomor ini tidak boleh NaN (Bukan Angka)!",
|
||||||
|
"numberInvertedContains":"Nomor ini tidak boleh mengandung {0}!",
|
||||||
|
|
||||||
"booleanTrue":"Boolean ini tidak boleh benar!",
|
"booleanTrue":"Boolean ini tidak boleh benar!",
|
||||||
"booleanFalse":"Boolean ini tidak boleh salah!",
|
"booleanFalse":"Boolean ini tidak boleh salah!",
|
||||||
@@ -89,7 +99,8 @@
|
|||||||
"invalidButton":"Tombol ini harus memiliki setidaknya {0} atau {1}!",
|
"invalidButton":"Tombol ini harus memiliki setidaknya {0} atau {1}!",
|
||||||
"unusedOption":"Opsi {0} tidak digunakan di mana pun!",
|
"unusedOption":"Opsi {0} tidak digunakan di mana pun!",
|
||||||
"unusedQuestion":"Pertanyaan {0} tidak digunakan di mana pun!",
|
"unusedQuestion":"Pertanyaan {0} tidak digunakan di mana pun!",
|
||||||
"dropdownOption":"Panel dengan menu tarik-ulur yang diaktifkan hanya dapat berisi opsi dengan tipe 'tiket'!"
|
"dropdownOption":"Panel dengan menu tarik-ulur yang diaktifkan hanya dapat berisi opsi dengan tipe 'tiket'!",
|
||||||
|
"customInvalidVersion":"Versi yang ditetapkan dalam konfigurasi tidak sesuai! Pastikan konfigurasi Anda telah diperbarui ke versi terbaru!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
@@ -132,6 +143,7 @@
|
|||||||
"blacklistAddDm":"Ditambahkan ke Daftar Hitam",
|
"blacklistAddDm":"Ditambahkan ke Daftar Hitam",
|
||||||
"blacklistRemoveDm":"Dihapus dari Daftar Hitam",
|
"blacklistRemoveDm":"Dihapus dari Daftar Hitam",
|
||||||
"clear":"Tiket dibersihkan.",
|
"clear":"Tiket dibersihkan.",
|
||||||
|
"clearTickets":"Bersihkan Tiket",
|
||||||
"roles":"Peran Diperbarui",
|
"roles":"Peran Diperbarui",
|
||||||
|
|
||||||
"autoclose":"Tiket Ditutup Otomatis",
|
"autoclose":"Tiket Ditutup Otomatis",
|
||||||
@@ -139,7 +151,12 @@
|
|||||||
"autocloseDisabled":"Tutup Otomatis Dimatikan",
|
"autocloseDisabled":"Tutup Otomatis Dimatikan",
|
||||||
"autodelete":"Tiket Dihapus Otomatis",
|
"autodelete":"Tiket Dihapus Otomatis",
|
||||||
"autodeleteEnabled":"Hapus Otomatis Diaktifkan",
|
"autodeleteEnabled":"Hapus Otomatis Diaktifkan",
|
||||||
"autodeleteDisabled":"Hapus Otomatis Dinonaktifkan"
|
"autodeleteDisabled":"Hapus Otomatis Dinonaktifkan",
|
||||||
|
|
||||||
|
"topicSet":"Topik Diganti",
|
||||||
|
"prioritySet":"Prioritas Berganti",
|
||||||
|
"priorityGet":"Prioritas Tiket",
|
||||||
|
"transfer":"Tiket Ditransfer"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create":"Tiket kamu telah dibuat. Klik tombol di bawah ini untuk mengaksesnya!",
|
"create":"Tiket kamu telah dibuat. Klik tombol di bawah ini untuk mengaksesnya!",
|
||||||
@@ -180,7 +197,12 @@
|
|||||||
"ticketMessageLimit":"Anda hanya dapat membuat {0} tiket pada saat yang bersamaan!",
|
"ticketMessageLimit":"Anda hanya dapat membuat {0} tiket pada saat yang bersamaan!",
|
||||||
"ticketMessageAutoclose":"Tiket ini akan ditutup secara otomatis ketika tidak aktif selama {0} jam!",
|
"ticketMessageAutoclose":"Tiket ini akan ditutup secara otomatis ketika tidak aktif selama {0} jam!",
|
||||||
"ticketMessageAutodelete":"Tiket ini akan dihapus secara otomatis ketika tidak aktif selama {0} hari!",
|
"ticketMessageAutodelete":"Tiket ini akan dihapus secara otomatis ketika tidak aktif selama {0} hari!",
|
||||||
"panelReady":"Anda dapat menemukan panel di bawah ini!\nPesan ini sekarang dapat dihapus!"
|
"panelReady":"Panel ini tersedia dalam pesan tindak lanjut!\nPesan ini sekarang dapat dihapus!",
|
||||||
|
|
||||||
|
"topicSet":"Topik kanal ini telah diubah oleh {0}!",
|
||||||
|
"prioritySet":"Prioritas tiket ini telah diubah menjadi {0} oleh {1}!",
|
||||||
|
"priorityGet":"Prioritas tiket ini pada saat ini adalah {0}.",
|
||||||
|
"transfer":"Status kepemilikan tiket telah berhasil dipindahkan dari {0} ke {1} oleh {2}!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder":"Mengapa kamu menutup tiket ini?",
|
"closePlaceholder":"Mengapa kamu menutup tiket ini?",
|
||||||
@@ -220,7 +242,14 @@
|
|||||||
"blacklistRemoveLog":"{0} dihapus dari daftar hitam oleh {1}!",
|
"blacklistRemoveLog":"{0} dihapus dari daftar hitam oleh {1}!",
|
||||||
"blacklistAddDm":"Anda telah masuk ke dalam daftar hitam di server kami!\nMulai sekarang, Anda tidak dapat membuat tiket!",
|
"blacklistAddDm":"Anda telah masuk ke dalam daftar hitam di server kami!\nMulai sekarang, Anda tidak dapat membuat tiket!",
|
||||||
"blacklistRemoveDm":"Kamu telah dihapus dari daftar hitam di server kami!\nSekarang Anda dapat membuat tiket lagi!",
|
"blacklistRemoveDm":"Kamu telah dihapus dari daftar hitam di server kami!\nSekarang Anda dapat membuat tiket lagi!",
|
||||||
"clearLog":"Tiket {0} telah dihapus oleh {1}!"
|
"clearLog":"Tiket {0} telah dihapus oleh {1}!",
|
||||||
|
|
||||||
|
"transferLog":"Kepemilikan tiket ini telah berhasil dipindahkan dari {0} ke {1} oleh {2}",
|
||||||
|
"transferDm":"Kepemilikan tiket kamu sudah dialihkan dari {0} ke {1} di server kami!",
|
||||||
|
"prioritySetLog":"Prioritas tiket ini telah diubah menjadi {0} oleh {1}!",
|
||||||
|
"prioritySetDm":"Prioritas tiket kamu telah diubah menjadi {0} di server kami!",
|
||||||
|
"roleUpdateLog":"{0} telah memperbarui status mereka!",
|
||||||
|
"roleUpdateDm":"Status kamu di server kami telah diperbarui!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
@@ -241,7 +270,19 @@
|
|||||||
"retry":"Coba Ulang",
|
"retry":"Coba Ulang",
|
||||||
"continue":"Hapus Tanpa Transkrip",
|
"continue":"Hapus Tanpa Transkrip",
|
||||||
"backup":"Membuat Transkrip Cadangan",
|
"backup":"Membuat Transkrip Cadangan",
|
||||||
"error":"Terjadi kesalahan saat mencoba membuat transkrip.\nApa yang ingin Anda lakukan?\n\nTiket ini tidak akan dihapus hingga Anda mengeklik salah satu tombol ini."
|
"error":"Terjadi kesalahan saat mencoba membuat transkrip.\nApa yang ingin Anda lakukan?\n\nTiket ini tidak akan dihapus hingga Anda mengeklik salah satu tombol ini.",
|
||||||
|
"title":"Kesalahan Dalam Pembuatan Transkrip"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"PESAN",
|
||||||
|
"embedTitle":"SEMATAN",
|
||||||
|
"fileTitle":"BERKAS",
|
||||||
|
"fieldsTitle":"BIDANG",
|
||||||
|
"reactionsTitle":"REAKSI",
|
||||||
|
"statsTitle":"STATUS",
|
||||||
|
"emptyContent":"<isi dokumen kosong>",
|
||||||
|
"noTitle":"<tidak-ada-judul>",
|
||||||
|
"noDesc":"<tidak-ada-deskripsi>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
@@ -257,7 +298,8 @@
|
|||||||
"unknownPanel":"Panel Tidak Diketahui",
|
"unknownPanel":"Panel Tidak Diketahui",
|
||||||
"notInGuild":"Tidak Berada Di Dalam Server",
|
"notInGuild":"Tidak Berada Di Dalam Server",
|
||||||
"channelRename":"Tidak Dapat Mengganti Nama Saluran",
|
"channelRename":"Tidak Dapat Mengganti Nama Saluran",
|
||||||
"busy":"Tidak Sedang Sibuk"
|
"busy":"Tidak Sedang Sibuk",
|
||||||
|
"permissionError":"Terjadi Kesalahan Hak Akses"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo":"Hubungi pemilik bot ini untuk info lebih lanjut!",
|
"askForInfo":"Hubungi pemilik bot ini untuk info lebih lanjut!",
|
||||||
@@ -272,15 +314,18 @@
|
|||||||
"noPermissionsCooldown":"Anda tidak diperbolehkan menggunakan {0} karena kamu sedang dalam cooldown!",
|
"noPermissionsCooldown":"Anda tidak diperbolehkan menggunakan {0} karena kamu sedang dalam cooldown!",
|
||||||
"noPermissionsBlacklist":"Anda tidak diperbolehkan menggunakan {0} karena Anda telah masuk dalam daftar hitam!",
|
"noPermissionsBlacklist":"Anda tidak diperbolehkan menggunakan {0} karena Anda telah masuk dalam daftar hitam!",
|
||||||
"noPermissionsLimitGlobal":"Anda tidak diizinkan untuk membuat tiket karena server telah mencapai batas maksimal tiket!",
|
"noPermissionsLimitGlobal":"Anda tidak diizinkan untuk membuat tiket karena server telah mencapai batas maksimal tiket!",
|
||||||
"noPermissionsLimitGlobalPengguna":"Anda tidak dapat membuat tiket karena Anda telah mencapai batas maksimal tiket!",
|
"noPermissionsLimitGlobalUser":"Anda tidak dapat membuat tiket karena Anda telah mencapai batas maksimal tiket!",
|
||||||
"noPermissionsLimitOption":"Anda tidak diizinkan untuk membuat tiket karena server telah mencapai batas maksimal tiket untuk opsi ini!",
|
"noPermissionsLimitOption":"Anda tidak diizinkan untuk membuat tiket karena server telah mencapai batas maksimal tiket untuk opsi ini!",
|
||||||
"noPermissionsLimitOptionPengguna":"Anda tidak dapat membuat tiket karena Anda telah mencapai batas maksimal tiket untuk opsi ini!",
|
"noPermissionsLimitOptionUser":"Anda tidak dapat membuat tiket karena Anda telah mencapai batas maksimal tiket untuk opsi ini!",
|
||||||
"unknownTicket":"Gunakan perintah ini lagi dalam tiket yang valid!",
|
"unknownTicket":"Gunakan perintah ini lagi dalam tiket yang valid!",
|
||||||
"deprecatedTicket":"Saluran saat ini bukanlah tiket yang valid! Ini mungkin merupakan tiket dari versi Open Tiket yang lama!",
|
"deprecatedTicket":"Saluran saat ini bukanlah tiket yang valid! Ini mungkin merupakan tiket dari versi Open Tiket yang lama!",
|
||||||
"notInGuild":"Ini {0} tidak berfungsi di DM! Silakan coba lagi di server!",
|
"notInGuild":"Ini {0} tidak berfungsi di DM! Silakan coba lagi di server!",
|
||||||
"channelRename":"Karena batasan rasio Discord, saat ini bot tidak mungkin mengganti nama saluran. Saluran akan secara otomatis diganti namanya dalam waktu 10 menit jika bot tidak di-boot ulang.",
|
"channelRename":"Karena batasan rasio Discord, saat ini bot tidak mungkin mengganti nama saluran. Saluran akan secara otomatis diganti namanya dalam waktu 10 menit jika bot tidak di-boot ulang.",
|
||||||
"channelRenameSource":"Sumber dari masalah: {0}",
|
"channelRenameSource":"Sumber dari masalah: {0}",
|
||||||
"busy":"Dapat dapat menggunakan {0}!\nTiket sedang diproses oleh bot.\n\nMohon coba beberapa saat lagi!"
|
"busy":"Dapat dapat menggunakan {0}!\nTiket sedang diproses oleh bot.\n\nMohon coba beberapa saat lagi!",
|
||||||
|
"closeBeforeMessage":"Tiket ini tidak dapat ditutup ataupun dihapus sebelum pesan dikirim oleh seseorang.",
|
||||||
|
"closeBeforeAdminMessage":"Tiket ini tidak dapat ditutup ataupun dihapus sebelum admin tiket atau anggota tim dukungan mengirimkan pesan.",
|
||||||
|
"unableToCreateTicket":"Anda tidak dapat membuat tiket.."
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex":"Nilai tidak sesuai pola!",
|
"stringRegex":"Nilai tidak sesuai pola!",
|
||||||
@@ -331,7 +376,6 @@
|
|||||||
"added":"Ditambahkan",
|
"added":"Ditambahkan",
|
||||||
"removed":"Dikeluarkan",
|
"removed":"Dikeluarkan",
|
||||||
"filter":"Penyaring",
|
"filter":"Penyaring",
|
||||||
"claimedBy":"Diklaim oleh {0}",
|
|
||||||
"method":"Metode",
|
"method":"Metode",
|
||||||
"type":"Tipe",
|
"type":"Tipe",
|
||||||
"blacklisted":"Daftar hitam",
|
"blacklisted":"Daftar hitam",
|
||||||
@@ -355,7 +399,27 @@
|
|||||||
"status":"Status",
|
"status":"Status",
|
||||||
"claimed":"Diklaim",
|
"claimed":"Diklaim",
|
||||||
"pinned":"Disematkan",
|
"pinned":"Disematkan",
|
||||||
"creationDate":"Tanggal Pembuatan"
|
"creationDate":"Tanggal Pembuatan",
|
||||||
|
|
||||||
|
"noone":"Tidak Seorangpun",
|
||||||
|
"open":"Buka",
|
||||||
|
"closed":"Tutup",
|
||||||
|
"priority":"Prioritas",
|
||||||
|
"participants":"Para Partisipan",
|
||||||
|
"yes":"Ya",
|
||||||
|
"no":"Tidak",
|
||||||
|
"option":"Opsi",
|
||||||
|
"topic":"Topik",
|
||||||
|
"uptime":"Waktu Aktif Sistem",
|
||||||
|
"messages":"Pesan",
|
||||||
|
"embeds":"Sematan",
|
||||||
|
"files":"Berkas",
|
||||||
|
"components":"Komponen",
|
||||||
|
"cooldown":"Cooldown",
|
||||||
|
"maxTickets":"Tiket Maksimum",
|
||||||
|
"admins":"Admin",
|
||||||
|
"roles":"Hak",
|
||||||
|
"size":"Ukuran"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text":"teks",
|
"text":"teks",
|
||||||
@@ -384,6 +448,7 @@
|
|||||||
"unclaim":"Batalkan klaim tiket.",
|
"unclaim":"Batalkan klaim tiket.",
|
||||||
"pin":"Sematkan sebuah tiket.",
|
"pin":"Sematkan sebuah tiket.",
|
||||||
"unpin":"Batalkan penyematan tiket.",
|
"unpin":"Batalkan penyematan tiket.",
|
||||||
|
|
||||||
"move":"Pindahkan tiket.",
|
"move":"Pindahkan tiket.",
|
||||||
"moveId":"Penanda opsi yang ingin anda pindahkan.",
|
"moveId":"Penanda opsi yang ingin anda pindahkan.",
|
||||||
"rename":"Ganti nama tiket.",
|
"rename":"Ganti nama tiket.",
|
||||||
@@ -392,6 +457,7 @@
|
|||||||
"addUser":"Pengguna yang akan ditambahkan.",
|
"addUser":"Pengguna yang akan ditambahkan.",
|
||||||
"remove":"Keluarkan seseorang dari tiket.",
|
"remove":"Keluarkan seseorang dari tiket.",
|
||||||
"removeUser":"Pengguna yang akan dikeluarkan.",
|
"removeUser":"Pengguna yang akan dikeluarkan.",
|
||||||
|
|
||||||
"blacklist":"Kelola the Tiket blacklist.",
|
"blacklist":"Kelola the Tiket blacklist.",
|
||||||
"blacklistView":"Lihat daftar yang masuk ke dalam daftar hitam.",
|
"blacklistView":"Lihat daftar yang masuk ke dalam daftar hitam.",
|
||||||
"blacklistAdd":"Tambahkan seseorang ke dalam daftar hitam.",
|
"blacklistAdd":"Tambahkan seseorang ke dalam daftar hitam.",
|
||||||
@@ -405,6 +471,7 @@
|
|||||||
"statsUserUser":"Pengguna yang akan dilihat.",
|
"statsUserUser":"Pengguna yang akan dilihat.",
|
||||||
"statsTicket":"Lihat status dari sebuah tiket di server.",
|
"statsTicket":"Lihat status dari sebuah tiket di server.",
|
||||||
"statsTicketTicket":"Tiket yang akan dilihat.",
|
"statsTicketTicket":"Tiket yang akan dilihat.",
|
||||||
|
|
||||||
"clear":"Hapus banyak tiket sekaligus.",
|
"clear":"Hapus banyak tiket sekaligus.",
|
||||||
"clearFilter":"Filter untuk menghapus tiket.",
|
"clearFilter":"Filter untuk menghapus tiket.",
|
||||||
"clearFilters":{
|
"clearFilters":{
|
||||||
@@ -417,6 +484,7 @@
|
|||||||
"unpin":"Pembatalan penyematan",
|
"unpin":"Pembatalan penyematan",
|
||||||
"autoclose":"Ditutup otomatis"
|
"autoclose":"Ditutup otomatis"
|
||||||
},
|
},
|
||||||
|
|
||||||
"autoclose":"Kelola penutupan otomatis tiket.",
|
"autoclose":"Kelola penutupan otomatis tiket.",
|
||||||
"autocloseDisable":"Non-aktifkan penutupan otomatis.",
|
"autocloseDisable":"Non-aktifkan penutupan otomatis.",
|
||||||
"autocloseEnable":"Aktifkan penutupan otomatis.",
|
"autocloseEnable":"Aktifkan penutupan otomatis.",
|
||||||
@@ -424,7 +492,19 @@
|
|||||||
"autodelete":"Kelola penghapusan otomatis tiket.",
|
"autodelete":"Kelola penghapusan otomatis tiket.",
|
||||||
"autodeleteDisable":"Non-aktifkan penghapusan otomatis.",
|
"autodeleteDisable":"Non-aktifkan penghapusan otomatis.",
|
||||||
"autodeleteEnable":"Aktifkan penghapusan otomatis.",
|
"autodeleteEnable":"Aktifkan penghapusan otomatis.",
|
||||||
"autodeleteEnableTime":"Lama waktu saluran tidak aktif sebelum dihapus."
|
"autodeleteEnableTime":"Lama waktu saluran tidak aktif sebelum dihapus.",
|
||||||
|
|
||||||
|
"topic":"Kelola topik kanal tiket.",
|
||||||
|
"topicSet":"Tentukan topik kanal tiket.",
|
||||||
|
"topicValue":"Topik baru kanal ini.",
|
||||||
|
"topicList":"Dapatkan informasi lengkap tentang semua tiket beserta topik dan statistiknya.",
|
||||||
|
"priority":"Kelola prioritas tiket.",
|
||||||
|
"prioritySet":"Tentukan prioritas tiket.",
|
||||||
|
"priorityValue":"Prioritas kanal.",
|
||||||
|
"priorityGet":"Dapatkan prioritas tiket.",
|
||||||
|
"priorityList":"Dapatkan daftar semua tiket beserta status prioritasnya.",
|
||||||
|
"transfer":"Alihkan kepemilikan tiket dari satu pengguna ke pengguna lain..",
|
||||||
|
"transferUser":"Pengguna yang akan ditransferkan."
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"help":"Dapatkan daftar perintah yang tersedia.",
|
"help":"Dapatkan daftar perintah yang tersedia.",
|
||||||
@@ -452,7 +532,16 @@
|
|||||||
"autocloseDisable":"Nonaktifkan penutupan otomatis.",
|
"autocloseDisable":"Nonaktifkan penutupan otomatis.",
|
||||||
"autocloseEnable":"Aktifkan penutupan otomatis.",
|
"autocloseEnable":"Aktifkan penutupan otomatis.",
|
||||||
"autodeleteDisable":"Non-aktifkan penghapusan otomatis.",
|
"autodeleteDisable":"Non-aktifkan penghapusan otomatis.",
|
||||||
"autodeleteEnable":"Aktifkan penghapusan otomatis."
|
"autodeleteEnable":"Aktifkan penghapusan otomatis.",
|
||||||
|
"categories":{
|
||||||
|
"general":"Perintah Umum",
|
||||||
|
"basicTicket":"Perintah Dasar Tiket",
|
||||||
|
"advancedTicket":"Perintah Lanjutan Ticket",
|
||||||
|
"userTicket":"Perintah Tiket untuk Pengguna",
|
||||||
|
"admin":"Perintah Admin",
|
||||||
|
"advanced":"Perintah Lanjutan",
|
||||||
|
"extra":"Perintah Tambahan"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes":{
|
"scopes":{
|
||||||
@@ -460,7 +549,8 @@
|
|||||||
"system":"Status Sistem",
|
"system":"Status Sistem",
|
||||||
"user":"Status Pengguna",
|
"user":"Status Pengguna",
|
||||||
"ticket":"Status Tiket",
|
"ticket":"Status Tiket",
|
||||||
"participants":"Partisipan"
|
"participants":"Partisipan",
|
||||||
|
"messages":"Pesan"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated":"Tiket Dibuat",
|
"ticketsCreated":"Tiket Dibuat",
|
||||||
@@ -472,7 +562,47 @@
|
|||||||
"ticketsPinned":"Tiket Disematkan",
|
"ticketsPinned":"Tiket Disematkan",
|
||||||
"ticketsMoved":"Tickets Dipindahkan",
|
"ticketsMoved":"Tickets Dipindahkan",
|
||||||
"usersBlacklisted":"Pengguna Masuk Ke Dalam Daftar Hitam",
|
"usersBlacklisted":"Pengguna Masuk Ke Dalam Daftar Hitam",
|
||||||
"transcriptsCreated":"Transkrip Dibuat"
|
"transcriptsCreated":"Transkrip Dibuat",
|
||||||
|
"ticketsAutodeleted":"Tiket Dihapus Secara Otomatis",
|
||||||
|
"ticketsTransferred":"Tiket Dipindahkan",
|
||||||
|
"ticketVolume":"Kapasitas Tiket",
|
||||||
|
"averageTickets":"Rata-rata Tiket per Pengguna",
|
||||||
|
"currentTickets":"Tiket Saat Ini",
|
||||||
|
"age":"Umur Tiket",
|
||||||
|
"responseTime":"Waktu Respons",
|
||||||
|
"resolutionTime":"Resolution Time",
|
||||||
|
"createdOn":"Dibuat Pada",
|
||||||
|
"createdBy":"Dibuat Oleh",
|
||||||
|
"closedOn":"Ditutup Pada",
|
||||||
|
"closedBy":"Ditutup Oleh",
|
||||||
|
"claimedOn":"Diklaim Pada",
|
||||||
|
"claimedBy":"Diklaim Oleh",
|
||||||
|
"pinnedOn":"Disematkan Pada",
|
||||||
|
"pinnedBy":"Disematkan Oleh",
|
||||||
|
"deletedOn":"Dihapus Pada",
|
||||||
|
"deletedBy":"Dihapus Oleh"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"Pembuat",
|
||||||
|
"serverOwner":"Pemilik Server",
|
||||||
|
"serverAdmin":"Admin Server",
|
||||||
|
"moderator":"Tim Moderator",
|
||||||
|
"support":"Tim Pendukung",
|
||||||
|
"member":"Anggota"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"Pilih tiket kamu",
|
||||||
|
"selectRole":"Pilih status kamu",
|
||||||
|
"selectOption":"Pilih opsi kamu"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"Sangat Penting",
|
||||||
|
"veryHigh":"Sangat Tinggi",
|
||||||
|
"high":"Tinggi",
|
||||||
|
"normal":"Normal",
|
||||||
|
"low":"Rendah",
|
||||||
|
"veryLow":"Sangat Rendah",
|
||||||
|
"none":"Tidak Ada"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+146
-16
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["fraden1mvp."],
|
"translators":["fraden1mvp.","imperatorix_17"],
|
||||||
"lastedited":"08/10/2024",
|
"lastedited":"16/02/2026",
|
||||||
"language":"Italian",
|
"language":"Italian",
|
||||||
"automated":false
|
"automated":false
|
||||||
},
|
},
|
||||||
@@ -31,6 +31,14 @@
|
|||||||
"stringContains":"Questa stringa deve contenere {0}!",
|
"stringContains":"Questa stringa deve contenere {0}!",
|
||||||
"stringChoices":"Questa stringa può essere solo uno dei seguenti valori: {0}!",
|
"stringChoices":"Questa stringa può essere solo uno dei seguenti valori: {0}!",
|
||||||
"stringRegex":"Questa stringa non è valida!",
|
"stringRegex":"Questa stringa non è valida!",
|
||||||
|
"stringInvertedContains":"Questa stringa non può contenere {0}!",
|
||||||
|
"stringLowercase":"Questa stringa deve essere scritta solo in minuscolo!",
|
||||||
|
"stringUppercase":"Questa stringa deve essere scritta solo in maiuscolo!",
|
||||||
|
"stringSpecialCharacters":"Questa stringa non può contenere caratteri speciali! (solo a-z, 0-9 e spazio consentiti)",
|
||||||
|
"stringNoSpaces":"Questa stringa non può contenere spazi!",
|
||||||
|
"stringCapitalWord":"È consigliato che ogni parola in questa stringa inizi con una lettera maiuscola!",
|
||||||
|
"stringCapitalSentence":"Sembra che alcune frasi in questa stringa non inizino con una lettera maiuscola!",
|
||||||
|
"stringPunctuation":"Sembra che la frase in questa stringa non termini con un segno di punteggiatura!",
|
||||||
|
|
||||||
"numberTooShort":"Questo numero non può essere più corto di {0} caratteri!",
|
"numberTooShort":"Questo numero non può essere più corto di {0} caratteri!",
|
||||||
"numberTooLong":"Questo numero non può essere più lungo di {0} caratteri!",
|
"numberTooLong":"Questo numero non può essere più lungo di {0} caratteri!",
|
||||||
@@ -48,6 +56,8 @@
|
|||||||
"numberNegative":"Questo numero non può essere negativo!",
|
"numberNegative":"Questo numero non può essere negativo!",
|
||||||
"numberPositive":"Questo numero non può essere positivo!",
|
"numberPositive":"Questo numero non può essere positivo!",
|
||||||
"numberZero":"Questo numero non può essere zero!",
|
"numberZero":"Questo numero non può essere zero!",
|
||||||
|
"numberNan":"Questo numero non può essere NaN (Non Un Numero)!",
|
||||||
|
"numberInvertedContains":"Questo numero non può contenere {0}!",
|
||||||
|
|
||||||
"booleanTrue":"Questo booleano non può essere vero!",
|
"booleanTrue":"Questo booleano non può essere vero!",
|
||||||
"booleanFalse":"Questo booleano non può essere falso!",
|
"booleanFalse":"Questo booleano non può essere falso!",
|
||||||
@@ -89,7 +99,8 @@
|
|||||||
"invalidButton":"Questo pulsante deve avere almeno un {0} o {1}!",
|
"invalidButton":"Questo pulsante deve avere almeno un {0} o {1}!",
|
||||||
"unusedOption":"L'opzione {0} non è utilizzata da nessuna parte!",
|
"unusedOption":"L'opzione {0} non è utilizzata da nessuna parte!",
|
||||||
"unusedQuestion":"La domanda {0} non è utilizzata da nessuna parte!",
|
"unusedQuestion":"La domanda {0} non è utilizzata da nessuna parte!",
|
||||||
"dropdownOption":"Un pannello con il dropdown attivato può contenere solo opzioni di tipo 'ticket'!"
|
"dropdownOption":"Un pannello con il dropdown attivato può contenere solo opzioni di tipo 'ticket'!",
|
||||||
|
"customInvalidVersion":"La versione specificata nella tua configurazione non corrisponde! Assicurati di aver aggiornato la configurazione all'ultima versione!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
@@ -132,6 +143,7 @@
|
|||||||
"blacklistAddDm":"Aggiunto alla Blacklist",
|
"blacklistAddDm":"Aggiunto alla Blacklist",
|
||||||
"blacklistRemoveDm":"Rimosso dalla Blacklist",
|
"blacklistRemoveDm":"Rimosso dalla Blacklist",
|
||||||
"clear":"Tickets Cancellati",
|
"clear":"Tickets Cancellati",
|
||||||
|
"clearTickets":"Pulisci Ticket",
|
||||||
"roles":"Ruoli Aggiornati",
|
"roles":"Ruoli Aggiornati",
|
||||||
|
|
||||||
"autoclose":"Ticket Autochiuso",
|
"autoclose":"Ticket Autochiuso",
|
||||||
@@ -139,7 +151,12 @@
|
|||||||
"autocloseDisabled":"Autochiusura Disabilitata",
|
"autocloseDisabled":"Autochiusura Disabilitata",
|
||||||
"autodelete":"Ticket Autocancellato",
|
"autodelete":"Ticket Autocancellato",
|
||||||
"autodeleteEnabled":"Autocancellazione Abilitata",
|
"autodeleteEnabled":"Autocancellazione Abilitata",
|
||||||
"autodeleteDisabled":"Autocancellazione Disabilitata"
|
"autodeleteDisabled":"Autocancellazione Disabilitata",
|
||||||
|
|
||||||
|
"topicSet":"Argomento Cambiato",
|
||||||
|
"prioritySet":"Priorità Cambiata",
|
||||||
|
"priorityGet":"Priorità Ticket",
|
||||||
|
"transfer":"Ticket Trasferito"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create":"Il tuo ticket è stato creato. Clicca il pulsante qui sotto per accedervi!",
|
"create":"Il tuo ticket è stato creato. Clicca il pulsante qui sotto per accedervi!",
|
||||||
@@ -180,7 +197,12 @@
|
|||||||
"ticketMessageLimit":"Puoi creare solo {0} ticket contemporaneamente!",
|
"ticketMessageLimit":"Puoi creare solo {0} ticket contemporaneamente!",
|
||||||
"ticketMessageAutoclose":"Questo ticket sarà autochiuso quando sarà inattivo per {0}h!",
|
"ticketMessageAutoclose":"Questo ticket sarà autochiuso quando sarà inattivo per {0}h!",
|
||||||
"ticketMessageAutodelete":"Questo ticket sarà autocancellato quando sarà inattivo per {0} giorni!",
|
"ticketMessageAutodelete":"Questo ticket sarà autocancellato quando sarà inattivo per {0} giorni!",
|
||||||
"panelReady":"Puoi trovare il pannello qui sotto!\nQuesto messaggio può ora essere eliminato!"
|
"panelReady":"Il pannello è disponibile nel messaggio successivo!\nQuesto messaggio ora può essere eliminato!",
|
||||||
|
|
||||||
|
"topicSet":"L’argomento del canale è stato cambiato con successo da {0}!",
|
||||||
|
"prioritySet":"La priorità del ticket è stata cambiata in {0} da {1} con successo!",
|
||||||
|
"priorityGet":"La priorità attuale di questo ticket è {0}.",
|
||||||
|
"transfer":"La proprietà del ticket è stata trasferita da {0} a {1} da {2} con successo!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder":"Perché hai chiuso questo ticket?",
|
"closePlaceholder":"Perché hai chiuso questo ticket?",
|
||||||
@@ -220,7 +242,14 @@
|
|||||||
"blacklistRemoveLog":"{0} è stato rimosso dalla blacklist da {1}!",
|
"blacklistRemoveLog":"{0} è stato rimosso dalla blacklist da {1}!",
|
||||||
"blacklistAddDm":"Sei stato aggiunto alla blacklist nel nostro server!\nD'ora in poi, non puoi creare ticket!",
|
"blacklistAddDm":"Sei stato aggiunto alla blacklist nel nostro server!\nD'ora in poi, non puoi creare ticket!",
|
||||||
"blacklistRemoveDm":"Sei stato rimosso dalla blacklist nel nostro server!\nOra puoi creare ticket di nuovo!",
|
"blacklistRemoveDm":"Sei stato rimosso dalla blacklist nel nostro server!\nOra puoi creare ticket di nuovo!",
|
||||||
"clearLog":"{0} tickets sono stati eliminati da {1}!"
|
"clearLog":"{0} tickets sono stati eliminati da {1}!",
|
||||||
|
|
||||||
|
"transferLog":"La proprietà di questo ticket è stata trasferita da {0} a {1} da {2}!",
|
||||||
|
"transferDm":"La proprietà del tuo ticket è stata trasferita da {0} a {1} nel nostro server!",
|
||||||
|
"prioritySetLog":"La priorità di questo ticket è stata cambiata in {0} da {1}!",
|
||||||
|
"prioritySetDm":"La priorità del tuo ticket è stata cambiata in {0} nel nostro server!",
|
||||||
|
"roleUpdateLog":"{0} ha aggiornato i propri ruoli!",
|
||||||
|
"roleUpdateDm":"I tuoi ruoli nel nostro server sono stati aggiornati!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
@@ -241,7 +270,19 @@
|
|||||||
"retry":"Riprova",
|
"retry":"Riprova",
|
||||||
"continue":"Elimina Senza Trascrizione",
|
"continue":"Elimina Senza Trascrizione",
|
||||||
"backup":"Crea Trascrizione di Backup",
|
"backup":"Crea Trascrizione di Backup",
|
||||||
"error":"Qualcosa è andato storto durante la creazione della trascrizione.\nCosa vuoi fare?\n\nQuesto ticket non sarà eliminato finché non clicchi su uno di questi pulsanti."
|
"error":"Qualcosa è andato storto durante la creazione della trascrizione.\nCosa vuoi fare?\n\nQuesto ticket non sarà eliminato finché non clicchi su uno di questi pulsanti.",
|
||||||
|
"title":"Errore nel Transcript"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"MESSAGGI",
|
||||||
|
"embedTitle":"EMBED",
|
||||||
|
"fileTitle":"FILE",
|
||||||
|
"fieldsTitle":"CAMPI",
|
||||||
|
"reactionsTitle":"REAZIONI",
|
||||||
|
"statsTitle":"STATISTICHE",
|
||||||
|
"emptyContent":"<il contenuto è vuoto>",
|
||||||
|
"noTitle":"<no-titolo>",
|
||||||
|
"noDesc":"<no-descrizione>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
@@ -257,7 +298,8 @@
|
|||||||
"unknownPanel":"Pannello Sconosciuto",
|
"unknownPanel":"Pannello Sconosciuto",
|
||||||
"notInGuild":"Non nel Server",
|
"notInGuild":"Non nel Server",
|
||||||
"channelRename":"Impossibile Rinominare il Canale",
|
"channelRename":"Impossibile Rinominare il Canale",
|
||||||
"busy":"Ticket Occupato"
|
"busy":"Ticket Occupato",
|
||||||
|
"permissionError":"Errore di Permesso"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo":"Contatta il proprietario di questo bot per ulteriori informazioni!",
|
"askForInfo":"Contatta il proprietario di questo bot per ulteriori informazioni!",
|
||||||
@@ -280,7 +322,10 @@
|
|||||||
"notInGuild":"Questo {0} non funziona in DM! Riprova in un server!",
|
"notInGuild":"Questo {0} non funziona in DM! Riprova in un server!",
|
||||||
"channelRename":"A causa dei limiti di Discord, al momento non è possibile rinominare il canale. Il canale verrà automaticamente rinominato in oltre 10 minuti se il bot non viene riavviato.",
|
"channelRename":"A causa dei limiti di Discord, al momento non è possibile rinominare il canale. Il canale verrà automaticamente rinominato in oltre 10 minuti se il bot non viene riavviato.",
|
||||||
"channelRenameSource":"La fonte di questo errore è: {0}",
|
"channelRenameSource":"La fonte di questo errore è: {0}",
|
||||||
"busy":"Impossibile utilizzare questo {0}!\nIl ticket è attualmente in fase di elaborazione dal bot.\n\nPer favore riprova tra pochi secondi!"
|
"busy":"Impossibile utilizzare questo {0}!\nIl ticket è attualmente in fase di elaborazione dal bot.\n\nPer favore riprova tra pochi secondi!",
|
||||||
|
"closeBeforeMessage":"Questo ticket non può essere chiuso/eliminato prima che un messaggio sia stato inviato da un utente.",
|
||||||
|
"closeBeforeAdminMessage":"Questo ticket non può essere chiuso/eliminato prima che un messaggio sia stato inviato da un admin del ticket o da un membro del supporto.",
|
||||||
|
"unableToCreateTicket":"Non puoi creare un ticket."
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex":"Il valore non corrisponde al modello!",
|
"stringRegex":"Il valore non corrisponde al modello!",
|
||||||
@@ -331,7 +376,6 @@
|
|||||||
"added":"Aggiunto",
|
"added":"Aggiunto",
|
||||||
"removed":"Rimosso",
|
"removed":"Rimosso",
|
||||||
"filter":"Filtro",
|
"filter":"Filtro",
|
||||||
"claimedBy":"Rivendicato Da {0}",
|
|
||||||
"method":"Metodo",
|
"method":"Metodo",
|
||||||
"type":"Tipo",
|
"type":"Tipo",
|
||||||
"blacklisted":"Blacklistato",
|
"blacklisted":"Blacklistato",
|
||||||
@@ -355,7 +399,27 @@
|
|||||||
"status":"Stato",
|
"status":"Stato",
|
||||||
"claimed":"Rivendicato",
|
"claimed":"Rivendicato",
|
||||||
"pinned":"Fissato",
|
"pinned":"Fissato",
|
||||||
"creationDate":"Data di Creazione"
|
"creationDate":"Data di Creazione",
|
||||||
|
|
||||||
|
"noone":"No-One",
|
||||||
|
"open":"Aperto",
|
||||||
|
"closed":"Chiuso",
|
||||||
|
"priority":"Priorità",
|
||||||
|
"participants":"Partecipanti",
|
||||||
|
"yes":"Si",
|
||||||
|
"no":"No",
|
||||||
|
"option":"Opzione",
|
||||||
|
"topic":"Argomento",
|
||||||
|
"uptime":"Uptime Sistema",
|
||||||
|
"messages":"Messaggi",
|
||||||
|
"embeds":"Embeds",
|
||||||
|
"files":"Files",
|
||||||
|
"components":"Componenti",
|
||||||
|
"cooldown":"Cooldown",
|
||||||
|
"maxTickets":"Max Tickets",
|
||||||
|
"admins":"Admins",
|
||||||
|
"roles":"Ruoli",
|
||||||
|
"size":"Dimensione"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text":"testo",
|
"text":"testo",
|
||||||
@@ -384,6 +448,7 @@
|
|||||||
"unclaim":"Rimuovi la rivendicazione di un ticket.",
|
"unclaim":"Rimuovi la rivendicazione di un ticket.",
|
||||||
"pin":"Fissa un ticket.",
|
"pin":"Fissa un ticket.",
|
||||||
"unpin":"Sblocca un ticket.",
|
"unpin":"Sblocca un ticket.",
|
||||||
|
|
||||||
"move":"Sposta un ticket.",
|
"move":"Sposta un ticket.",
|
||||||
"moveId":"L'identificatore dell'opzione a cui vuoi spostare.",
|
"moveId":"L'identificatore dell'opzione a cui vuoi spostare.",
|
||||||
"rename":"Rinomina un ticket.",
|
"rename":"Rinomina un ticket.",
|
||||||
@@ -392,6 +457,7 @@
|
|||||||
"addUser":"L'utente da aggiungere.",
|
"addUser":"L'utente da aggiungere.",
|
||||||
"remove":"Rimuovi un utente da un ticket.",
|
"remove":"Rimuovi un utente da un ticket.",
|
||||||
"removeUser":"L'utente da rimuovere.",
|
"removeUser":"L'utente da rimuovere.",
|
||||||
|
|
||||||
"blacklist":"Gestisci la blacklist del ticket.",
|
"blacklist":"Gestisci la blacklist del ticket.",
|
||||||
"blacklistView":"Visualizza un elenco della blacklist attuale.",
|
"blacklistView":"Visualizza un elenco della blacklist attuale.",
|
||||||
"blacklistAdd":"Aggiungi un utente alla blacklist.",
|
"blacklistAdd":"Aggiungi un utente alla blacklist.",
|
||||||
@@ -405,6 +471,7 @@
|
|||||||
"statsUserUser":"L'utente di cui visualizzare le statistiche.",
|
"statsUserUser":"L'utente di cui visualizzare le statistiche.",
|
||||||
"statsTicket":"Visualizza le statistiche di un ticket nel server.",
|
"statsTicket":"Visualizza le statistiche di un ticket nel server.",
|
||||||
"statsTicketTicket":"Il ticket da visualizzare.",
|
"statsTicketTicket":"Il ticket da visualizzare.",
|
||||||
|
|
||||||
"clear":"Elimina più ticket contemporaneamente.",
|
"clear":"Elimina più ticket contemporaneamente.",
|
||||||
"clearFilter":"Il filtro per eliminare ticket.",
|
"clearFilter":"Il filtro per eliminare ticket.",
|
||||||
"clearFilters":{
|
"clearFilters":{
|
||||||
@@ -417,6 +484,7 @@
|
|||||||
"unpin":"Non Fissati",
|
"unpin":"Non Fissati",
|
||||||
"autoclose":"Chiusura Automatica"
|
"autoclose":"Chiusura Automatica"
|
||||||
},
|
},
|
||||||
|
|
||||||
"autoclose":"Gestisci la chiusura automatica in un ticket.",
|
"autoclose":"Gestisci la chiusura automatica in un ticket.",
|
||||||
"autocloseDisable":"Disabilita la chiusura automatica in questo ticket.",
|
"autocloseDisable":"Disabilita la chiusura automatica in questo ticket.",
|
||||||
"autocloseEnable":"Abilita la chiusura automatica in questo ticket.",
|
"autocloseEnable":"Abilita la chiusura automatica in questo ticket.",
|
||||||
@@ -424,7 +492,19 @@
|
|||||||
"autodelete":"Gestisci la cancellazione automatica in un ticket.",
|
"autodelete":"Gestisci la cancellazione automatica in un ticket.",
|
||||||
"autodeleteDisable":"Disabilita la cancellazione automatica in questo ticket.",
|
"autodeleteDisable":"Disabilita la cancellazione automatica in questo ticket.",
|
||||||
"autodeleteEnable":"Abilita la cancellazione automatica in questo ticket.",
|
"autodeleteEnable":"Abilita la cancellazione automatica in questo ticket.",
|
||||||
"autodeleteEnableTime":"Il numero di giorni in cui questo ticket deve essere inattivo per eliminarlo."
|
"autodeleteEnableTime":"Il numero di giorni in cui questo ticket deve essere inattivo per eliminarlo.",
|
||||||
|
|
||||||
|
"topic":"Gestisci l'argomento del canale ticket.",
|
||||||
|
"topicSet":"Inserisci l'argomento del canale ticket.",
|
||||||
|
"topicValue":"Il nuovo argomento del canale ticket.",
|
||||||
|
"topicList":"Ottieni una lista di tutti i ticket con i loro argomenti e statistiche.",
|
||||||
|
"priority":"Gestisci la priorità del ticket.",
|
||||||
|
"prioritySet":"Inserisci la priorità del ticket.",
|
||||||
|
"priorityValue":"La priorità del canale.",
|
||||||
|
"priorityGet":"Ottieni la priorità del ticket.",
|
||||||
|
"priorityList":"Ottieni una lista di tutti i ticket con il loro stato di priorità.",
|
||||||
|
"transfer":"Trasferisci la proprietà da un utente ad un'altro.",
|
||||||
|
"transferUser":"L'utente al quale trasferire."
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"help":"Ottieni un elenco di tutti i comandi disponibili.",
|
"help":"Ottieni un elenco di tutti i comandi disponibili.",
|
||||||
@@ -452,7 +532,16 @@
|
|||||||
"autocloseDisable":"Disabilita la chiusura automatica in questo ticket.",
|
"autocloseDisable":"Disabilita la chiusura automatica in questo ticket.",
|
||||||
"autocloseEnable":"Abilita la chiusura automatica in questo ticket.",
|
"autocloseEnable":"Abilita la chiusura automatica in questo ticket.",
|
||||||
"autodeleteDisable":"Disabilita la cancellazione automatica in questo ticket.",
|
"autodeleteDisable":"Disabilita la cancellazione automatica in questo ticket.",
|
||||||
"autodeleteEnable":"Abilita la cancellazione automatica in questo ticket."
|
"autodeleteEnable":"Abilita la cancellazione automatica in questo ticket.",
|
||||||
|
"categories":{
|
||||||
|
"general":"Comandi generali",
|
||||||
|
"basicTicket":"Comandi basici ticket",
|
||||||
|
"advancedTicket":"Comandi avanzati ticket",
|
||||||
|
"userTicket":"Comandi ticket utente",
|
||||||
|
"admin":"Comandi admin",
|
||||||
|
"advanced":"Comandi avanzati",
|
||||||
|
"extra":"Comandi extra"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes":{
|
"scopes":{
|
||||||
@@ -460,7 +549,8 @@
|
|||||||
"system":"Statistiche di Sistema",
|
"system":"Statistiche di Sistema",
|
||||||
"user":"Statistiche Utente",
|
"user":"Statistiche Utente",
|
||||||
"ticket":"Statistiche Ticket",
|
"ticket":"Statistiche Ticket",
|
||||||
"participants":"Partecipanti"
|
"participants":"Partecipanti",
|
||||||
|
"messages":"Messaggi"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated":"Ticket Creati",
|
"ticketsCreated":"Ticket Creati",
|
||||||
@@ -472,7 +562,47 @@
|
|||||||
"ticketsPinned":"Ticket Fissati",
|
"ticketsPinned":"Ticket Fissati",
|
||||||
"ticketsMoved":"Ticket Spostati",
|
"ticketsMoved":"Ticket Spostati",
|
||||||
"usersBlacklisted":"Utenti Blacklistati",
|
"usersBlacklisted":"Utenti Blacklistati",
|
||||||
"transcriptsCreated":"Trascrizioni Create"
|
"transcriptsCreated":"Trascrizioni Create",
|
||||||
|
"ticketsAutodeleted":"Tickets Autoeliminati",
|
||||||
|
"ticketsTransferred":"Tickets Trasferiti",
|
||||||
|
"ticketVolume":"Volume dei Ticket",
|
||||||
|
"averageTickets":"Ticket medi/Utente",
|
||||||
|
"currentTickets":"Ticket Attuali",
|
||||||
|
"age":"Età Ticket",
|
||||||
|
"responseTime":"Tempo di Risposta",
|
||||||
|
"resolutionTime":"Tempo di Risoluzione",
|
||||||
|
"createdOn":"Creato il",
|
||||||
|
"createdBy":"Creato da",
|
||||||
|
"closedOn":"Chiuso il",
|
||||||
|
"closedBy":"Chiuso da",
|
||||||
|
"claimedOn":"Claimato il",
|
||||||
|
"claimedBy":"Claimato da",
|
||||||
|
"pinnedOn":"Fissato il",
|
||||||
|
"pinnedBy":"Fissato da",
|
||||||
|
"deletedOn":"Eliminato il",
|
||||||
|
"deletedBy":"Eliminato da"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"Developer",
|
||||||
|
"serverOwner":"Proprietario Server",
|
||||||
|
"serverAdmin":"Admin Server",
|
||||||
|
"moderator":"Team di Moderazione",
|
||||||
|
"support":"Team di Supporto",
|
||||||
|
"member":"Membro"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"Seleziona il tuo Ticket",
|
||||||
|
"selectRole":"Seleziona il tuo ruolo",
|
||||||
|
"selectOption":"Seleziona la tua opzione"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"Urgente",
|
||||||
|
"veryHigh":"Molto Alto",
|
||||||
|
"high":"Alto",
|
||||||
|
"normal":"Normale",
|
||||||
|
"low":"Basso",
|
||||||
|
"veryLow":"Molto Basso",
|
||||||
|
"none":"Nullo"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+221
-85
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["HanumeshGupta"],
|
"translators":["HanumeshGupta","ChatGPT"],
|
||||||
"lastedited":"19/06/2025",
|
"lastedited":"16/02/2026",
|
||||||
"language":"Japanese",
|
"language":"Japanese",
|
||||||
"automated":true
|
"automated":true
|
||||||
},
|
},
|
||||||
@@ -12,78 +12,95 @@
|
|||||||
"headerOpenTicket":"チケットを開く",
|
"headerOpenTicket":"チケットを開く",
|
||||||
"typeWarning":"[警告]",
|
"typeWarning":"[警告]",
|
||||||
"typeInfo":"[情報]",
|
"typeInfo":"[情報]",
|
||||||
"headerConfigChecker": "コンフィグチェッカー",
|
"headerConfigChecker":"コンフィグチェッカー",
|
||||||
"headerDescription": "設定ファイルのエラーをチェック!",
|
"headerDescription":"設定ファイルのエラーをチェック!",
|
||||||
"footerError": "{0}が修正されるまでボットは起動しません!",
|
"footerError":"{0}が修正されるまでボットは起動しません!",
|
||||||
"footerWarning": "起動前にすべての{0}を修正することを推奨します!",
|
"footerWarning":"起動前にすべての{0}を修正することを推奨します!",
|
||||||
"footerSupport": "サポート: {0} - ドキュメント: {1}",
|
"footerSupport":"サポート: {0} - ドキュメント: {1}",
|
||||||
"compactInformation": "詳細は{0}を使用してください!",
|
"compactInformation":"詳細は{0}を使用してください!",
|
||||||
"dataPath": "パス",
|
"dataPath":"パス",
|
||||||
"dataDocs": "ドキュメント",
|
"dataDocs":"ドキュメント",
|
||||||
"dataMessages": "メッセージ"
|
"dataMessages":"メッセージ"
|
||||||
},
|
},
|
||||||
"messages":{
|
"messages":{
|
||||||
"stringTooShort": "この文字列は{0}文字より短くできません!",
|
"stringTooShort":"この文字列は{0}文字より短くできません!",
|
||||||
"stringTooLong": "この文字列は{0}文字より長くできません!",
|
"stringTooLong":"この文字列は{0}文字より長くできません!",
|
||||||
"stringLengthInvalid": "この文字列は{0}文字でなければなりません!",
|
"stringLengthInvalid":"この文字列は{0}文字でなければなりません!",
|
||||||
"stringStartsWith": "この文字列は「{0}」で始まる必要があります!",
|
"stringStartsWith":"この文字列は「{0}」で始まる必要があります!",
|
||||||
"stringEndsWith": "この文字列は「{0}」で終わる必要があります!",
|
"stringEndsWith":"この文字列は「{0}」で終わる必要があります!",
|
||||||
"stringContains": "この文字列には「{0}」が含まれている必要があります!",
|
"stringContains":"この文字列には「{0}」が含まれている必要があります!",
|
||||||
"stringChoices": "この文字列は次のいずれかの値でなければなりません: {0}!",
|
"stringChoices":"この文字列は次のいずれかの値でなければなりません: {0}!",
|
||||||
"stringRegex": "この文字列は無効です!",
|
"stringRegex":"この文字列は無効です!",
|
||||||
"numberTooShort": "この数値は{0}桁より短くできません!",
|
"stringInvertedContains":"この文字列には {0} を含めることはできません!",
|
||||||
"numberTooLong": "この数値は{0}桁より長くできません!",
|
"stringLowercase":"この文字列はすべて小文字で書かなければなりません!",
|
||||||
"numberLengthInvalid": "この数値は{0}桁でなければなりません!",
|
"stringUppercase":"この文字列はすべて大文字で書かなければなりません!",
|
||||||
"numberTooSmall": "この数値は{0}以上でなければなりません!",
|
"stringSpecialCharacters":"この文字列には特殊文字を含めることはできません!(a-z、0-9、スペースのみ)",
|
||||||
"numberTooLarge": "この数値は{0}以下でなければなりません!",
|
"stringNoSpaces":"この文字列にはスペースを含めることはできません!",
|
||||||
"numberNotEqual": "この数値は{0}でなければなりません!",
|
"stringCapitalWord":"この文字列の各単語は大文字で始めることを推奨します!",
|
||||||
"numberStep": "この数値は{0}の倍数でなければなりません!",
|
"stringCapitalSentence":"この文字列の一部の文が大文字で始まっていないようです!",
|
||||||
"numberStepOffset": "この数値は{1}から始まる{0}の倍数でなければなりません!",
|
"stringPunctuation":"この文字列の文が句読点で終わっていないようです!",
|
||||||
"numberStartsWith": "この数値は「{0}」で始まる必要があります!",
|
|
||||||
"numberEndsWith": "この数値は「{0}」で終わる必要があります!",
|
"numberTooShort":"この数値は{0}桁より短くできません!",
|
||||||
"numberContains": "この数値には「{0}」が含まれている必要があります!",
|
"numberTooLong":"この数値は{0}桁より長くできません!",
|
||||||
"numberChoices": "この数値は次のいずれかの値でなければなりません: {0}!",
|
"numberLengthInvalid":"この数値は{0}桁でなければなりません!",
|
||||||
"numberFloat": "この数値は小数にできません!",
|
"numberTooSmall":"この数値は{0}以上でなければなりません!",
|
||||||
"numberNegative": "この数値は負の値にできません!",
|
"numberTooLarge":"この数値は{0}以下でなければなりません!",
|
||||||
"numberPositive": "この数値は正の値にできません!",
|
"numberNotEqual":"この数値は{0}でなければなりません!",
|
||||||
"numberZero": "この数値はゼロにできません!",
|
"numberStep":"この数値は{0}の倍数でなければなりません!",
|
||||||
"booleanTrue": "このブール値はtrueにできません!",
|
"numberStepOffset":"この数値は{1}から始まる{0}の倍数でなければなりません!",
|
||||||
"booleanFalse": "このブール値はfalseにできません!",
|
"numberStartsWith":"この数値は「{0}」で始まる必要があります!",
|
||||||
"arrayEmptyDisabled": "この配列を空にすることは許可されていません!",
|
"numberEndsWith":"この数値は「{0}」で終わる必要があります!",
|
||||||
"arrayEmptyRequired": "この配列は空でなければなりません!",
|
"numberContains":"この数値には「{0}」が含まれている必要があります!",
|
||||||
"arrayTooShort": "この配列の長さは少なくとも{0}でなければなりません!",
|
"numberChoices":"この数値は次のいずれかの値でなければなりません: {0}!",
|
||||||
"arrayTooLong": "この配列の長さは最大{0}でなければなりません!",
|
"numberFloat":"この数値は小数にできません!",
|
||||||
"arrayLengthInvalid": "この配列の長さは{0}でなければなりません!",
|
"numberNegative":"この数値は負の値にできません!",
|
||||||
"arrayInvalidTypes": "この配列に含めることができる型は次のみです: {0}!",
|
"numberPositive":"この数値は正の値にできません!",
|
||||||
"arrayDouble": "この配列では同じ値を2回使用できません!",
|
"numberZero":"この数値はゼロにできません!",
|
||||||
"discordInvalidId": "これは無効なDiscordの{0}IDです!",
|
"numberNan":"この数値は NaN(Not A Number)であってはなりません!",
|
||||||
"discordInvalidIdOptions": "これは無効なDiscordの{0}IDです! 代わりに次のいずれかを使用できます: {1}!",
|
"numberInvertedContains":"この数値には {0} を含めることはできません!",
|
||||||
"discordInvalidToken": "これは無効なDiscordトークンです(構文的に)!",
|
|
||||||
"colorInvalid": "これは無効なHEXカラーコードです!",
|
"booleanTrue":"このブール値はtrueにできません!",
|
||||||
"emojiTooShort": "この文字列には少なくとも{0}個の絵文字が必要です!",
|
"booleanFalse":"このブール値はfalseにできません!",
|
||||||
"emojiTooLong": "この文字列には最大{0}個の絵文字しか含められません!",
|
|
||||||
"emojiCustom": "この絵文字はDiscordのカスタム絵文字にできません!",
|
"arrayEmptyDisabled":"この配列を空にすることは許可されていません!",
|
||||||
"emojiInvalid": "これは無効な絵文字です!",
|
"arrayEmptyRequired":"この配列は空でなければなりません!",
|
||||||
"urlInvalid": "このURLは無効です!",
|
"arrayTooShort":"この配列の長さは少なくとも{0}でなければなりません!",
|
||||||
"urlInvalidHttp": "This url can only use the https:// protocol!",
|
"arrayTooLong":"この配列の長さは最大{0}でなければなりません!",
|
||||||
"urlInvalidProtocol": "This url can only use the http:// & https:// protocols!",
|
"arrayLengthInvalid":"この配列の長さは{0}でなければなりません!",
|
||||||
"urlInvalidHostname": "このURLのホスト名は許可されていません!",
|
"arrayInvalidTypes":"この配列に含めることができる型は次のみです: {0}!",
|
||||||
"urlInvalidExtension": "このURLの拡張子が無効です! 次のいずれかを選択してください: {0}!",
|
"arrayDouble":"この配列では同じ値を2回使用できません!",
|
||||||
"urlInvalidPath": "このURLのパスが無効です!",
|
|
||||||
"idNotUnique": "このIDは一意ではありません。別のIDを使用してください!",
|
"discordInvalidId":"これは無効なDiscordの{0}IDです!",
|
||||||
"idNonExistent": "ID「{0}」は存在しません!",
|
"discordInvalidIdOptions":"これは無効なDiscordの{0}IDです! 代わりに次のいずれかを使用できます: {1}!",
|
||||||
"invalidType": "このプロパティは{0}型でなければなりません!",
|
"discordInvalidToken":"これは無効なDiscordトークンです(構文的に)!",
|
||||||
"propertyMissing": "このオブジェクトにはプロパティ「{0}」がありません!",
|
"colorInvalid":"これは無効なHEXカラーコードです!",
|
||||||
"propertyOptional": "このオブジェクトではプロパティ「{0}」はオプションです!",
|
"emojiTooShort":"この文字列には少なくとも{0}個の絵文字が必要です!",
|
||||||
"objectDisabled": "このオブジェクトは無効です。{0}を使用して有効にしてください!",
|
"emojiTooLong":"この文字列には最大{0}個の絵文字しか含められません!",
|
||||||
"nullInvalid": "このプロパティはnullにできません!",
|
"emojiCustom":"この絵文字はDiscordのカスタム絵文字にできません!",
|
||||||
"switchInvalidType": "これは次のいずれかの型でなければなりません: {0}!",
|
"emojiInvalid":"これは無効な絵文字です!",
|
||||||
"objectSwitchInvalid": "このオブジェクトは次のいずれかの型でなければなりません: {0}!",
|
"urlInvalid":"このURLは無効です!",
|
||||||
"invalidLanguage": "これは無効な言語です!",
|
"urlInvalidHttp":"This url can only use the https:// protocol!",
|
||||||
"invalidButton": "このボタンには少なくとも「{0}」または「{1}」が必要です!",
|
"urlInvalidProtocol":"This url can only use the http:// & https:// protocols!",
|
||||||
"unusedOption": "オプション「{0}」はどこでも使用されていません!",
|
"urlInvalidHostname":"このURLのホスト名は許可されていません!",
|
||||||
"unusedQuestion": "質問「{0}」はどこでも使用されていません!",
|
"urlInvalidExtension":"このURLの拡張子が無効です! 次のいずれかを選択してください: {0}!",
|
||||||
"dropdownOption": "ドロップダウンが有効なパネルには「ticket」タイプのオプションのみ含めることができます!"
|
"urlInvalidPath":"このURLのパスが無効です!",
|
||||||
|
"idNotUnique":"このIDは一意ではありません。別のIDを使用してください!",
|
||||||
|
"idNonExistent":"ID「{0}」は存在しません!",
|
||||||
|
|
||||||
|
"invalidType":"このプロパティは{0}型でなければなりません!",
|
||||||
|
"propertyMissing":"このオブジェクトにはプロパティ「{0}」がありません!",
|
||||||
|
"propertyOptional":"このオブジェクトではプロパティ「{0}」はオプションです!",
|
||||||
|
"objectDisabled":"このオブジェクトは無効です。{0}を使用して有効にしてください!",
|
||||||
|
"nullInvalid":"このプロパティはnullにできません!",
|
||||||
|
"switchInvalidType":"これは次のいずれかの型でなければなりません: {0}!",
|
||||||
|
"objectSwitchInvalid":"このオブジェクトは次のいずれかの型でなければなりません: {0}!",
|
||||||
|
|
||||||
|
"invalidLanguage":"これは無効な言語です!",
|
||||||
|
"invalidButton":"このボタンには少なくとも「{0}」または「{1}」が必要です!",
|
||||||
|
"unusedOption":"オプション「{0}」はどこでも使用されていません!",
|
||||||
|
"unusedQuestion":"質問「{0}」はどこでも使用されていません!",
|
||||||
|
"dropdownOption":"ドロップダウンが有効なパネルには「ticket」タイプのオプションのみ含めることができます!",
|
||||||
|
"customInvalidVersion":"設定ファイルに指定されたバージョンが一致しません! 設定を最新バージョンに更新してください!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
@@ -126,6 +143,7 @@
|
|||||||
"blacklistAddDm":"ブラックリストに追加されました",
|
"blacklistAddDm":"ブラックリストに追加されました",
|
||||||
"blacklistRemoveDm":"ブラックリストから解除されました",
|
"blacklistRemoveDm":"ブラックリストから解除されました",
|
||||||
"clear":"チケットが一括削除されました",
|
"clear":"チケットが一括削除されました",
|
||||||
|
"clearTickets":"チケットをクリア",
|
||||||
"roles":"ロールが更新されました",
|
"roles":"ロールが更新されました",
|
||||||
|
|
||||||
"autoclose":"チケットが自動閉じされました",
|
"autoclose":"チケットが自動閉じされました",
|
||||||
@@ -133,7 +151,12 @@
|
|||||||
"autocloseDisabled":"自動閉じが無効化されました",
|
"autocloseDisabled":"自動閉じが無効化されました",
|
||||||
"autodelete":"チケットが自動削除されました",
|
"autodelete":"チケットが自動削除されました",
|
||||||
"autodeleteEnabled":"自動削除が有効化されました",
|
"autodeleteEnabled":"自動削除が有効化されました",
|
||||||
"autodeleteDisabled":"自動削除が無効化されました"
|
"autodeleteDisabled":"自動削除が無効化されました",
|
||||||
|
|
||||||
|
"topicSet":"トピックが変更されました",
|
||||||
|
"prioritySet":"優先度が変更されました",
|
||||||
|
"priorityGet":"チケットの優先度",
|
||||||
|
"transfer":"チケットが転送されました"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create":"チケットが作成されました。下のボタンをクリックしてアクセスしてください!",
|
"create":"チケットが作成されました。下のボタンをクリックしてアクセスしてください!",
|
||||||
@@ -174,7 +197,12 @@
|
|||||||
"ticketMessageLimit":"同時に作成できるチケットは{0}件までです!",
|
"ticketMessageLimit":"同時に作成できるチケットは{0}件までです!",
|
||||||
"ticketMessageAutoclose":"このチケットは{0}時間非アクティブの場合に自動閉じされます!",
|
"ticketMessageAutoclose":"このチケットは{0}時間非アクティブの場合に自動閉じされます!",
|
||||||
"ticketMessageAutodelete":"このチケットは{0}日間非アクティブの場合に自動削除されます!",
|
"ticketMessageAutodelete":"このチケットは{0}日間非アクティブの場合に自動削除されます!",
|
||||||
"panelReady":"下にパネルが表示されます!\nこのメッセージは削除可能です!"
|
"panelReady":"パネルは次のメッセージで利用できます!\nこのメッセージは削除しても構いません!",
|
||||||
|
|
||||||
|
"topicSet":"チャンネルのトピックは {0} によって正常に変更されました!",
|
||||||
|
"prioritySet":"チケットの優先度は {1} により {0} に正常に変更されました!",
|
||||||
|
"priorityGet":"このチケットの現在の優先度は {0} です。",
|
||||||
|
"transfer":"チケットの所有権は {2} によって {0} から {1} に正常に転送されました!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder":"このチケットを閉じた理由は?",
|
"closePlaceholder":"このチケットを閉じた理由は?",
|
||||||
@@ -214,7 +242,14 @@
|
|||||||
"blacklistRemoveLog":"{1}によって{0}がブラックリストから解除されました!",
|
"blacklistRemoveLog":"{1}によって{0}がブラックリストから解除されました!",
|
||||||
"blacklistAddDm":"あなたはサーバーのブラックリストに追加されました!\n今後チケットを作成できなくなります!",
|
"blacklistAddDm":"あなたはサーバーのブラックリストに追加されました!\n今後チケットを作成できなくなります!",
|
||||||
"blacklistRemoveDm":"あなたはサーバーのブラックリストから解除されました!\n再びチケットを作成できるようになりました!",
|
"blacklistRemoveDm":"あなたはサーバーのブラックリストから解除されました!\n再びチケットを作成できるようになりました!",
|
||||||
"clearLog":"{1}によって{0}件のチケットが削除されました!"
|
"clearLog":"{1}によって{0}件のチケットが削除されました!",
|
||||||
|
|
||||||
|
"transferLog":"このチケットの所有権は {2} によって {0} から {1} に転送されました!",
|
||||||
|
"transferDm":"あなたのチケットの所有権はサーバー内で {0} から {1} に転送されました!",
|
||||||
|
"prioritySetLog":"このチケットの優先度は {1} により {0} に変更されました!",
|
||||||
|
"prioritySetDm":"あなたのチケットの優先度はサーバー内で {0} に変更されました!",
|
||||||
|
"roleUpdateLog":"{0} がロールを更新しました!",
|
||||||
|
"roleUpdateDm":"サーバー内のあなたのロールが更新されました!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
@@ -235,7 +270,19 @@
|
|||||||
"retry":"再試行",
|
"retry":"再試行",
|
||||||
"continue":"トランスクリプトなしで削除",
|
"continue":"トランスクリプトなしで削除",
|
||||||
"backup":"バックアップトランスクリプトを作成",
|
"backup":"バックアップトランスクリプトを作成",
|
||||||
"error":"トランスクリプトの作成中にエラーが発生しました。\nどうしますか?\n\nいずれかのボタンをクリックするまでチケットは削除されません。"
|
"error":"トランスクリプトの作成中にエラーが発生しました。\nどうしますか?\n\nいずれかのボタンをクリックするまでチケットは削除されません。",
|
||||||
|
"title":"トランスクリプトエラー"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"メッセージ",
|
||||||
|
"embedTitle":"EMBED",
|
||||||
|
"fileTitle":"ファイル",
|
||||||
|
"fieldsTitle":"フィールド",
|
||||||
|
"reactionsTitle":"リアクション",
|
||||||
|
"statsTitle":"統計",
|
||||||
|
"emptyContent":"<内容は空です>",
|
||||||
|
"noTitle":"<タイトルなし>",
|
||||||
|
"noDesc":"<説明なし>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
@@ -251,7 +298,8 @@
|
|||||||
"unknownPanel":"不明なパネル",
|
"unknownPanel":"不明なパネル",
|
||||||
"notInGuild":"サーバー内にいません",
|
"notInGuild":"サーバー内にいません",
|
||||||
"channelRename":"チャンネル名を変更できません",
|
"channelRename":"チャンネル名を変更できません",
|
||||||
"busy":"チケットは使用中です"
|
"busy":"チケットは使用中です",
|
||||||
|
"permissionError":"権限エラー"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo":"詳細はボットの所有者に問い合わせてください!",
|
"askForInfo":"詳細はボットの所有者に問い合わせてください!",
|
||||||
@@ -274,7 +322,10 @@
|
|||||||
"notInGuild":"この{0}はDMでは動作しません!サーバー内で再試行してください!",
|
"notInGuild":"この{0}はDMでは動作しません!サーバー内で再試行してください!",
|
||||||
"channelRename":"Discordのレートリミットにより、現在チャンネル名を変更できません。10分以内に自動的に変更されます。",
|
"channelRename":"Discordのレートリミットにより、現在チャンネル名を変更できません。10分以内に自動的に変更されます。",
|
||||||
"channelRenameSource":"エラーの原因:{0}",
|
"channelRenameSource":"エラーの原因:{0}",
|
||||||
"busy":"この{0}は使用できません!\nチケットは現在処理中です。\n\n数秒後にもう一度お試しください!"
|
"busy":"この{0}は使用できません!\nチケットは現在処理中です。\n\n数秒後にもう一度お試しください!",
|
||||||
|
"closeBeforeMessage":"ユーザーがメッセージを送信する前に、このチケットを閉じたり削除したりすることはできません。",
|
||||||
|
"closeBeforeAdminMessage":"チケット管理者またはサポートメンバーがメッセージを送信する前に、このチケットを閉じたり削除したりすることはできません。",
|
||||||
|
"unableToCreateTicket":"チケットを作成することはできません。"
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex":"値がパターンに一致しません!",
|
"stringRegex":"値がパターンに一致しません!",
|
||||||
@@ -325,7 +376,6 @@
|
|||||||
"added":"追加済み",
|
"added":"追加済み",
|
||||||
"removed":"削除済み",
|
"removed":"削除済み",
|
||||||
"filter":"フィルター",
|
"filter":"フィルター",
|
||||||
"claimedBy":"{0}が引き受け",
|
|
||||||
"method":"方法",
|
"method":"方法",
|
||||||
"type":"タイプ",
|
"type":"タイプ",
|
||||||
"blacklisted":"ブラックリスト",
|
"blacklisted":"ブラックリスト",
|
||||||
@@ -349,7 +399,27 @@
|
|||||||
"status":"ステータス",
|
"status":"ステータス",
|
||||||
"claimed":"引き受け済み",
|
"claimed":"引き受け済み",
|
||||||
"pinned":"ピン留め済み",
|
"pinned":"ピン留め済み",
|
||||||
"creationDate":"作成日時"
|
"creationDate":"作成日時",
|
||||||
|
|
||||||
|
"noone":"該当なし",
|
||||||
|
"open":"オープン",
|
||||||
|
"closed":"クローズ",
|
||||||
|
"priority":"優先度",
|
||||||
|
"participants":"参加者",
|
||||||
|
"yes":"はい",
|
||||||
|
"no":"いいえ",
|
||||||
|
"option":"オプション",
|
||||||
|
"topic":"トピック",
|
||||||
|
"uptime":"システム稼働時間",
|
||||||
|
"messages":"メッセージ",
|
||||||
|
"embeds":"埋め込み",
|
||||||
|
"files":"ファイル",
|
||||||
|
"components":"コンポーネント",
|
||||||
|
"cooldown":"クールダウン",
|
||||||
|
"maxTickets":"最大チケット数",
|
||||||
|
"admins":"管理者",
|
||||||
|
"roles":"ロール",
|
||||||
|
"size":"サイズ"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text":"テキスト",
|
"text":"テキスト",
|
||||||
@@ -378,6 +448,7 @@
|
|||||||
"unclaim":"チケットの引き受けを解除します。",
|
"unclaim":"チケットの引き受けを解除します。",
|
||||||
"pin":"チケットをピン留めします。",
|
"pin":"チケットをピン留めします。",
|
||||||
"unpin":"チケットのピン留めを解除します。",
|
"unpin":"チケットのピン留めを解除します。",
|
||||||
|
|
||||||
"move":"チケットを移動します。",
|
"move":"チケットを移動します。",
|
||||||
"moveId":"移動先のオプション識別子。",
|
"moveId":"移動先のオプション識別子。",
|
||||||
"rename":"チケット名を変更します。",
|
"rename":"チケット名を変更します。",
|
||||||
@@ -386,6 +457,7 @@
|
|||||||
"addUser":"追加するユーザー。",
|
"addUser":"追加するユーザー。",
|
||||||
"remove":"ユーザーをチケットから削除します。",
|
"remove":"ユーザーをチケットから削除します。",
|
||||||
"removeUser":"削除するユーザー。",
|
"removeUser":"削除するユーザー。",
|
||||||
|
|
||||||
"blacklist":"チケットブラックリストを管理します。",
|
"blacklist":"チケットブラックリストを管理します。",
|
||||||
"blacklistView":"現在のブラックリストを表示します。",
|
"blacklistView":"現在のブラックリストを表示します。",
|
||||||
"blacklistAdd":"ユーザーをブラックリストに追加します。",
|
"blacklistAdd":"ユーザーをブラックリストに追加します。",
|
||||||
@@ -399,6 +471,7 @@
|
|||||||
"statsUserUser":"表示するユーザー。",
|
"statsUserUser":"表示するユーザー。",
|
||||||
"statsTicket":"サーバー内のチケット統計を表示します。",
|
"statsTicket":"サーバー内のチケット統計を表示します。",
|
||||||
"statsTicketTicket":"表示するチケット。",
|
"statsTicketTicket":"表示するチケット。",
|
||||||
|
|
||||||
"clear":"複数のチケットを同時に削除します。",
|
"clear":"複数のチケットを同時に削除します。",
|
||||||
"clearFilter":"チケットを一括削除するフィルター。",
|
"clearFilter":"チケットを一括削除するフィルター。",
|
||||||
"clearFilters":{
|
"clearFilters":{
|
||||||
@@ -411,6 +484,7 @@
|
|||||||
"unpin":"ピン留め解除済み",
|
"unpin":"ピン留め解除済み",
|
||||||
"autoclose":"自動閉じ済み"
|
"autoclose":"自動閉じ済み"
|
||||||
},
|
},
|
||||||
|
|
||||||
"autoclose":"チケットの自動閉じを管理します。",
|
"autoclose":"チケットの自動閉じを管理します。",
|
||||||
"autocloseDisable":"このチケットの自動閉じを無効にします。",
|
"autocloseDisable":"このチケットの自動閉じを無効にします。",
|
||||||
"autocloseEnable":"このチケットの自動閉じを有効にします。",
|
"autocloseEnable":"このチケットの自動閉じを有効にします。",
|
||||||
@@ -418,7 +492,19 @@
|
|||||||
"autodelete":"チケットの自動削除を管理します。",
|
"autodelete":"チケットの自動削除を管理します。",
|
||||||
"autodeleteDisable":"このチケットの自動削除を無効にします。",
|
"autodeleteDisable":"このチケットの自動削除を無効にします。",
|
||||||
"autodeleteEnable":"このチケットの自動削除を有効にします。",
|
"autodeleteEnable":"このチケットの自動削除を有効にします。",
|
||||||
"autodeleteEnableTime":"チケットを自動削除する非アクティブ時間(日単位)。"
|
"autodeleteEnableTime":"チケットを自動削除する非アクティブ時間(日単位)。",
|
||||||
|
|
||||||
|
"topic":"チケットチャネルのトピックを管理します。",
|
||||||
|
"topicSet":"チケットチャネルのトピックを設定します。",
|
||||||
|
"topicValue":"チャンネルの新しいトピック。",
|
||||||
|
"topicList":"すべてのチケットをトピックと統計付きで一覧表示します。",
|
||||||
|
"priority":"チケットの優先度を管理します。",
|
||||||
|
"prioritySet":"チケットの優先度を設定します。",
|
||||||
|
"priorityValue":"チャンネルの優先度。",
|
||||||
|
"priorityGet":"チケットの優先度を取得します。",
|
||||||
|
"priorityList":"すべてのチケットを優先度ステータス付きで一覧表示します。",
|
||||||
|
"transfer":"チケットの所有権を別のユーザーに転送します。",
|
||||||
|
"transferUser":"転送先のユーザー。"
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"help":"利用可能なすべてのコマンドのリストを表示します。",
|
"help":"利用可能なすべてのコマンドのリストを表示します。",
|
||||||
@@ -446,7 +532,16 @@
|
|||||||
"autocloseDisable":"このチケットの自動閉じを無効にします。",
|
"autocloseDisable":"このチケットの自動閉じを無効にします。",
|
||||||
"autocloseEnable":"このチケットの自動閉じを有効にします。",
|
"autocloseEnable":"このチケットの自動閉じを有効にします。",
|
||||||
"autodeleteDisable":"このチケットの自動削除を無効にします。",
|
"autodeleteDisable":"このチケットの自動削除を無効にします。",
|
||||||
"autodeleteEnable":"このチケットの自動削除を有効にします。"
|
"autodeleteEnable":"このチケットの自動削除を有効にします。",
|
||||||
|
"categories":{
|
||||||
|
"general":"一般コマンド",
|
||||||
|
"basicTicket":"基本チケットコマンド",
|
||||||
|
"advancedTicket":"高度なチケットコマンド",
|
||||||
|
"userTicket":"ユーザーチケットコマンド",
|
||||||
|
"admin":"管理者コマンド",
|
||||||
|
"advanced":"高度なコマンド",
|
||||||
|
"extra":"追加コマンド"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes":{
|
"scopes":{
|
||||||
@@ -454,7 +549,8 @@
|
|||||||
"system":"システム統計",
|
"system":"システム統計",
|
||||||
"user":"ユーザー統計",
|
"user":"ユーザー統計",
|
||||||
"ticket":"チケット統計",
|
"ticket":"チケット統計",
|
||||||
"participants":"参加者"
|
"participants":"参加者",
|
||||||
|
"messages":"メッセージ"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated":"作成済みチケット",
|
"ticketsCreated":"作成済みチケット",
|
||||||
@@ -466,7 +562,47 @@
|
|||||||
"ticketsPinned":"ピン留め済みチケット",
|
"ticketsPinned":"ピン留め済みチケット",
|
||||||
"ticketsMoved":"移動済みチケット",
|
"ticketsMoved":"移動済みチケット",
|
||||||
"usersBlacklisted":"ブラックリストユーザー",
|
"usersBlacklisted":"ブラックリストユーザー",
|
||||||
"transcriptsCreated":"作成済みトランスクリプト"
|
"transcriptsCreated":"作成済みトランスクリプト",
|
||||||
|
"ticketsAutodeleted":"自動削除されたチケット",
|
||||||
|
"ticketsTransferred":"転送されたチケット",
|
||||||
|
"ticketVolume":"チケット量",
|
||||||
|
"averageTickets":"平均チケット数/ユーザー",
|
||||||
|
"currentTickets":"現在のチケット",
|
||||||
|
"age":"チケットの経過時間",
|
||||||
|
"responseTime":"応答時間",
|
||||||
|
"resolutionTime":"解決時間",
|
||||||
|
"createdOn":"作成日",
|
||||||
|
"createdBy":"作成者",
|
||||||
|
"closedOn":"クローズ日",
|
||||||
|
"closedBy":"クローズ者",
|
||||||
|
"claimedOn":"引き受け日",
|
||||||
|
"claimedBy":"引き受け者",
|
||||||
|
"pinnedOn":"ピン留め日",
|
||||||
|
"pinnedBy":"ピン留め者",
|
||||||
|
"deletedOn":"削除日",
|
||||||
|
"deletedBy":"削除者"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"開発者",
|
||||||
|
"serverOwner":"サーバーオーナー",
|
||||||
|
"serverAdmin":"サーバー管理者",
|
||||||
|
"moderator":"モデレーターチーム",
|
||||||
|
"support":"サポートチーム",
|
||||||
|
"member":"メンバー"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"チケットを選択してください",
|
||||||
|
"selectRole":"ロールを選択してください",
|
||||||
|
"selectOption":"オプションを選択してください"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"緊急",
|
||||||
|
"veryHigh":"非常に高い",
|
||||||
|
"high":"高い",
|
||||||
|
"normal":"普通",
|
||||||
|
"low":"低い",
|
||||||
|
"veryLow":"非常に低い",
|
||||||
|
"none":"なし"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+538
-408
File diff suppressed because it is too large
Load Diff
+547
-404
File diff suppressed because it is too large
Load Diff
+567
-437
File diff suppressed because it is too large
Load Diff
+145
-15
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["TsgIndrius"],
|
"translators":["TsgIndrius"],
|
||||||
"lastedited":"26/01/2025",
|
"lastedited":"16/02/2026",
|
||||||
"language":"Lithuanian",
|
"language":"Lithuanian",
|
||||||
"automated":false
|
"automated":false
|
||||||
},
|
},
|
||||||
@@ -31,6 +31,14 @@
|
|||||||
"stringContains":"Šita eilutė turi turėti {0}!",
|
"stringContains":"Šita eilutė turi turėti {0}!",
|
||||||
"stringChoices":"Ši eilutė gali būti tik viena iš šių pasirinkimų: {0}!",
|
"stringChoices":"Ši eilutė gali būti tik viena iš šių pasirinkimų: {0}!",
|
||||||
"stringRegex":"Šita eilutė nėra teisinga!",
|
"stringRegex":"Šita eilutė nėra teisinga!",
|
||||||
|
"stringInvertedContains":"Šioje eilutėje neleidžiama naudoti šito {0}!",
|
||||||
|
"stringLowercase":"Ši eilutė turi būti rašoma tik mažosiomis raidėmis!",
|
||||||
|
"stringUppercase":"Ši eilutė turi būti rašoma tik didžiosiomis raidėmis!",
|
||||||
|
"stringSpecialCharacters":"Šioje eilutėje negali būti jokių specialiųjų simbolių! (tik a–z, 0–9 ir tarpai)",
|
||||||
|
"stringNoSpaces":"Šioje eilutėje negali būti tarpų!",
|
||||||
|
"stringCapitalWord":"Rekomenduojama, kad kiekvienas šios eilutės žodis prasidėtų didžiąja raide!",
|
||||||
|
"stringCapitalSentence":"Panašu, kad kai kurie sakiniai šioje eilutėje neprasideda didžiąja raide!",
|
||||||
|
"stringPunctuation":"Panašu, kad sakinys šioje eilutėje nesibaigia skyrybos ženklu!",
|
||||||
|
|
||||||
"numberTooShort":"Šis skaičius negali būti trumpesnis nei {0} raidžių!",
|
"numberTooShort":"Šis skaičius negali būti trumpesnis nei {0} raidžių!",
|
||||||
"numberTooLong":"Šis skaičius negali būti ilgesnis nei {0} raidžių!",
|
"numberTooLong":"Šis skaičius negali būti ilgesnis nei {0} raidžių!",
|
||||||
@@ -48,6 +56,8 @@
|
|||||||
"numberNegative":"Šitas numeris negali būti neigiamas!",
|
"numberNegative":"Šitas numeris negali būti neigiamas!",
|
||||||
"numberPositive":"Šitas numeris negali būti teigiamas!",
|
"numberPositive":"Šitas numeris negali būti teigiamas!",
|
||||||
"numberZero":"Šitas numeris negali būti nulinis!",
|
"numberZero":"Šitas numeris negali būti nulinis!",
|
||||||
|
"numberNan":"Šis skaičius negali būti nulis (ne skaičius)!",
|
||||||
|
"numberInvertedContains":"Šiame skaičiuje negali būti {0}!",
|
||||||
|
|
||||||
"booleanTrue":"Šis boolean negali būti tiesa!",
|
"booleanTrue":"Šis boolean negali būti tiesa!",
|
||||||
"booleanFalse":"Šis boolean negali būti neteisingas!",
|
"booleanFalse":"Šis boolean negali būti neteisingas!",
|
||||||
@@ -89,7 +99,8 @@
|
|||||||
"invalidButton":"Šis mygtukas turi turėti bent {0} arba {1}!",
|
"invalidButton":"Šis mygtukas turi turėti bent {0} arba {1}!",
|
||||||
"unusedOption":"Šis pasirinkimas {0} nėra naudojamas!",
|
"unusedOption":"Šis pasirinkimas {0} nėra naudojamas!",
|
||||||
"unusedQuestion":"Klausimas {0} nėra naudojamas niekur!",
|
"unusedQuestion":"Klausimas {0} nėra naudojamas niekur!",
|
||||||
"dropdownOption":"Pasirinkimas su įjungtu išskleidžiamuoju meniu gali būti tik „bilieto“ tipo parinktys!"
|
"dropdownOption":"Pasirinkimas su įjungtu išskleidžiamuoju meniu gali būti tik „bilieto“ tipo parinktys!",
|
||||||
|
"customInvalidVersion":"Jūsų nustatymuose nurodyta versija nesutampa! Įsitikinkite, kad atnaujinote nustatymus į naujausią versiją.!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
@@ -132,6 +143,7 @@
|
|||||||
"blacklistAddDm":"Žmogus buvo užblokuotas",
|
"blacklistAddDm":"Žmogus buvo užblokuotas",
|
||||||
"blacklistRemoveDm":"Pašalino užblokavima",
|
"blacklistRemoveDm":"Pašalino užblokavima",
|
||||||
"clear":"Bilietai išvalyti",
|
"clear":"Bilietai išvalyti",
|
||||||
|
"clearTickets":"Išvalyti Bilietus",
|
||||||
"roles":"Roles Atnaujinti",
|
"roles":"Roles Atnaujinti",
|
||||||
|
|
||||||
"autoclose":"Bilietas automatiškai uždarytas",
|
"autoclose":"Bilietas automatiškai uždarytas",
|
||||||
@@ -139,7 +151,12 @@
|
|||||||
"autocloseDisabled":"Automatinis uždarymas išjungtas",
|
"autocloseDisabled":"Automatinis uždarymas išjungtas",
|
||||||
"autodelete":"Bilietas automatiškai ištrintas",
|
"autodelete":"Bilietas automatiškai ištrintas",
|
||||||
"autodeleteEnabled":"Bilieto automatinis ištrynimas įjungtas",
|
"autodeleteEnabled":"Bilieto automatinis ištrynimas įjungtas",
|
||||||
"autodeleteDisabled":"Bilieto automatinis ištrynimas išjungtas"
|
"autodeleteDisabled":"Bilieto automatinis ištrynimas išjungtas",
|
||||||
|
|
||||||
|
"topicSet":"Tema pakeista",
|
||||||
|
"prioritySet":"Prilioritetas pakeistas",
|
||||||
|
"priorityGet":"Bilieto prilioritetas",
|
||||||
|
"transfer":"Bilietas perkeltas"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create":"Jūsų bilietas sukurtas. Spustelėkite toliau esantį mygtuką, kad jį pasiektumėte!",
|
"create":"Jūsų bilietas sukurtas. Spustelėkite toliau esantį mygtuką, kad jį pasiektumėte!",
|
||||||
@@ -180,7 +197,12 @@
|
|||||||
"ticketMessageLimit":"Tu gali sukurti tik {0} bilietus tuo pačiu metu!",
|
"ticketMessageLimit":"Tu gali sukurti tik {0} bilietus tuo pačiu metu!",
|
||||||
"ticketMessageAutoclose":"Šis bilietas bus automatiškai uždarytas, kai bus neaktyvus {0}h!",
|
"ticketMessageAutoclose":"Šis bilietas bus automatiškai uždarytas, kai bus neaktyvus {0}h!",
|
||||||
"ticketMessageAutodelete":"Šis bilietas bus automatiškai ištrintas, kai neaktyvus {0} dienas!",
|
"ticketMessageAutodelete":"Šis bilietas bus automatiškai ištrintas, kai neaktyvus {0} dienas!",
|
||||||
"panelReady":"Žemiau rasite skydelį!\nŠį pranešimą dabar galima ištrinti!"
|
"panelReady":"Skydelis pasiekiamas tolesniame pranešime!\nŠią žinutę dabar galima ištrinti!",
|
||||||
|
|
||||||
|
"topicSet":"Kanalo temą sėkmingai pakeitė {0}!",
|
||||||
|
"prioritySet":"Bilieto prioritetas sėkmingai pakeistas į {0}, naudotojo {1}!",
|
||||||
|
"priorityGet":"Dabartinis šio bilieto prioritetas yra {0}.",
|
||||||
|
"transfer":"Bilieto nuosavybė sėkmingai perduota iš {0} į {1}, naudotojo {2}!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder":"Kodėl tu uždarei šį bilieta?",
|
"closePlaceholder":"Kodėl tu uždarei šį bilieta?",
|
||||||
@@ -220,7 +242,14 @@
|
|||||||
"blacklistRemoveLog":"{0} buvo atblokuotas nuo {1}!",
|
"blacklistRemoveLog":"{0} buvo atblokuotas nuo {1}!",
|
||||||
"blacklistAddDm":"Jūs buvote užblokuotas!\nNuo šiol negalite sukurti bilieto!",
|
"blacklistAddDm":"Jūs buvote užblokuotas!\nNuo šiol negalite sukurti bilieto!",
|
||||||
"blacklistRemoveDm":"Jūs buvote pašalinti iš juodojo sąrašo mūsų serveryje!\nDabar vėl galite kurti bilietus!",
|
"blacklistRemoveDm":"Jūs buvote pašalinti iš juodojo sąrašo mūsų serveryje!\nDabar vėl galite kurti bilietus!",
|
||||||
"clearLog":"{0} bilietai buvo pašalinti nuo {1}!"
|
"clearLog":"{0} bilietai buvo pašalinti nuo {1}!",
|
||||||
|
|
||||||
|
"transferLog":"Šio bilieto nuosavybė buvo perleista iš {0} {1}, naudotojo {2}!",
|
||||||
|
"transferDm":"Jūsų bilieto nuosavybė mūsų serveryje buvo perduota iš {0} į {1}!",
|
||||||
|
"prioritySetLog":"Šio bilieto prioritetas buvo pakeistas į {0}, autorius {1}!",
|
||||||
|
"prioritySetDm":"Jūsų bilieto prioritetas mūsų serveryje pakeistas į {0}!",
|
||||||
|
"roleUpdateLog":"{0} atnaujino savo roles!",
|
||||||
|
"roleUpdateDm":"Jūsų rolės mūsų serveryje buvo atnaujinti!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
@@ -241,7 +270,19 @@
|
|||||||
"retry":"Bandyk Iš naujo",
|
"retry":"Bandyk Iš naujo",
|
||||||
"continue":"Ištrinti be išrašo",
|
"continue":"Ištrinti be išrašo",
|
||||||
"backup":"Sukurti Atsarginį išraša",
|
"backup":"Sukurti Atsarginį išraša",
|
||||||
"error":"Kažkas nepavyko bandant sukurti išraša.\nKą norėtumėte daryti?\n\nŠis bilietas nebus ištrintas, kol spustelėsite vieną iš šių mygtukų."
|
"error":"Kažkas nepavyko bandant sukurti išraša.\nKą norėtumėte daryti?\n\nŠis bilietas nebus ištrintas, kol spustelėsite vieną iš šių mygtukų.",
|
||||||
|
"title":"Nuorašo klaida"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"ŽINUTĖS",
|
||||||
|
"embedTitle":"EMBED",
|
||||||
|
"fileTitle":"FAILAI",
|
||||||
|
"fieldsTitle":"FIELDS",
|
||||||
|
"reactionsTitle":"Jaustukai",
|
||||||
|
"statsTitle":"STATISTIKA",
|
||||||
|
"emptyContent":"<Kontantas yra tusčias>",
|
||||||
|
"noTitle":"<Nėra pavadinimo>",
|
||||||
|
"noDesc":"<Nėra aprašymo>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
@@ -257,7 +298,8 @@
|
|||||||
"unknownPanel":"Nepažystama skydelis",
|
"unknownPanel":"Nepažystama skydelis",
|
||||||
"notInGuild":"Nera serveryje",
|
"notInGuild":"Nera serveryje",
|
||||||
"channelRename":"Negaliu pervadyti kanalo",
|
"channelRename":"Negaliu pervadyti kanalo",
|
||||||
"busy":"Bilietas yra užimtas"
|
"busy":"Bilietas yra užimtas",
|
||||||
|
"permissionError":"Leidimų klaida"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo":"Susisiek su savininku šito bilieto del daigiau informacijos!",
|
"askForInfo":"Susisiek su savininku šito bilieto del daigiau informacijos!",
|
||||||
@@ -280,7 +322,10 @@
|
|||||||
"notInGuild":"Šis {0} neveikia DM! Bandykite dar kartą serveryje!",
|
"notInGuild":"Šis {0} neveikia DM! Bandykite dar kartą serveryje!",
|
||||||
"channelRename":"Dėl discord'o greičio apribojimų, šiuo metu robotas negali pervardyti kanalo. Kanalas bus automatiškai pervardytas per 10 minučių, jei robotas nebus paleistas iš naujo.",
|
"channelRename":"Dėl discord'o greičio apribojimų, šiuo metu robotas negali pervardyti kanalo. Kanalas bus automatiškai pervardytas per 10 minučių, jei robotas nebus paleistas iš naujo.",
|
||||||
"channelRenameSource":"Šios klaidos šaltinis yra: {0}",
|
"channelRenameSource":"Šios klaidos šaltinis yra: {0}",
|
||||||
"busy":"Neįmanoma naudoti šio {0}!\nBilietą šiuo metu apdoroja botas.\n\nBandykite dar kartą po kelių sekundžių!"
|
"busy":"Neįmanoma naudoti šio {0}!\nBilietą šiuo metu apdoroja botas.\n\nBandykite dar kartą po kelių sekundžių!",
|
||||||
|
"closeBeforeMessage":"Šios užklausos negalima uždaryti / ištrinti, kol vartotojas neišsiuntė pranešimo..",
|
||||||
|
"closeBeforeAdminMessage":"Šios užklausos negalima uždaryti / ištrinti, kol užklausos administratorius arba palaikymo komandos narys neišsiuntė pranešimo..",
|
||||||
|
"unableToCreateTicket":"Kažkas atsitiko jūs negalite sukurti bilieto."
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex":"Vertė neatitinka šablono!",
|
"stringRegex":"Vertė neatitinka šablono!",
|
||||||
@@ -331,7 +376,6 @@
|
|||||||
"added":"Pridėta",
|
"added":"Pridėta",
|
||||||
"removed":"Pašalinta",
|
"removed":"Pašalinta",
|
||||||
"filter":"Filteris",
|
"filter":"Filteris",
|
||||||
"claimedBy":"Claimed nuo {0}",
|
|
||||||
"method":"Metodas",
|
"method":"Metodas",
|
||||||
"type":"Tipas",
|
"type":"Tipas",
|
||||||
"blacklisted":"Užblokuotas",
|
"blacklisted":"Užblokuotas",
|
||||||
@@ -355,7 +399,27 @@
|
|||||||
"status":"Statusas",
|
"status":"Statusas",
|
||||||
"claimed":"Claimed",
|
"claimed":"Claimed",
|
||||||
"pinned":"Prisegta",
|
"pinned":"Prisegta",
|
||||||
"creationDate":"Sukūrimo data"
|
"creationDate":"Sukūrimo data",
|
||||||
|
|
||||||
|
"noone":"Niekas",
|
||||||
|
"open":"Atidarytas",
|
||||||
|
"closed":"Uždarytas",
|
||||||
|
"priority":"Prioritetas",
|
||||||
|
"participants":"Dalyviai",
|
||||||
|
"yes":"Taip",
|
||||||
|
"no":"Ne",
|
||||||
|
"option":"Pasirinkimai",
|
||||||
|
"topic":"Tema",
|
||||||
|
"uptime":"Sistemos Buvimo laikas",
|
||||||
|
"messages":"Žinutės",
|
||||||
|
"embeds":"Embeds",
|
||||||
|
"files":"Failai",
|
||||||
|
"components":"Komponentai",
|
||||||
|
"cooldown":"Letasis Režimas",
|
||||||
|
"maxTickets":"Maksimalus Bilietai",
|
||||||
|
"admins":"Adminai",
|
||||||
|
"roles":"Rolės",
|
||||||
|
"size":"Dydis"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text":"tekstas",
|
"text":"tekstas",
|
||||||
@@ -384,6 +448,7 @@
|
|||||||
"unclaim":"Unclaim bilieta.",
|
"unclaim":"Unclaim bilieta.",
|
||||||
"pin":"Prisegti bilieta.",
|
"pin":"Prisegti bilieta.",
|
||||||
"unpin":"Atsegti bilieta.",
|
"unpin":"Atsegti bilieta.",
|
||||||
|
|
||||||
"move":"Perkelti bilieta.",
|
"move":"Perkelti bilieta.",
|
||||||
"moveId":"Parinkties, į kurią norite pereiti, identifikatorius.",
|
"moveId":"Parinkties, į kurią norite pereiti, identifikatorius.",
|
||||||
"rename":"Pervadinti bilieta.",
|
"rename":"Pervadinti bilieta.",
|
||||||
@@ -392,6 +457,7 @@
|
|||||||
"addUser":"Asmuo kurį norite pridėti.",
|
"addUser":"Asmuo kurį norite pridėti.",
|
||||||
"remove":"Pašalinti naudotoja iš bilieto.",
|
"remove":"Pašalinti naudotoja iš bilieto.",
|
||||||
"removeUser":"Pašalinti asmuo iš bilieto.",
|
"removeUser":"Pašalinti asmuo iš bilieto.",
|
||||||
|
|
||||||
"blacklist":"Tvarkykite bilietų užblokavimo sąrašą.",
|
"blacklist":"Tvarkykite bilietų užblokavimo sąrašą.",
|
||||||
"blacklistView":"Peržiūrėkite dabartinio užblokavimo sąrašą.",
|
"blacklistView":"Peržiūrėkite dabartinio užblokavimo sąrašą.",
|
||||||
"blacklistAdd":"Pridėk asmenį i užblokuoti saraša.",
|
"blacklistAdd":"Pridėk asmenį i užblokuoti saraša.",
|
||||||
@@ -405,6 +471,7 @@
|
|||||||
"statsUserUser":"Asmuo kuri norite peržiūrėti.",
|
"statsUserUser":"Asmuo kuri norite peržiūrėti.",
|
||||||
"statsTicket":"Peržiūrėkite bilieto statistiką serveryje.",
|
"statsTicket":"Peržiūrėkite bilieto statistiką serveryje.",
|
||||||
"statsTicketTicket":"Pamatyti Bilieta.",
|
"statsTicketTicket":"Pamatyti Bilieta.",
|
||||||
|
|
||||||
"clear":"Ištrinkite kelis bilietus vienu metu.",
|
"clear":"Ištrinkite kelis bilietus vienu metu.",
|
||||||
"clearFilter":"Bilietų išvalymo filtras.",
|
"clearFilter":"Bilietų išvalymo filtras.",
|
||||||
"clearFilters":{
|
"clearFilters":{
|
||||||
@@ -417,6 +484,7 @@
|
|||||||
"unpin":"Atsegtus",
|
"unpin":"Atsegtus",
|
||||||
"autoclose":"Automatinius uždarymus"
|
"autoclose":"Automatinius uždarymus"
|
||||||
},
|
},
|
||||||
|
|
||||||
"autoclose":"Tvarkykite automatinį uždarymą biliete.",
|
"autoclose":"Tvarkykite automatinį uždarymą biliete.",
|
||||||
"autocloseDisable":"Išjungti automatinį uždarymą šiame biliete.",
|
"autocloseDisable":"Išjungti automatinį uždarymą šiame biliete.",
|
||||||
"autocloseEnable":"Įgalinti automatinį uždarymą šiame biliete.",
|
"autocloseEnable":"Įgalinti automatinį uždarymą šiame biliete.",
|
||||||
@@ -424,7 +492,19 @@
|
|||||||
"autodelete":"Tvarkykite automatinį ištrynimą biliete.",
|
"autodelete":"Tvarkykite automatinį ištrynimą biliete.",
|
||||||
"autodeleteDisable":"Išjungti automatinį ištrynimą šiame biliete.",
|
"autodeleteDisable":"Išjungti automatinį ištrynimą šiame biliete.",
|
||||||
"autodeleteEnable":"Įgalinti automatinį ištrynimą šiame biliete.",
|
"autodeleteEnable":"Įgalinti automatinį ištrynimą šiame biliete.",
|
||||||
"autodeleteEnableTime":"Kiek dienų šis bilietas turi būti neaktyvus, kad jį būtų galima ištrinti."
|
"autodeleteEnableTime":"Kiek dienų šis bilietas turi būti neaktyvus, kad jį būtų galima ištrinti.",
|
||||||
|
|
||||||
|
"topic":"Tvarkyti bilietų kanalo temą.",
|
||||||
|
"topicSet":"Nustatykite bilietų kanalo temą.",
|
||||||
|
"topicValue":"Nauja kanalo tema.",
|
||||||
|
"topicList":"Gaukite visų bilietų sąrašą su jų tema ir statistika.",
|
||||||
|
"priority":"Tvarkykite bilieto prioritetą.",
|
||||||
|
"prioritySet":"Nustatykite bilieto prioritetą.",
|
||||||
|
"priorityValue":"Kanalo prioritetas.",
|
||||||
|
"priorityGet":"Gaukite bilieto prioritetą.",
|
||||||
|
"priorityList":"Gaukite visų bilietų sąrašą su jų prioriteto būsena.",
|
||||||
|
"transfer":"Perduoti bilieto nuosavybę iš vieno vartotojo kitam.",
|
||||||
|
"transferUser":"Vartotojas, kuriam reikia perkelti."
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"help":"Gauk saraša galimų komandų.",
|
"help":"Gauk saraša galimų komandų.",
|
||||||
@@ -452,7 +532,16 @@
|
|||||||
"autocloseDisable":"Išjungti automatinį uždarymą šiame biliete.",
|
"autocloseDisable":"Išjungti automatinį uždarymą šiame biliete.",
|
||||||
"autocloseEnable":"Įgalinti automatinį uždarymą šiame biliete.",
|
"autocloseEnable":"Įgalinti automatinį uždarymą šiame biliete.",
|
||||||
"autodeleteDisable":"Išjungti automatinį ištrynimą šiame biliete.",
|
"autodeleteDisable":"Išjungti automatinį ištrynimą šiame biliete.",
|
||||||
"autodeleteEnable":"Įgalinti automatinį ištrynimą šiame biliete."
|
"autodeleteEnable":"Įgalinti automatinį ištrynimą šiame biliete.",
|
||||||
|
"categories":{
|
||||||
|
"general":"Generaliniai Komandos",
|
||||||
|
"basicTicket":"Paparasti bilieto komandos",
|
||||||
|
"advancedTicket":"Geresnės bilieto komandos",
|
||||||
|
"userTicket":"Naudotojo bilieto komandos",
|
||||||
|
"admin":"Administratoriaus komandos",
|
||||||
|
"advanced":"Išplėstinės komandos",
|
||||||
|
"extra":"Daugiau komandų"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes":{
|
"scopes":{
|
||||||
@@ -460,7 +549,8 @@
|
|||||||
"system":"Sisteminė statistika",
|
"system":"Sisteminė statistika",
|
||||||
"user":"Naudotojo statistika",
|
"user":"Naudotojo statistika",
|
||||||
"ticket":"Bilieto statistika",
|
"ticket":"Bilieto statistika",
|
||||||
"participants":"Dalyviai"
|
"participants":"Dalyviai",
|
||||||
|
"messages":"Žinutės"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated":"Bilietai Sukurti",
|
"ticketsCreated":"Bilietai Sukurti",
|
||||||
@@ -472,7 +562,47 @@
|
|||||||
"ticketsPinned":"Bilietai Prisegti",
|
"ticketsPinned":"Bilietai Prisegti",
|
||||||
"ticketsMoved":"Bilietai Perkelti",
|
"ticketsMoved":"Bilietai Perkelti",
|
||||||
"usersBlacklisted":"Naudojas Užblokuotas",
|
"usersBlacklisted":"Naudojas Užblokuotas",
|
||||||
"transcriptsCreated":"Išrašai sukurti"
|
"transcriptsCreated":"Išrašai sukurti",
|
||||||
|
"ticketsAutodeleted":"Bilietas buvo ištrintas automatiškai",
|
||||||
|
"ticketsTransferred":"Bilietas perkeltas",
|
||||||
|
"ticketVolume":"Bilieto Balsas",
|
||||||
|
"averageTickets":"Vidutinis bilietų skaičius vienam vartotojui",
|
||||||
|
"currentTickets":"Dabartiniai bilietai",
|
||||||
|
"age":"Bilieto Amžius",
|
||||||
|
"responseTime":"Atsiliepimo Laikas",
|
||||||
|
"resolutionTime":"Rezoliucijos laikas",
|
||||||
|
"createdOn":"Sukurta",
|
||||||
|
"createdBy":"Sukurta nuo",
|
||||||
|
"closedOn":"Uždaryta",
|
||||||
|
"closedBy":"Uždarė",
|
||||||
|
"claimedOn":"Tvarkyti pradėjo",
|
||||||
|
"claimedBy":"Tvarkytojas",
|
||||||
|
"pinnedOn":"Prisegta",
|
||||||
|
"pinnedBy":"Prisegė",
|
||||||
|
"deletedOn":"Ištrinta",
|
||||||
|
"deletedBy":"Ištrynė"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"Developeris",
|
||||||
|
"serverOwner":"Serverio Savininkas",
|
||||||
|
"serverAdmin":"Serverio administratorius",
|
||||||
|
"moderator":"Moderatorius ",
|
||||||
|
"support":"Pagalbos narys",
|
||||||
|
"member":"Narys"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"Pasirink Bilieta",
|
||||||
|
"selectRole":"Pasirink Role",
|
||||||
|
"selectOption":"Pasirinkite savo parinktį"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"Skubiai",
|
||||||
|
"veryHigh":"Labai greitai",
|
||||||
|
"high":"Greitai",
|
||||||
|
"normal":"Normaliai",
|
||||||
|
"low":"Paprastai",
|
||||||
|
"veryLow":"Silpnai",
|
||||||
|
"none":"Nėra"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+567
-437
File diff suppressed because it is too large
Load Diff
+508
-378
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["dysashop","zhavis"],
|
"translators":["dysashop","zhavis"],
|
||||||
"lastedited":"28/05/2025",
|
"lastedited":"16/02/2026",
|
||||||
"language":"Persian",
|
"language":"Persian",
|
||||||
"automated":false
|
"automated":false
|
||||||
},
|
},
|
||||||
@@ -31,6 +31,14 @@
|
|||||||
"stringContains":"این رشته باید حاوی باشد {0}!",
|
"stringContains":"این رشته باید حاوی باشد {0}!",
|
||||||
"stringChoices":"این رشته فقط می تواند یکی از مقادیر زیر باشد: {0}!",
|
"stringChoices":"این رشته فقط می تواند یکی از مقادیر زیر باشد: {0}!",
|
||||||
"stringRegex":"این رشته اشتباه است!",
|
"stringRegex":"این رشته اشتباه است!",
|
||||||
|
"stringInvertedContains":"این رشته نباید شامل {0} باشد!",
|
||||||
|
"stringLowercase":"این رشته باید فقط با حروف کوچک نوشته شود!",
|
||||||
|
"stringUppercase":"این رشته باید فقط با حروف بزرگ نوشته شود!",
|
||||||
|
"stringSpecialCharacters":"این رشته نباید شامل کاراکترهای خاص باشد! (فقط a-z، 0-9 و فاصله)",
|
||||||
|
"stringNoSpaces":"این رشته نباید شامل فاصله باشد!",
|
||||||
|
"stringCapitalWord":"توصیه میشود هر کلمه در این رشته با حرف بزرگ شروع شود!",
|
||||||
|
"stringCapitalSentence":"به نظر میرسد بعضی جملات در این رشته با حرف بزرگ شروع نمیشوند!",
|
||||||
|
"stringPunctuation":"به نظر میرسد جمله در این رشته با علامت نقطه پایان نمییابد!",
|
||||||
|
|
||||||
"numberTooShort":"این عدد نمیتواند کوتاهتر از {0} کاراکتر باشد!",
|
"numberTooShort":"این عدد نمیتواند کوتاهتر از {0} کاراکتر باشد!",
|
||||||
"numberTooLong":"این عدد نمیتواند طولانیتر از {0} کاراکتر باشد!",
|
"numberTooLong":"این عدد نمیتواند طولانیتر از {0} کاراکتر باشد!",
|
||||||
@@ -38,441 +46,563 @@
|
|||||||
"numberTooSmall":"این عدد باید حداقل {0} باشد!",
|
"numberTooSmall":"این عدد باید حداقل {0} باشد!",
|
||||||
"numberTooLarge":"این عدد باید حداکثر {0} باشد!",
|
"numberTooLarge":"این عدد باید حداکثر {0} باشد!",
|
||||||
"numberNotEqual":"این عدد باید برابر با {0} باشد!",
|
"numberNotEqual":"این عدد باید برابر با {0} باشد!",
|
||||||
"numberStep": "این عدد باید مضربی از {0} باشد!",
|
"numberStep":"این عدد باید مضربی از {0} باشد!",
|
||||||
"numberStepOffset": "این عدد باید مضربی از {0} باشد و با {1} شروع شود!",
|
"numberStepOffset":"این عدد باید مضربی از {0} باشد و با {1} شروع شود!",
|
||||||
"numberStartsWith": "این عدد باید با {0} شروع شود!",
|
"numberStartsWith":"این عدد باید با {0} شروع شود!",
|
||||||
"numberEndsWith": "این عدد باید با {0} پایان یابد!",
|
"numberEndsWith":"این عدد باید با {0} پایان یابد!",
|
||||||
"numberContains": "این عدد باید شامل {0} باشد!",
|
"numberContains":"این عدد باید شامل {0} باشد!",
|
||||||
"numberChoices": "این عدد فقط میتواند یکی از مقادیر زیر باشد: {0}!",
|
"numberChoices":"این عدد فقط میتواند یکی از مقادیر زیر باشد: {0}!",
|
||||||
"numberFloat": "این عدد نمیتواند اعشاری باشد!",
|
"numberFloat":"این عدد نمیتواند اعشاری باشد!",
|
||||||
"numberNegative": "این عدد نمیتواند منفی باشد!",
|
"numberNegative":"این عدد نمیتواند منفی باشد!",
|
||||||
"numberPositive": "این عدد نمیتواند مثبت باشد!",
|
"numberPositive":"این عدد نمیتواند مثبت باشد!",
|
||||||
"numberZero": "این عدد نمیتواند صفر باشد!",
|
"numberZero":"این عدد نمیتواند صفر باشد!",
|
||||||
|
"numberNan":"این عدد نمیتواند NaN (عدد نیست) باشد!",
|
||||||
|
"numberInvertedContains":"این عدد نباید شامل {0} باشد!",
|
||||||
|
|
||||||
"booleanTrue": "این مقدار بولین نمیتواند درست (true) باشد!",
|
"booleanTrue":"این مقدار بولین نمیتواند درست (true) باشد!",
|
||||||
"booleanFalse": "این مقدار بولین نمیتواند نادرست (false) باشد!",
|
"booleanFalse":"این مقدار بولین نمیتواند نادرست (false) باشد!",
|
||||||
|
|
||||||
"arrayEmptyDisabled": "این آرایه نمیتواند خالی باشد!",
|
"arrayEmptyDisabled":"این آرایه نمیتواند خالی باشد!",
|
||||||
"arrayEmptyRequired": "این آرایه باید خالی باشد!",
|
"arrayEmptyRequired":"این آرایه باید خالی باشد!",
|
||||||
"arrayTooShort": "طول این آرایه باید حداقل {0} باشد!",
|
"arrayTooShort":"طول این آرایه باید حداقل {0} باشد!",
|
||||||
"arrayTooLong": "طول این آرایه باید حداکثر {0} باشد!",
|
"arrayTooLong":"طول این آرایه باید حداکثر {0} باشد!",
|
||||||
"arrayLengthInvalid": "طول این آرایه باید دقیقاً {0} باشد!",
|
"arrayLengthInvalid":"طول این آرایه باید دقیقاً {0} باشد!",
|
||||||
"arrayInvalidTypes": "این آرایه فقط میتواند شامل انواع زیر باشد: {0}!",
|
"arrayInvalidTypes":"این آرایه فقط میتواند شامل انواع زیر باشد: {0}!",
|
||||||
"arrayDouble": "این آرایه نمیتواند مقادیر تکراری داشته باشد!",
|
"arrayDouble":"این آرایه نمیتواند مقادیر تکراری داشته باشد!",
|
||||||
|
|
||||||
"discordInvalidId": "این شناسه دیسکورد {0} نامعتبر است!",
|
"discordInvalidId":"این شناسه دیسکورد {0} نامعتبر است!",
|
||||||
"discordInvalidIdOptions": "این شناسه دیسکورد {0} نامعتبر است! میتوانید از یکی از این موارد استفاده کنید: {1}!",
|
"discordInvalidIdOptions":"این شناسه دیسکورد {0} نامعتبر است! میتوانید از یکی از این موارد استفاده کنید: {1}!",
|
||||||
"discordInvalidToken": "این توکن دیسکورد از نظر ساختاری نامعتبر است!",
|
"discordInvalidToken":"این توکن دیسکورد از نظر ساختاری نامعتبر است!",
|
||||||
"colorInvalid": "این کد رنگ هگزادسیمال نامعتبر است!",
|
"colorInvalid":"این کد رنگ هگزادسیمال نامعتبر است!",
|
||||||
"emojiTooShort": "این رشته باید حداقل {0} ایموجی داشته باشد!",
|
"emojiTooShort":"این رشته باید حداقل {0} ایموجی داشته باشد!",
|
||||||
"emojiTooLong": "این رشته باید حداکثر {0} ایموجی داشته باشد!",
|
"emojiTooLong":"این رشته باید حداکثر {0} ایموجی داشته باشد!",
|
||||||
"emojiCustom": "این ایموجی نمیتواند یک ایموجی سفارشی دیسکورد باشد!",
|
"emojiCustom":"این ایموجی نمیتواند یک ایموجی سفارشی دیسکورد باشد!",
|
||||||
"emojiInvalid": "این ایموجی نامعتبر است!",
|
"emojiInvalid":"این ایموجی نامعتبر است!",
|
||||||
"urlInvalid": "این آدرس URL نامعتبر است!",
|
"urlInvalid":"این آدرس URL نامعتبر است!",
|
||||||
"urlInvalidHttp": "این آدرس URL فقط میتواند از پروتکل https:// استفاده کند!",
|
"urlInvalidHttp":"این آدرس URL فقط میتواند از پروتکل https:// استفاده کند!",
|
||||||
"urlInvalidProtocol": "این آدرس URL فقط میتواند از پروتکلهای http:// و https:// استفاده کند!",
|
"urlInvalidProtocol":"این آدرس URL فقط میتواند از پروتکلهای http:// و https:// استفاده کند!",
|
||||||
"urlInvalidHostname": "این آدرس URL دارای نام میزبان غیرمجازی است!",
|
"urlInvalidHostname":"این آدرس URL دارای نام میزبان غیرمجازی است!",
|
||||||
"urlInvalidExtension": "این آدرس URL دارای پسوند نامعتبر است! یکی از موارد زیر را انتخاب کنید: {0}!",
|
"urlInvalidExtension":"این آدرس URL دارای پسوند نامعتبر است! یکی از موارد زیر را انتخاب کنید: {0}!",
|
||||||
"urlInvalidPath": "این آدرس URL دارای مسیر نامعتبر است!",
|
"urlInvalidPath":"این آدرس URL دارای مسیر نامعتبر است!",
|
||||||
"idNotUnique": "این شناسه یکتا نیست، لطفاً از شناسه دیگری استفاده کنید!",
|
"idNotUnique":"این شناسه یکتا نیست، لطفاً از شناسه دیگری استفاده کنید!",
|
||||||
"idNonExistent": "شناسه {0} وجود ندارد!",
|
"idNonExistent":"شناسه {0} وجود ندارد!",
|
||||||
|
|
||||||
"invalidType": "این ویژگی باید از نوع {0} باشد!",
|
"invalidType":"این ویژگی باید از نوع {0} باشد!",
|
||||||
"propertyMissing": "ویژگی {0} در این شیء وجود ندارد!",
|
"propertyMissing":"ویژگی {0} در این شیء وجود ندارد!",
|
||||||
"propertyOptional": "ویژگی {0} در این شیء اختیاری است!",
|
"propertyOptional":"ویژگی {0} در این شیء اختیاری است!",
|
||||||
"objectDisabled": "این شیء غیرفعال است، آن را با استفاده از {0} فعال کنید!",
|
"objectDisabled":"این شیء غیرفعال است، آن را با استفاده از {0} فعال کنید!",
|
||||||
"nullInvalid": "این ویژگی نمیتواند null باشد!",
|
"nullInvalid":"این ویژگی نمیتواند null باشد!",
|
||||||
"switchInvalidType": "این باید یکی از انواع زیر باشد: {0}!",
|
"switchInvalidType":"این باید یکی از انواع زیر باشد: {0}!",
|
||||||
"objectSwitchInvalid": "این شیء باید یکی از انواع زیر باشد: {0}!",
|
"objectSwitchInvalid":"این شیء باید یکی از انواع زیر باشد: {0}!",
|
||||||
|
|
||||||
"invalidLanguage": "این زبان نامعتبر است!",
|
"invalidLanguage":"این زبان نامعتبر است!",
|
||||||
"invalidButton": "این دکمه باید حداقل شامل یک {0} یا {1} باشد!",
|
"invalidButton":"این دکمه باید حداقل شامل یک {0} یا {1} باشد!",
|
||||||
"unusedOption": "گزینه {0} در هیچ جایی استفاده نشده است!",
|
"unusedOption":"گزینه {0} در هیچ جایی استفاده نشده است!",
|
||||||
"unusedQuestion": "سوال {0} در هیچ جایی استفاده نشده است!",
|
"unusedQuestion":"سوال {0} در هیچ جایی استفاده نشده است!",
|
||||||
"dropdownOption": "پنلی که منوی کشویی آن فعال است، فقط میتواند شامل گزینههایی از نوع 'تیکت' باشد!"
|
"dropdownOption":"پنلی که منوی کشویی آن فعال است، فقط میتواند شامل گزینههایی از نوع 'تیکت' باشد!",
|
||||||
|
"customInvalidVersion":"نسخه مشخص شده در پیکربندی شما مطابقت ندارد! اطمینان حاصل کنید که پیکربندی به آخرین نسخه بهروزرسانی شده است!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
"buttons":{
|
"buttons":{
|
||||||
"create": "بازدید از تیکت",
|
"create":"بازدید از تیکت",
|
||||||
"close": "بستن تیکت",
|
"close":"بستن تیکت",
|
||||||
"delete": "حذف تیکت",
|
"delete":"حذف تیکت",
|
||||||
"reopen": "بازگشایی تیکت",
|
"reopen":"بازگشایی تیکت",
|
||||||
"claim": "اختصاص تیکت",
|
"claim":"اختصاص تیکت",
|
||||||
"unclaim": "لغو اختصاص تیکت",
|
"unclaim":"لغو اختصاص تیکت",
|
||||||
"pin": "پین کردن تیکت",
|
"pin":"پین کردن تیکت",
|
||||||
"unpin": "لغو پین تیکت",
|
"unpin":"لغو پین تیکت",
|
||||||
"clear": "حذف تیکتها",
|
"clear":"حذف تیکتها",
|
||||||
"helpSwitchSlash": "مشاهده دستورات اسلش",
|
"helpSwitchSlash":"مشاهده دستورات اسلش",
|
||||||
"helpSwitchText": "مشاهده دستورات متنی",
|
"helpSwitchText":"مشاهده دستورات متنی",
|
||||||
"helpPage": "صفحه {0}",
|
"helpPage":"صفحه {0}",
|
||||||
"withReason": "با دلیل",
|
"withReason":"با دلیل",
|
||||||
"withoutTranscript": "بدون رونوشت"
|
"withoutTranscript":"بدون رونوشت"
|
||||||
},
|
},
|
||||||
"titles":{
|
"titles":{
|
||||||
"created": "تیکت ایجاد شد",
|
"created":"تیکت ایجاد شد",
|
||||||
"close": "تیکت بسته شد",
|
"close":"تیکت بسته شد",
|
||||||
"delete": "تیکت حذف شد",
|
"delete":"تیکت حذف شد",
|
||||||
"reopen": "تیکت بازگشایی شد",
|
"reopen":"تیکت بازگشایی شد",
|
||||||
"claim": "تیکت اختصاص یافت",
|
"claim":"تیکت اختصاص یافت",
|
||||||
"unclaim": "اختصاص تیکت لغو شد",
|
"unclaim":"اختصاص تیکت لغو شد",
|
||||||
"pin": "تیکت پین شد",
|
"pin":"تیکت پین شد",
|
||||||
"unpin": "پین تیکت لغو شد",
|
"unpin":"پین تیکت لغو شد",
|
||||||
"rename": "نام تیکت تغییر یافت",
|
"rename":"نام تیکت تغییر یافت",
|
||||||
"move": "تیکت منتقل شد",
|
"move":"تیکت منتقل شد",
|
||||||
"add": "کاربر به تیکت اضافه شد",
|
"add":"کاربر به تیکت اضافه شد",
|
||||||
"remove": "کاربر از تیکت حذف شد",
|
"remove":"کاربر از تیکت حذف شد",
|
||||||
|
|
||||||
"help": "دستورات موجود",
|
"help":"دستورات موجود",
|
||||||
"statsReset": "بازنشانی آمار",
|
"statsReset":"بازنشانی آمار",
|
||||||
"blacklistAdd": "کاربر به لیست سیاه اضافه شد",
|
"blacklistAdd":"کاربر به لیست سیاه اضافه شد",
|
||||||
"blacklistRemove": "کاربر از لیست سیاه آزاد شد",
|
"blacklistRemove":"کاربر از لیست سیاه آزاد شد",
|
||||||
"blacklistGet": "کاربر لیست سیاه",
|
"blacklistGet":"کاربر لیست سیاه",
|
||||||
"blacklistView": "لیست سیاه کنونی",
|
"blacklistView":"لیست سیاه کنونی",
|
||||||
"blacklistAddDm": "به لیست سیاه اضافه شد",
|
"blacklistAddDm":"به لیست سیاه اضافه شد",
|
||||||
"blacklistRemoveDm": "از لیست سیاه حذف شد",
|
"blacklistRemoveDm":"از لیست سیاه حذف شد",
|
||||||
"clear": "تیکتها پاکسازی شدند",
|
"clear":"تیکتها پاکسازی شدند",
|
||||||
"roles": "نقشها بهروزرسانی شدند",
|
"clearTickets":"پاک کردن تیکتها",
|
||||||
|
"roles":"نقشها بهروزرسانی شدند",
|
||||||
|
|
||||||
"autoclose": "تیکت بهصورت خودکار بسته شد",
|
"autoclose":"تیکت بهصورت خودکار بسته شد",
|
||||||
"autocloseEnabled": "بسته شدن خودکار فعال شد",
|
"autocloseEnabled":"بسته شدن خودکار فعال شد",
|
||||||
"autocloseDisabled": "بسته شدن خودکار غیرفعال شد",
|
"autocloseDisabled":"بسته شدن خودکار غیرفعال شد",
|
||||||
"autodelete": "تیکت بهصورت خودکار حذف شد",
|
"autodelete":"تیکت بهصورت خودکار حذف شد",
|
||||||
"autodeleteEnabled": "حذف خودکار فعال شد",
|
"autodeleteEnabled":"حذف خودکار فعال شد",
|
||||||
"autodeleteDisabled": "حذف خودکار غیرفعال شد"
|
"autodeleteDisabled":"حذف خودکار غیرفعال شد",
|
||||||
|
|
||||||
|
"topicSet":"موضوع تغییر یافت",
|
||||||
|
"prioritySet":"اولویت تغییر یافت",
|
||||||
|
"priorityGet":"اولویت تیکت",
|
||||||
|
"transfer":"تیکت منتقل شد"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create": "تیکت شما با موفقیت ایجاد شد. برای دسترسی به آن، روی دکمه زیر کلیک کنید!",
|
"create":"تیکت شما با موفقیت ایجاد شد. برای دسترسی به آن، روی دکمه زیر کلیک کنید!",
|
||||||
"close": "تیکت با موفقیت بسته شد!",
|
"close":"تیکت با موفقیت بسته شد!",
|
||||||
"delete": "تیکت با موفقیت حذف شد!",
|
"delete":"تیکت با موفقیت حذف شد!",
|
||||||
"reopen": "تیکت با موفقیت دوباره باز شد!",
|
"reopen":"تیکت با موفقیت دوباره باز شد!",
|
||||||
"claim": "تیکت با موفقیت به شما اختصاص یافت!",
|
"claim":"تیکت با موفقیت به شما اختصاص یافت!",
|
||||||
"unclaim": "تیکت با موفقیت از حالت اختصاصیافته خارج شد!",
|
"unclaim":"تیکت با موفقیت از حالت اختصاصیافته خارج شد!",
|
||||||
"pin": "تیکت با موفقیت پین شد!",
|
"pin":"تیکت با موفقیت پین شد!",
|
||||||
"unpin": "تیکت با موفقیت از حالت پین خارج شد!",
|
"unpin":"تیکت با موفقیت از حالت پین خارج شد!",
|
||||||
"rename": "نام تیکت با موفقیت به {0} تغییر یافت!",
|
"rename":"نام تیکت با موفقیت به {0} تغییر یافت!",
|
||||||
"move": "تیکت با موفقیت به {0} منتقل شد!",
|
"move":"تیکت با موفقیت به {0} منتقل شد!",
|
||||||
"add": "کاربر {0} با موفقیت به تیکت اضافه شد!",
|
"add":"کاربر {0} با موفقیت به تیکت اضافه شد!",
|
||||||
"remove": "کاربر {0} با موفقیت از تیکت حذف شد!",
|
"remove":"کاربر {0} با موفقیت از تیکت حذف شد!",
|
||||||
|
|
||||||
"helpExplanation": "`<name>`: پارامتر اجباری\n`[name]`: پارامتر اختیاری",
|
"helpExplanation":"`<name>`: پارامتر اجباری\n`[name]`: پارامتر اختیاری",
|
||||||
"statsReset": "آمار ربات با موفقیت بازنشانی شد!",
|
"statsReset":"آمار ربات با موفقیت بازنشانی شد!",
|
||||||
"statsError": "امکان مشاهده آمار تیکت وجود ندارد!\n{0} یک تیکت معتبر نیست!",
|
"statsError":"امکان مشاهده آمار تیکت وجود ندارد!\n{0} یک تیکت معتبر نیست!",
|
||||||
"blacklistAdd": "کاربر {0} با موفقیت به لیست سیاه اضافه شد!",
|
"blacklistAdd":"کاربر {0} با موفقیت به لیست سیاه اضافه شد!",
|
||||||
"blacklistRemove": "کاربر {0} با موفقیت از لیست سیاه آزاد شد!",
|
"blacklistRemove":"کاربر {0} با موفقیت از لیست سیاه آزاد شد!",
|
||||||
"blacklistGetSuccess": "کاربر {0} در حال حاضر در لیست سیاه قرار دارد!",
|
"blacklistGetSuccess":"کاربر {0} در حال حاضر در لیست سیاه قرار دارد!",
|
||||||
"blacklistGetEmpty": "کاربر {0} در حال حاضر در لیست سیاه نیست!",
|
"blacklistGetEmpty":"کاربر {0} در حال حاضر در لیست سیاه نیست!",
|
||||||
"blacklistViewEmpty": "هنوز هیچ کاربری به لیست سیاه اضافه نشده است!",
|
"blacklistViewEmpty":"هنوز هیچ کاربری به لیست سیاه اضافه نشده است!",
|
||||||
"blacklistViewTip": "برای افزودن کاربر به لیست سیاه از دستور `/blacklist add` استفاده کنید!",
|
"blacklistViewTip":"برای افزودن کاربر به لیست سیاه از دستور `/blacklist add` استفاده کنید!",
|
||||||
"clearVerify": "آیا مطمئن هستید که میخواهید چندین تیکت را حذف کنید؟\nاین اقدام قابل بازگشت نیست!",
|
"clearVerify":"آیا مطمئن هستید که میخواهید چندین تیکت را حذف کنید؟\nاین اقدام قابل بازگشت نیست!",
|
||||||
"clearReady": "{0} تیکت با موفقیت حذف شدند!",
|
"clearReady":"{0} تیکت با موفقیت حذف شدند!",
|
||||||
"rolesEmpty": "هیچ نقشی بهروزرسانی نشد!",
|
"rolesEmpty":"هیچ نقشی بهروزرسانی نشد!",
|
||||||
|
|
||||||
"autocloseLeave": "این تیکت بهطور خودکار بسته شد زیرا ایجادکننده آن سرور را ترک کرده است!",
|
"autocloseLeave":"این تیکت بهطور خودکار بسته شد زیرا ایجادکننده آن سرور را ترک کرده است!",
|
||||||
"autocloseTimeout": "این تیکت بهطور خودکار بسته شد زیرا بیش از {0} ساعت غیرفعال بوده است!",
|
"autocloseTimeout":"این تیکت بهطور خودکار بسته شد زیرا بیش از {0} ساعت غیرفعال بوده است!",
|
||||||
"autodeleteLeave": "این تیکت بهطور خودکار حذف شد زیرا ایجادکننده آن سرور را ترک کرده است!",
|
"autodeleteLeave":"این تیکت بهطور خودکار حذف شد زیرا ایجادکننده آن سرور را ترک کرده است!",
|
||||||
"autodeleteTimeout": "این تیکت بهطور خودکار حذف شد زیرا بیش از {0} روز غیرفعال بوده است!",
|
"autodeleteTimeout":"این تیکت بهطور خودکار حذف شد زیرا بیش از {0} روز غیرفعال بوده است!",
|
||||||
"autocloseEnabled": "قابلیت بسته شدن خودکار برای این تیکت فعال شد!\nتیکت پس از {0} ساعت غیرفعال بودن بسته خواهد شد!",
|
"autocloseEnabled":"قابلیت بسته شدن خودکار برای این تیکت فعال شد!\nتیکت پس از {0} ساعت غیرفعال بودن بسته خواهد شد!",
|
||||||
"autocloseDisabled": "قابلیت بسته شدن خودکار برای این تیکت غیرفعال شد!\nتیکت دیگر بهصورت خودکار بسته نخواهد شد!",
|
"autocloseDisabled":"قابلیت بسته شدن خودکار برای این تیکت غیرفعال شد!\nتیکت دیگر بهصورت خودکار بسته نخواهد شد!",
|
||||||
"autodeleteEnabled": "قابلیت حذف خودکار برای این تیکت فعال شد!\nتیکت پس از {0} روز غیرفعال بودن حذف خواهد شد!",
|
"autodeleteEnabled":"قابلیت حذف خودکار برای این تیکت فعال شد!\nتیکت پس از {0} روز غیرفعال بودن حذف خواهد شد!",
|
||||||
"autodeleteDisabled": "قابلیت حذف خودکار برای این تیکت غیرفعال شد!\nتیکت دیگر بهصورت خودکار حذف نخواهد شد!",
|
"autodeleteDisabled":"قابلیت حذف خودکار برای این تیکت غیرفعال شد!\nتیکت دیگر بهصورت خودکار حذف نخواهد شد!",
|
||||||
|
|
||||||
"ticketMessageLimit": "شما تنها میتوانید همزمان {0} تیکت ایجاد کنید!",
|
"ticketMessageLimit":"شما تنها میتوانید همزمان {0} تیکت ایجاد کنید!",
|
||||||
"ticketMessageAutoclose": "این تیکت پس از {0} ساعت غیرفعال بودن بهصورت خودکار بسته خواهد شد!",
|
"ticketMessageAutoclose":"این تیکت پس از {0} ساعت غیرفعال بودن بهصورت خودکار بسته خواهد شد!",
|
||||||
"ticketMessageAutodelete": "این تیکت پس از {0} روز غیرفعال بودن بهصورت خودکار حذف خواهد شد!",
|
"ticketMessageAutodelete":"این تیکت پس از {0} روز غیرفعال بودن بهصورت خودکار حذف خواهد شد!",
|
||||||
"panelReady": "پنل در زیر قابل مشاهده است!\nاکنون میتوانید این پیام را حذف کنید!"
|
"panelReady":"پنل در پیام دنبالکننده موجود است!\nاین پیام اکنون قابل حذف است!",
|
||||||
|
|
||||||
|
"topicSet":"موضوع کانال با موفقیت توسط {0} تغییر یافت!",
|
||||||
|
"prioritySet":"اولویت تیکت با موفقیت توسط {1} به {0} تغییر یافت!",
|
||||||
|
"priorityGet":"اولویت فعلی این تیکت {0} است.",
|
||||||
|
"transfer":"مالکیت تیکت با موفقیت از {0} به {1} توسط {2} منتقل شد!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder": "چرا این تیکت را بستید؟",
|
"closePlaceholder":"چرا این تیکت را بستید؟",
|
||||||
"deletePlaceholder": "چرا این تیکت را حذف کردید؟",
|
"deletePlaceholder":"چرا این تیکت را حذف کردید؟",
|
||||||
"reopenPlaceholder": "چرا این تیکت را دوباره باز کردید؟",
|
"reopenPlaceholder":"چرا این تیکت را دوباره باز کردید؟",
|
||||||
"claimPlaceholder": "چرا این تیکت را به خود اختصاص دادید؟",
|
"claimPlaceholder":"چرا این تیکت را به خود اختصاص دادید؟",
|
||||||
"unclaimPlaceholder": "چرا اختصاص این تیکت را لغو کردید؟",
|
"unclaimPlaceholder":"چرا اختصاص این تیکت را لغو کردید؟",
|
||||||
"pinPlaceholder": "چرا این تیکت را پین کردید؟",
|
"pinPlaceholder":"چرا این تیکت را پین کردید؟",
|
||||||
"unpinPlaceholder": "چرا پین این تیکت را لغو کردید؟"
|
"unpinPlaceholder":"چرا پین این تیکت را لغو کردید؟"
|
||||||
},
|
},
|
||||||
"logs":{
|
"logs":{
|
||||||
"createLog": "تیکت جدیدی توسط {0} ایجاد شد!",
|
"createLog":"تیکت جدیدی توسط {0} ایجاد شد!",
|
||||||
"closeLog": "این تیکت توسط {0} بسته شد!",
|
"closeLog":"این تیکت توسط {0} بسته شد!",
|
||||||
"closeDm": "تیکت شما در سرور ما بسته شد!",
|
"closeDm":"تیکت شما در سرور ما بسته شد!",
|
||||||
"deleteLog": "این تیکت توسط {0} حذف شد!",
|
"deleteLog":"این تیکت توسط {0} حذف شد!",
|
||||||
"deleteDm": "تیکت شما در سرور ما حذف شد!",
|
"deleteDm":"تیکت شما در سرور ما حذف شد!",
|
||||||
"reopenLog": "این تیکت توسط {0} دوباره باز شد!",
|
"reopenLog":"این تیکت توسط {0} دوباره باز شد!",
|
||||||
"reopenDm": "تیکت شما در سرور ما دوباره باز شد!",
|
"reopenDm":"تیکت شما در سرور ما دوباره باز شد!",
|
||||||
"claimLog": "این تیکت توسط {0} اختصاص یافت!",
|
"claimLog":"این تیکت توسط {0} اختصاص یافت!",
|
||||||
"claimDm": "تیکت شما در سرور ما اختصاص یافت!",
|
"claimDm":"تیکت شما در سرور ما اختصاص یافت!",
|
||||||
"unclaimLog": "اختصاص این تیکت توسط {0} لغو شد!",
|
"unclaimLog":"اختصاص این تیکت توسط {0} لغو شد!",
|
||||||
"unclaimDm": "اختصاص تیکت شما در سرور ما لغو شد!",
|
"unclaimDm":"اختصاص تیکت شما در سرور ما لغو شد!",
|
||||||
"pinLog": "این تیکت توسط {0} پین شد!",
|
"pinLog":"این تیکت توسط {0} پین شد!",
|
||||||
"pinDm": "تیکت شما در سرور ما پین شد!",
|
"pinDm":"تیکت شما در سرور ما پین شد!",
|
||||||
"unpinLog": "پین این تیکت توسط {0} لغو شد!",
|
"unpinLog":"پین این تیکت توسط {0} لغو شد!",
|
||||||
"unpinDm": "پین تیکت شما در سرور ما لغو شد!",
|
"unpinDm":"پین تیکت شما در سرور ما لغو شد!",
|
||||||
"renameLog": "این تیکت توسط {1} به {0} تغییر نام یافت!",
|
"renameLog":"این تیکت توسط {1} به {0} تغییر نام یافت!",
|
||||||
"renameDm": "تیکت شما در سرور ما به {0} تغییر نام یافت!",
|
"renameDm":"تیکت شما در سرور ما به {0} تغییر نام یافت!",
|
||||||
"moveLog": "این تیکت توسط {1} به {0} منتقل شد!",
|
"moveLog":"این تیکت توسط {1} به {0} منتقل شد!",
|
||||||
"moveDm": "تیکت شما در سرور ما به {0} منتقل شد!",
|
"moveDm":"تیکت شما در سرور ما به {0} منتقل شد!",
|
||||||
"addLog": "کاربر {0} توسط {1} به این تیکت اضافه شد!",
|
"addLog":"کاربر {0} توسط {1} به این تیکت اضافه شد!",
|
||||||
"addDm": "کاربر {0} به تیکت شما در سرور ما اضافه شد!",
|
"addDm":"کاربر {0} به تیکت شما در سرور ما اضافه شد!",
|
||||||
"removeLog": "کاربر {0} توسط {1} از این تیکت حذف شد!",
|
"removeLog":"کاربر {0} توسط {1} از این تیکت حذف شد!",
|
||||||
"removeDm": "کاربر {0} از تیکت شما در سرور ما حذف شد!",
|
"removeDm":"کاربر {0} از تیکت شما در سرور ما حذف شد!",
|
||||||
|
|
||||||
"blacklistAddLog": "کاربر {0} توسط {1} به لیست سیاه اضافه شد!",
|
"blacklistAddLog":"کاربر {0} توسط {1} به لیست سیاه اضافه شد!",
|
||||||
"blacklistRemoveLog": "کاربر {0} توسط {1} از لیست سیاه حذف شد!",
|
"blacklistRemoveLog":"کاربر {0} توسط {1} از لیست سیاه حذف شد!",
|
||||||
"blacklistAddDm": "شما در سرور ما به لیست سیاه اضافه شدید!\nاز این پس نمیتوانید تیکت ایجاد کنید!",
|
"blacklistAddDm":"شما در سرور ما به لیست سیاه اضافه شدید!\nاز این پس نمیتوانید تیکت ایجاد کنید!",
|
||||||
"blacklistRemoveDm": "شما از لیست سیاه در سرور ما حذف شدید!\nاکنون میتوانید دوباره تیکت ایجاد کنید!",
|
"blacklistRemoveDm":"شما از لیست سیاه در سرور ما حذف شدید!\nاکنون میتوانید دوباره تیکت ایجاد کنید!",
|
||||||
"clearLog": "{0} تیکت توسط {1} حذف شدند!"
|
"clearLog":"{0} تیکت توسط {1} حذف شدند!",
|
||||||
|
|
||||||
|
"transferLog":"مالکیت این تیکت از {0} به {1} توسط {2} منتقل شد!",
|
||||||
|
"transferDm":"مالکیت تیکت شما در سرور ما از {0} به {1} منتقل شد!",
|
||||||
|
"prioritySetLog":"اولویت این تیکت توسط {1} به {0} تغییر یافت!",
|
||||||
|
"prioritySetDm":"اولویت تیکت شما در سرور ما به {0} تغییر یافت!",
|
||||||
|
"roleUpdateLog":"{0} نقشهای خود را بهروزرسانی کرد!",
|
||||||
|
"roleUpdateDm":"نقشهای شما در سرور ما بهروزرسانی شد!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
"success":{
|
"success":{
|
||||||
"visit": "بازدید از رونوشت",
|
"visit":"بازدید از رونوشت",
|
||||||
"ready": "رونوشت ایجاد شد",
|
"ready":"رونوشت ایجاد شد",
|
||||||
"textFileDescription": "این فایل متنی، رونوشت یک تیکت حذفشده است!",
|
"textFileDescription":"این فایل متنی، رونوشت یک تیکت حذفشده است!",
|
||||||
"htmlProgress": "لطفاً صبر کنید تا این رونوشت HTML پردازش شود...",
|
"htmlProgress":"لطفاً صبر کنید تا این رونوشت HTML پردازش شود...",
|
||||||
|
|
||||||
"createdChannel": "یک رونوشت {0} جدید در سرور ایجاد شد!",
|
"createdChannel":"یک رونوشت {0} جدید در سرور ایجاد شد!",
|
||||||
"createdCreator": "یک رونوشت {0} جدید برای یکی از تیکتهای شما ایجاد شد!",
|
"createdCreator":"یک رونوشت {0} جدید برای یکی از تیکتهای شما ایجاد شد!",
|
||||||
"createdParticipant": "یک رونوشت {0} جدید در یکی از تیکتهایی که در آن مشارکت داشتید ایجاد شد!",
|
"createdParticipant":"یک رونوشت {0} جدید در یکی از تیکتهایی که در آن مشارکت داشتید ایجاد شد!",
|
||||||
"createdActiveAdmin": "یک رونوشت {0} جدید در یکی از تیکتهایی که بهعنوان مدیر در آن مشارکت داشتید ایجاد شد!",
|
"createdActiveAdmin":"یک رونوشت {0} جدید در یکی از تیکتهایی که بهعنوان مدیر در آن مشارکت داشتید ایجاد شد!",
|
||||||
"createdEveryAdmin": "یک رونوشت {0} جدید در یکی از تیکتهایی که شما مدیر آن بودید ایجاد شد!",
|
"createdEveryAdmin":"یک رونوشت {0} جدید در یکی از تیکتهایی که شما مدیر آن بودید ایجاد شد!",
|
||||||
"createdOther": "یک رونوشت {0} جدید ایجاد شد!"
|
"createdOther":"یک رونوشت {0} جدید ایجاد شد!"
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
"retry": "دوباره تلاش کنید",
|
"retry":"دوباره تلاش کنید",
|
||||||
"continue": "حذف بدون رونوشت",
|
"continue":"حذف بدون رونوشت",
|
||||||
"backup": "ایجاد رونوشت پشتیبان",
|
"backup":"ایجاد رونوشت پشتیبان",
|
||||||
"error": "مشکلی در هنگام ایجاد رونوشت رخ داد.\nمیخواهید چه کاری انجام دهید؟\n\nاین تیکت تا زمانی که یکی از این دکمهها را کلیک نکنید حذف نخواهد شد."
|
"error":"مشکلی در هنگام ایجاد رونوشت رخ داد.\nمیخواهید چه کاری انجام دهید؟\n\nاین تیکت تا زمانی که یکی از این دکمهها را کلیک نکنید حذف نخواهد شد.",
|
||||||
|
"title":"خطای رونوشت"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"پیامها",
|
||||||
|
"embedTitle":"امبد",
|
||||||
|
"fileTitle":"فایل",
|
||||||
|
"fieldsTitle":"فیلدها",
|
||||||
|
"reactionsTitle":"واکنشها",
|
||||||
|
"statsTitle":"آمار",
|
||||||
|
"emptyContent":"<محتوا خالی است>",
|
||||||
|
"noTitle":"<بدون عنوان>",
|
||||||
|
"noDesc":"<بدون توضیح>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
"titles":{
|
"titles":{
|
||||||
"internalError": "خطای داخلی",
|
"internalError":"خطای داخلی",
|
||||||
"optionMissing": "گزینه دستور غایب است",
|
"optionMissing":"گزینه دستور غایب است",
|
||||||
"optionInvalid": "گزینه دستور نامعتبر است",
|
"optionInvalid":"گزینه دستور نامعتبر است",
|
||||||
"unknownCommand": "دستور ناشناخته",
|
"unknownCommand":"دستور ناشناخته",
|
||||||
"noPermissions": "بدون مجوز",
|
"noPermissions":"بدون مجوز",
|
||||||
"unknownTicket": "تیکت ناشناخته",
|
"unknownTicket":"تیکت ناشناخته",
|
||||||
"deprecatedTicket": "تیکت منسوخشده",
|
"deprecatedTicket":"تیکت منسوخشده",
|
||||||
"unknownOption": "گزینه ناشناخته",
|
"unknownOption":"گزینه ناشناخته",
|
||||||
"unknownPanel": "پنل ناشناخته",
|
"unknownPanel":"پنل ناشناخته",
|
||||||
"notInGuild": "خارج از سرور",
|
"notInGuild":"خارج از سرور",
|
||||||
"channelRename": "عدم امکان تغییر نام کانال",
|
"channelRename":"عدم امکان تغییر نام کانال",
|
||||||
"busy": "تیکت مشغول است"
|
"busy":"تیکت مشغول است",
|
||||||
|
"permissionError":"خطای دسترسی"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo": "برای اطلاعات بیشتر با صاحب این ربات تماس بگیرید!",
|
"askForInfo":"برای اطلاعات بیشتر با صاحب این ربات تماس بگیرید!",
|
||||||
"askForInfoResolve": "اگر این مشکل پس از چند بار تلاش برطرف نشد، با صاحب این ربات تماس بگیرید.",
|
"askForInfoResolve":"اگر این مشکل پس از چند بار تلاش برطرف نشد، با صاحب این ربات تماس بگیرید.",
|
||||||
"internalError": "به دلیل خطای داخلی، امکان پاسخ به این {0} وجود نداشت!",
|
"internalError":"به دلیل خطای داخلی، امکان پاسخ به این {0} وجود نداشت!",
|
||||||
"optionMissing": "یک پارامتر ضروری در این دستور وجود ندارد!",
|
"optionMissing":"یک پارامتر ضروری در این دستور وجود ندارد!",
|
||||||
"optionInvalid": "یک پارامتر در این دستور نامعتبر است!",
|
"optionInvalid":"یک پارامتر در این دستور نامعتبر است!",
|
||||||
"optionInvalidChoose": "یکی از موارد زیر را انتخاب کنید:",
|
"optionInvalidChoose":"یکی از موارد زیر را انتخاب کنید:",
|
||||||
"unknownCommand": "برای اطلاعات بیشتر، منوی راهنما را بررسی کنید!",
|
"unknownCommand":"برای اطلاعات بیشتر، منوی راهنما را بررسی کنید!",
|
||||||
"noPermissions": "شما اجازه استفاده از این {0} را ندارید!",
|
"noPermissions":"شما اجازه استفاده از این {0} را ندارید!",
|
||||||
"noPermissionsList": "مجوزهای مورد نیاز: (یکی از آنها)",
|
"noPermissionsList":"مجوزهای مورد نیاز: (یکی از آنها)",
|
||||||
"noPermissionsCooldown": "به دلیل وجود محدودیت زمانی، اجازه استفاده از این {0} را ندارید!",
|
"noPermissionsCooldown":"به دلیل وجود محدودیت زمانی، اجازه استفاده از این {0} را ندارید!",
|
||||||
"noPermissionsBlacklist": "چون در لیست سیاه قرار دارید، اجازه استفاده از این {0} را ندارید!",
|
"noPermissionsBlacklist":"چون در لیست سیاه قرار دارید، اجازه استفاده از این {0} را ندارید!",
|
||||||
"noPermissionsLimitGlobal": "به دلیل رسیدن سرور به حداکثر تعداد تیکت، نمیتوانید تیکت ایجاد کنید!",
|
"noPermissionsLimitGlobal":"به دلیل رسیدن سرور به حداکثر تعداد تیکت، نمیتوانید تیکت ایجاد کنید!",
|
||||||
"noPermissionsLimitGlobalUser": "به دلیل رسیدن شما به حداکثر تعداد تیکت، نمیتوانید تیکت ایجاد کنید!",
|
"noPermissionsLimitGlobalUser":"به دلیل رسیدن شما به حداکثر تعداد تیکت، نمیتوانید تیکت ایجاد کنید!",
|
||||||
"noPermissionsLimitOption": "به دلیل رسیدن سرور به حداکثر تعداد تیکت برای این گزینه، نمیتوانید تیکت ایجاد کنید!",
|
"noPermissionsLimitOption":"به دلیل رسیدن سرور به حداکثر تعداد تیکت برای این گزینه، نمیتوانید تیکت ایجاد کنید!",
|
||||||
"noPermissionsLimitOptionUser": "به دلیل رسیدن شما به حداکثر تعداد تیکت برای این گزینه، نمیتوانید تیکت ایجاد کنید!",
|
"noPermissionsLimitOptionUser":"به دلیل رسیدن شما به حداکثر تعداد تیکت برای این گزینه، نمیتوانید تیکت ایجاد کنید!",
|
||||||
"unknownTicket": "این دستور را دوباره در یک تیکت معتبر امتحان کنید!",
|
"unknownTicket":"این دستور را دوباره در یک تیکت معتبر امتحان کنید!",
|
||||||
"deprecatedTicket": "کانال کنونی یک تیکت معتبر نیست! ممکن است این تیکت از نسخه قدیمی Open Ticket باشد!",
|
"deprecatedTicket":"کانال کنونی یک تیکت معتبر نیست! ممکن است این تیکت از نسخه قدیمی Open Ticket باشد!",
|
||||||
"notInGuild": "این {0} در پیامهای مستقیم (DM) کار نمیکند! لطفاً دوباره در یک سرور امتحان کنید!",
|
"notInGuild":"این {0} در پیامهای مستقیم (DM) کار نمیکند! لطفاً دوباره در یک سرور امتحان کنید!",
|
||||||
"channelRename": "به دلیل محدودیتهای نرخ دیسکورد، ربات در حال حاضر نمیتواند نام کانال را تغییر دهد. اگر ربات ریاستارت نشود، نام کانال ظرف 10 دقیقه بهطور خودکار تغییر خواهد کرد.",
|
"channelRename":"به دلیل محدودیتهای نرخ دیسکورد، ربات در حال حاضر نمیتواند نام کانال را تغییر دهد. اگر ربات ریاستارت نشود، نام کانال ظرف 10 دقیقه بهطور خودکار تغییر خواهد کرد.",
|
||||||
"channelRenameSource": "منبع این خطا: {0}",
|
"channelRenameSource":"منبع این خطا: {0}",
|
||||||
"busy": "امکان استفاده از این {0} وجود ندارد!\nتیکت در حال پردازش توسط ربات است.\n\nلطفاً چند ثانیه دیگر دوباره امتحان کنید!"
|
"busy":"امکان استفاده از این {0} وجود ندارد!\nتیکت در حال پردازش توسط ربات است.\n\nلطفاً چند ثانیه دیگر دوباره امتحان کنید!",
|
||||||
|
"closeBeforeMessage":"این تیکت نمیتواند قبل از ارسال پیام توسط یک کاربر بسته/حذف شود.",
|
||||||
|
"closeBeforeAdminMessage":"این تیکت نمیتواند قبل از ارسال پیام توسط مدیر تیکت یا عضو پشتیبانی بسته/حذف شود.",
|
||||||
|
"unableToCreateTicket":"شما نمیتوانید تیکت ایجاد کنید."
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex": "مقدار با الگوی مورد نظر مطابقت ندارد!",
|
"stringRegex":"مقدار با الگوی مورد نظر مطابقت ندارد!",
|
||||||
"stringMinLength": "مقدار باید حداقل {0} کاراکتر باشد!",
|
"stringMinLength":"مقدار باید حداقل {0} کاراکتر باشد!",
|
||||||
"stringMaxLength": "مقدار باید حداکثر {0} کاراکتر باشد!",
|
"stringMaxLength":"مقدار باید حداکثر {0} کاراکتر باشد!",
|
||||||
"numberInvalid": "عدد نامعتبر است!",
|
"numberInvalid":"عدد نامعتبر است!",
|
||||||
"numberMin": "عدد باید حداقل {0} باشد!",
|
"numberMin":"عدد باید حداقل {0} باشد!",
|
||||||
"numberMax": "عدد باید حداکثر {0} باشد!",
|
"numberMax":"عدد باید حداکثر {0} باشد!",
|
||||||
"numberDecimal": "عدد نمیتواند اعشاری باشد!",
|
"numberDecimal":"عدد نمیتواند اعشاری باشد!",
|
||||||
"numberNegative": "عدد نمیتواند منفی باشد!",
|
"numberNegative":"عدد نمیتواند منفی باشد!",
|
||||||
"numberPositive": "عدد نمیتواند مثبت باشد!",
|
"numberPositive":"عدد نمیتواند مثبت باشد!",
|
||||||
"numberZero": "عدد نمیتواند صفر باشد!",
|
"numberZero":"عدد نمیتواند صفر باشد!",
|
||||||
"channelNotFound": "کانال یافت نشد!",
|
"channelNotFound":"کانال یافت نشد!",
|
||||||
"userNotFound": "کاربر یافت نشد!",
|
"userNotFound":"کاربر یافت نشد!",
|
||||||
"roleNotFound": "نقش یافت نشد!",
|
"roleNotFound":"نقش یافت نشد!",
|
||||||
"memberNotFound": "کاربر یافت نشد!",
|
"memberNotFound":"کاربر یافت نشد!",
|
||||||
"mentionableNotFound": "کاربر یا نقش یافت نشد!",
|
"mentionableNotFound":"کاربر یا نقش یافت نشد!",
|
||||||
"channelType": "نوع کانال نامعتبر است!",
|
"channelType":"نوع کانال نامعتبر است!",
|
||||||
"notInGuild": "این گزینه نیازمند حضور شما در یک سرور است!"
|
"notInGuild":"این گزینه نیازمند حضور شما در یک سرور است!"
|
||||||
},
|
},
|
||||||
"permissions":{
|
"permissions":{
|
||||||
"developer": "شما باید توسعهدهنده این ربات باشید.",
|
"developer":"شما باید توسعهدهنده این ربات باشید.",
|
||||||
"owner": "شما باید صاحب سرور باشید.",
|
"owner":"شما باید صاحب سرور باشید.",
|
||||||
"admin": "شما باید مدیر سرور باشید.",
|
"admin":"شما باید مدیر سرور باشید.",
|
||||||
"moderator": "شما باید ناظم (مدراتور) باشید.",
|
"moderator":"شما باید ناظم (مدراتور) باشید.",
|
||||||
"support": "شما باید عضو تیم پشتیبانی باشید.",
|
"support":"شما باید عضو تیم پشتیبانی باشید.",
|
||||||
"member": "شما باید عضو سرور باشید.",
|
"member":"شما باید عضو سرور باشید.",
|
||||||
"discord-administrator": "شما باید مجوز `ADMINISTRATOR` را داشته باشید."
|
"discord-administrator":"شما باید مجوز `ADMINISTRATOR` را داشته باشید."
|
||||||
},
|
},
|
||||||
"actionInvalid":{
|
"actionInvalid":{
|
||||||
"close": "تیکت قبلاً بسته شده است!",
|
"close":"تیکت قبلاً بسته شده است!",
|
||||||
"reopen": "تیکت هنوز بسته نشده است!",
|
"reopen":"تیکت هنوز بسته نشده است!",
|
||||||
"claim": "تیکت قبلاً اختصاص یافته است!",
|
"claim":"تیکت قبلاً اختصاص یافته است!",
|
||||||
"unclaim": "تیکت هنوز اختصاص نیافته است!",
|
"unclaim":"تیکت هنوز اختصاص نیافته است!",
|
||||||
"pin": "تیکت قبلاً پین شده است!",
|
"pin":"تیکت قبلاً پین شده است!",
|
||||||
"unpin": "تیکت هنوز پین نشده است!",
|
"unpin":"تیکت هنوز پین نشده است!",
|
||||||
"add": "این کاربر قبلاً به تیکت دسترسی دارد!",
|
"add":"این کاربر قبلاً به تیکت دسترسی دارد!",
|
||||||
"remove": "امکان حذف این کاربر از تیکت وجود ندارد!"
|
"remove":"امکان حذف این کاربر از تیکت وجود ندارد!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"params":{
|
"params":{
|
||||||
"uppercase":{
|
"uppercase":{
|
||||||
"ticket": "تیکت",
|
"ticket":"تیکت",
|
||||||
"tickets": "تیکتها",
|
"tickets":"تیکتها",
|
||||||
"reason": "دلیل",
|
"reason":"دلیل",
|
||||||
"creator": "ایجادکننده",
|
"creator":"ایجادکننده",
|
||||||
"remaining": "زمان باقیمانده",
|
"remaining":"زمان باقیمانده",
|
||||||
"added": "اضافهشده",
|
"added":"اضافهشده",
|
||||||
"removed": "حذفشده",
|
"removed":"حذفشده",
|
||||||
"filter": "فیلتر",
|
"filter":"فیلتر",
|
||||||
"claimedBy": "اختصاصیافته به {0}",
|
"method":"روش",
|
||||||
"method": "روش",
|
"type":"نوع",
|
||||||
"type": "نوع",
|
"blacklisted":"در لیست سیاه",
|
||||||
"blacklisted": "در لیست سیاه",
|
"panel":"پنل",
|
||||||
"panel": "پنل",
|
"command":"دستور",
|
||||||
"command": "دستور",
|
"system":"سیستم",
|
||||||
"system": "سیستم",
|
"true":"درست",
|
||||||
"true": "درست",
|
"false":"نادرست",
|
||||||
"false": "نادرست",
|
"syntax":"نحوه نگارش",
|
||||||
"syntax": "نحوه نگارش",
|
"originalName":"نام اصلی",
|
||||||
"originalName": "نام اصلی",
|
"newName":"نام جدید",
|
||||||
"newName": "نام جدید",
|
"until":"تا",
|
||||||
"until": "تا",
|
"validOptions":"گزینههای معتبر",
|
||||||
"validOptions": "گزینههای معتبر",
|
"validPanels":"پنلهای معتبر",
|
||||||
"validPanels": "پنلهای معتبر",
|
"autoclose":"بسته شدن خودکار",
|
||||||
"autoclose": "بسته شدن خودکار",
|
"autodelete":"حذف خودکار",
|
||||||
"autodelete": "حذف خودکار",
|
"startupDate":"تاریخ راهاندازی",
|
||||||
"startupDate": "تاریخ راهاندازی",
|
"version":"نسخه",
|
||||||
"version": "نسخه",
|
"name":"نام",
|
||||||
"name": "نام",
|
"role":"نقش",
|
||||||
"role": "نقش",
|
"status":"وضعیت",
|
||||||
"status": "وضعیت",
|
"claimed":"اختصاصیافته",
|
||||||
"claimed": "اختصاصیافته",
|
"pinned":"پینشده",
|
||||||
"pinned": "پینشده",
|
"creationDate":"تاریخ ایجاد",
|
||||||
"creationDate": "تاریخ ایجاد"
|
|
||||||
|
"noone":"هیچکس",
|
||||||
|
"open":"باز",
|
||||||
|
"closed":"بسته",
|
||||||
|
"priority":"اولویت",
|
||||||
|
"participants":"شرکتکنندگان",
|
||||||
|
"yes":"بله",
|
||||||
|
"no":"خیر",
|
||||||
|
"option":"گزینه",
|
||||||
|
"topic":"موضوع",
|
||||||
|
"uptime":"زمان کار سیستم",
|
||||||
|
"messages":"پیامها",
|
||||||
|
"embeds":"امبدها",
|
||||||
|
"files":"فایلها",
|
||||||
|
"components":"کامپوننتها",
|
||||||
|
"cooldown":"زمان انتظار",
|
||||||
|
"maxTickets":"حداکثر تیکتها",
|
||||||
|
"admins":"مدیران",
|
||||||
|
"roles":"نقشها",
|
||||||
|
"size":"اندازه"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text": "متن",
|
"text":"متن",
|
||||||
"html": "اچتیامال",
|
"html":"اچتیامال",
|
||||||
"command": "دستور",
|
"command":"دستور",
|
||||||
"modal": "پنجره بازشو",
|
"modal":"پنجره بازشو",
|
||||||
"button": "دکمه",
|
"button":"دکمه",
|
||||||
"dropdown": "منوی کشویی",
|
"dropdown":"منوی کشویی",
|
||||||
"method": "روش"
|
"method":"روش"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"commands":{
|
"commands":{
|
||||||
"reason": "یک دلیل اختیاری مشخص کنید که در لاگها قابل مشاهده خواهد بود.",
|
"reason":"یک دلیل اختیاری مشخص کنید که در لاگها قابل مشاهده خواهد بود.",
|
||||||
"help": "لیستی از تمام دستورات موجود را دریافت کنید.",
|
"help":"لیستی از تمام دستورات موجود را دریافت کنید.",
|
||||||
"panel": "یک پیام با منوی کشویی یا دکمهها ایجاد کنید (برای ساخت تیکت).",
|
"panel":"یک پیام با منوی کشویی یا دکمهها ایجاد کنید (برای ساخت تیکت).",
|
||||||
"panelId": "شناسه پنلی که میخواهید ایجاد کنید.",
|
"panelId":"شناسه پنلی که میخواهید ایجاد کنید.",
|
||||||
"panelAutoUpdate": "آیا میخواهید این پنل هنگام ویرایش بهصورت خودکار بهروزرسانی شود؟",
|
"panelAutoUpdate":"آیا میخواهید این پنل هنگام ویرایش بهصورت خودکار بهروزرسانی شود؟",
|
||||||
"ticket": "فوراً یک تیکت ایجاد کنید.",
|
"ticket":"فوراً یک تیکت ایجاد کنید.",
|
||||||
"ticketId": "شناسه تیکتی که میخواهید ایجاد کنید.",
|
"ticketId":"شناسه تیکتی که میخواهید ایجاد کنید.",
|
||||||
"close": "یک تیکت را ببندید.",
|
"close":"یک تیکت را ببندید.",
|
||||||
"delete": "یک تیکت را حذف کنید.",
|
"delete":"یک تیکت را حذف کنید.",
|
||||||
"deleteNoTranscript": "این تیکت را بدون ایجاد رونوشت حذف کنید.",
|
"deleteNoTranscript":"این تیکت را بدون ایجاد رونوشت حذف کنید.",
|
||||||
"reopen": "یک تیکت را دوباره باز کنید.",
|
"reopen":"یک تیکت را دوباره باز کنید.",
|
||||||
"claim": "یک تیکت را به خود اختصاص دهید.",
|
"claim":"یک تیکت را به خود اختصاص دهید.",
|
||||||
"claimUser": "این تیکت را به جای خودتان به شخص دیگری اختصاص دهید.",
|
"claimUser":"این تیکت را به جای خودتان به شخص دیگری اختصاص دهید.",
|
||||||
"unclaim": "اختصاص یک تیکت را لغو کنید.",
|
"unclaim":"اختصاص یک تیکت را لغو کنید.",
|
||||||
"pin": "یک تیکت را پین کنید.",
|
"pin":"یک تیکت را پین کنید.",
|
||||||
"unpin": "پین یک تیکت را لغو کنید.",
|
"unpin":"پین یک تیکت را لغو کنید.",
|
||||||
"move": "یک تیکت را منتقل کنید.",
|
|
||||||
"moveId": "شناسه گزینهای که میخواهید تیکت به آن منتقل شود.",
|
"move":"یک تیکت را منتقل کنید.",
|
||||||
"rename": "نام یک تیکت را تغییر دهید.",
|
"moveId":"شناسه گزینهای که میخواهید تیکت به آن منتقل شود.",
|
||||||
"renameName": "نام جدید برای این تیکت.",
|
"rename":"نام یک تیکت را تغییر دهید.",
|
||||||
"add": "یک کاربر را به تیکت اضافه کنید.",
|
"renameName":"نام جدید برای این تیکت.",
|
||||||
"addUser": "کاربری که میخواهید اضافه کنید.",
|
"add":"یک کاربر را به تیکت اضافه کنید.",
|
||||||
"remove": "یک کاربر را از تیکت حذف کنید.",
|
"addUser":"کاربری که میخواهید اضافه کنید.",
|
||||||
"removeUser": "کاربری که میخواهید حذف کنید.",
|
"remove":"یک کاربر را از تیکت حذف کنید.",
|
||||||
"blacklist": "لیست سیاه تیکتها را مدیریت کنید.",
|
"removeUser":"کاربری که میخواهید حذف کنید.",
|
||||||
"blacklistView": "لیستی از لیست سیاه کنونی را مشاهده کنید.",
|
|
||||||
"blacklistAdd": "یک کاربر را به لیست سیاه اضافه کنید.",
|
"blacklist":"لیست سیاه تیکتها را مدیریت کنید.",
|
||||||
"blacklistRemove": "یک کاربر را از لیست سیاه حذف کنید.",
|
"blacklistView":"لیستی از لیست سیاه کنونی را مشاهده کنید.",
|
||||||
"blacklistGet": "جزئیات یک کاربر در لیست سیاه را دریافت کنید.",
|
"blacklistAdd":"یک کاربر را به لیست سیاه اضافه کنید.",
|
||||||
"blacklistGetUser": "کاربری که میخواهید جزئیاتش را دریافت کنید.",
|
"blacklistRemove":"یک کاربر را از لیست سیاه حذف کنید.",
|
||||||
"stats": "آمار ربات، یک عضو یا یک تیکت را مشاهده کنید.",
|
"blacklistGet":"جزئیات یک کاربر در لیست سیاه را دریافت کنید.",
|
||||||
"statsReset": "تمام آمار ربات را بازنشانی کنید (و شمارش را از صفر شروع کنید).",
|
"blacklistGetUser":"کاربری که میخواهید جزئیاتش را دریافت کنید.",
|
||||||
"statsGlobal": "آمار کلی را مشاهده کنید.",
|
"stats":"آمار ربات، یک عضو یا یک تیکت را مشاهده کنید.",
|
||||||
"statsUser": "آمار یک کاربر در سرور را مشاهده کنید.",
|
"statsReset":"تمام آمار ربات را بازنشانی کنید (و شمارش را از صفر شروع کنید).",
|
||||||
"statsUserUser": "کاربری که میخواهید آمارش را مشاهده کنید.",
|
"statsGlobal":"آمار کلی را مشاهده کنید.",
|
||||||
"statsTicket": "آمار یک تیکت در سرور را مشاهده کنید.",
|
"statsUser":"آمار یک کاربر در سرور را مشاهده کنید.",
|
||||||
"statsTicketTicket": "تیکتی که میخواهید آمارش را مشاهده کنید.",
|
"statsUserUser":"کاربری که میخواهید آمارش را مشاهده کنید.",
|
||||||
"clear": "چندین تیکت را بهصورت همزمان حذف کنید.",
|
"statsTicket":"آمار یک تیکت در سرور را مشاهده کنید.",
|
||||||
"clearFilter": "فیلتر برای حذف تیکتها.",
|
"statsTicketTicket":"تیکتی که میخواهید آمارش را مشاهده کنید.",
|
||||||
"clearFilters": {
|
|
||||||
"all": "همه",
|
"clear":"چندین تیکت را بهصورت همزمان حذف کنید.",
|
||||||
"open": "باز",
|
"clearFilter":"فیلتر برای حذف تیکتها.",
|
||||||
"close": "بسته",
|
"clearFilters":{
|
||||||
"claim": "اختصاصیافته",
|
"all":"همه",
|
||||||
"unclaim": "بدون اختصاص",
|
"open":"باز",
|
||||||
"pin": "پینشده",
|
"close":"بسته",
|
||||||
"unpin": "بدون پین",
|
"claim":"اختصاصیافته",
|
||||||
"autoclose": "بستهشده خودکار"
|
"unclaim":"بدون اختصاص",
|
||||||
|
"pin":"پینشده",
|
||||||
|
"unpin":"بدون پین",
|
||||||
|
"autoclose":"بستهشده خودکار"
|
||||||
},
|
},
|
||||||
"autoclose": "مدیریت بسته شدن خودکار در یک تیکت.",
|
|
||||||
"autocloseDisable": "غیرفعال کردن بسته شدن خودکار در این تیکت.",
|
"autoclose":"مدیریت بسته شدن خودکار در یک تیکت.",
|
||||||
"autocloseEnable": "فعال کردن بسته شدن خودکار در این تیکت.",
|
"autocloseDisable":"غیرفعال کردن بسته شدن خودکار در این تیکت.",
|
||||||
"autocloseEnableTime": "تعداد ساعاتی که این تیکت باید غیرفعال باشد تا بسته شود.",
|
"autocloseEnable":"فعال کردن بسته شدن خودکار در این تیکت.",
|
||||||
"autodelete": "مدیریت حذف خودکار در یک تیکت.",
|
"autocloseEnableTime":"تعداد ساعاتی که این تیکت باید غیرفعال باشد تا بسته شود.",
|
||||||
"autodeleteDisable": "غیرفعال کردن حذف خودکار در این تیکت.",
|
"autodelete":"مدیریت حذف خودکار در یک تیکت.",
|
||||||
"autodeleteEnable": "فعال کردن حذف خودکار در این تیکت.",
|
"autodeleteDisable":"غیرفعال کردن حذف خودکار در این تیکت.",
|
||||||
"autodeleteEnableTime": "تعداد روزهایی که این تیکت باید غیرفعال باشد تا حذف شود."
|
"autodeleteEnable":"فعال کردن حذف خودکار در این تیکت.",
|
||||||
|
"autodeleteEnableTime":"تعداد روزهایی که این تیکت باید غیرفعال باشد تا حذف شود.",
|
||||||
|
|
||||||
|
"topic":"مدیریت موضوع کانال تیکت.",
|
||||||
|
"topicSet":"تنظیم موضوع کانال تیکت.",
|
||||||
|
"topicValue":"موضوع جدید کانال.",
|
||||||
|
"topicList":"دریافت لیست تمام تیکتها همراه با موضوع و آمار آنها.",
|
||||||
|
"priority":"مدیریت اولویت تیکت.",
|
||||||
|
"prioritySet":"تنظیم اولویت تیکت.",
|
||||||
|
"priorityValue":"اولویت کانال.",
|
||||||
|
"priorityGet":"دریافت اولویت تیکت.",
|
||||||
|
"priorityList":"دریافت لیست تمام تیکتها همراه با وضعیت اولویت آنها.",
|
||||||
|
"transfer":"انتقال مالکیت تیکت از یک کاربر به کاربر دیگر.",
|
||||||
|
"transferUser":"کاربری که باید به او منتقل شود."
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"help": "لیستی از تمام دستورات موجود را دریافت کنید.",
|
"help":"لیستی از تمام دستورات موجود را دریافت کنید.",
|
||||||
"ticket": "فوراً یک تیکت ایجاد کنید.",
|
"ticket":"فوراً یک تیکت ایجاد کنید.",
|
||||||
"close": "یک تیکت را ببندید، این کار نوشتن در این کانال را غیرفعال میکند.",
|
"close":"یک تیکت را ببندید، این کار نوشتن در این کانال را غیرفعال میکند.",
|
||||||
"delete": "یک تیکت را حذف کنید، این کار در صورت فعال بودن، یک رونوشت ایجاد میکند.",
|
"delete":"یک تیکت را حذف کنید، این کار در صورت فعال بودن، یک رونوشت ایجاد میکند.",
|
||||||
"reopen": "یک تیکت را دوباره باز کنید، این کار نوشتن در این کانال را دوباره فعال میکند.",
|
"reopen":"یک تیکت را دوباره باز کنید، این کار نوشتن در این کانال را دوباره فعال میکند.",
|
||||||
"pin": "یک تیکت را پین کنید. این کار تیکت را به بالای لیست منتقل میکند و ایموجی '📌' به نام آن اضافه میشود.",
|
"pin":"یک تیکت را پین کنید. این کار تیکت را به بالای لیست منتقل میکند و ایموجی '📌' به نام آن اضافه میشود.",
|
||||||
"unpin": "پین یک تیکت را لغو کنید. تیکت در جایگاه فعلی خود باقی میماند اما ایموجی '📌' از نام آن حذف میشود.",
|
"unpin":"پین یک تیکت را لغو کنید. تیکت در جایگاه فعلی خود باقی میماند اما ایموجی '📌' از نام آن حذف میشود.",
|
||||||
"move": "یک تیکت را منتقل کنید. این کار نوع تیکت را تغییر میدهد.",
|
"move":"یک تیکت را منتقل کنید. این کار نوع تیکت را تغییر میدهد.",
|
||||||
"rename": "نام یک تیکت را تغییر دهید. این کار نام کانال تیکت را تغییر میدهد.",
|
"rename":"نام یک تیکت را تغییر دهید. این کار نام کانال تیکت را تغییر میدهد.",
|
||||||
"claim": "یک تیکت را به خود اختصاص دهید. با این کار به تیم خود اطلاع میدهید که شما این تیکت را مدیریت میکنید.",
|
"claim":"یک تیکت را به خود اختصاص دهید. با این کار به تیم خود اطلاع میدهید که شما این تیکت را مدیریت میکنید.",
|
||||||
"unclaim": "اختصاص یک تیکت را لغو کنید. با این کار به تیم خود اطلاع میدهید که این تیکت دوباره آزاد است.",
|
"unclaim":"اختصاص یک تیکت را لغو کنید. با این کار به تیم خود اطلاع میدهید که این تیکت دوباره آزاد است.",
|
||||||
"add": "یک کاربر را به تیکت اضافه کنید. این کار به کاربر امکان خواندن و نوشتن در تیکت را میدهد.",
|
"add":"یک کاربر را به تیکت اضافه کنید. این کار به کاربر امکان خواندن و نوشتن در تیکت را میدهد.",
|
||||||
"remove": "یک کاربر را از تیکت حذف کنید. این کار امکان خواندن و نوشتن کاربر در تیکت را حذف میکند.",
|
"remove":"یک کاربر را از تیکت حذف کنید. این کار امکان خواندن و نوشتن کاربر در تیکت را حذف میکند.",
|
||||||
"panel": "یک پیام با منوی کشویی یا دکمهها ایجاد کنید (برای ساخت تیکت).",
|
"panel":"یک پیام با منوی کشویی یا دکمهها ایجاد کنید (برای ساخت تیکت).",
|
||||||
"blacklistView": "لیستی از لیست سیاه کنونی را مشاهده کنید.",
|
"blacklistView":"لیستی از لیست سیاه کنونی را مشاهده کنید.",
|
||||||
"blacklistAdd": "یک کاربر را به لیست سیاه اضافه کنید.",
|
"blacklistAdd":"یک کاربر را به لیست سیاه اضافه کنید.",
|
||||||
"blacklistRemove": "یک کاربر را از لیست سیاه حذف کنید.",
|
"blacklistRemove":"یک کاربر را از لیست سیاه حذف کنید.",
|
||||||
"blacklistGet": "جزئیات یک کاربر در لیست سیاه را دریافت کنید.",
|
"blacklistGet":"جزئیات یک کاربر در لیست سیاه را دریافت کنید.",
|
||||||
"statsGlobal": "آمار کلی را مشاهده کنید.",
|
"statsGlobal":"آمار کلی را مشاهده کنید.",
|
||||||
"statsTicket": "آمار یک تیکت در سرور را مشاهده کنید.",
|
"statsTicket":"آمار یک تیکت در سرور را مشاهده کنید.",
|
||||||
"statsUser": "آمار یک کاربر در سرور را مشاهده کنید.",
|
"statsUser":"آمار یک کاربر در سرور را مشاهده کنید.",
|
||||||
"statsReset": "تمام آمار ربات را بازنشانی کنید (و شمارش را از صفر شروع کنید).",
|
"statsReset":"تمام آمار ربات را بازنشانی کنید (و شمارش را از صفر شروع کنید).",
|
||||||
"autocloseDisable": "بسته شدن خودکار را در این تیکت غیرفعال کنید.",
|
"autocloseDisable":"بسته شدن خودکار را در این تیکت غیرفعال کنید.",
|
||||||
"autocloseEnable": "بسته شدن خودکار را در این تیکت فعال کنید.",
|
"autocloseEnable":"بسته شدن خودکار را در این تیکت فعال کنید.",
|
||||||
"autodeleteDisable": "حذف خودکار را در این تیکت غیرفعال کنید.",
|
"autodeleteDisable":"حذف خودکار را در این تیکت غیرفعال کنید.",
|
||||||
"autodeleteEnable": "حذف خودکار را در این تیکت فعال کنید."
|
"autodeleteEnable":"حذف خودکار را در این تیکت فعال کنید.",
|
||||||
|
"categories":{
|
||||||
|
"general":"دستورات عمومی",
|
||||||
|
"basicTicket":"دستورات پایه تیکت",
|
||||||
|
"advancedTicket":"دستورات پیشرفته تیکت",
|
||||||
|
"userTicket":"دستورات تیکت کاربر",
|
||||||
|
"admin":"دستورات مدیر",
|
||||||
|
"advanced":"دستورات پیشرفته",
|
||||||
|
"extra":"دستورات اضافی"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes":{
|
"scopes":{
|
||||||
"global": "آمار کلی",
|
"global":"آمار کلی",
|
||||||
"system": "آمار سیستم",
|
"system":"آمار سیستم",
|
||||||
"user": "آمار کاربر",
|
"user":"آمار کاربر",
|
||||||
"ticket": "آمار تیکت",
|
"ticket":"آمار تیکت",
|
||||||
"participants": "مشارکتکنندگان"
|
"participants":"مشارکتکنندگان",
|
||||||
|
"messages":"پیامها"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated": "تیکتهای ایجادشده",
|
"ticketsCreated":"تیکتهای ایجادشده",
|
||||||
"ticketsClosed": "تیکتهای بستهشده",
|
"ticketsClosed":"تیکتهای بستهشده",
|
||||||
"ticketsDeleted": "تیکتهای حذفشده",
|
"ticketsDeleted":"تیکتهای حذفشده",
|
||||||
"ticketsReopened": "تیکتهای دوباره بازشده",
|
"ticketsReopened":"تیکتهای دوباره بازشده",
|
||||||
"ticketsAutoclosed": "تیکتهای بستهشده خودکار",
|
"ticketsAutoclosed":"تیکتهای بستهشده خودکار",
|
||||||
"ticketsClaimed": "تیکتهای اختصاص یافته",
|
"ticketsClaimed":"تیکتهای اختصاص یافته",
|
||||||
"ticketsPinned": "تیکتهای پین شده",
|
"ticketsPinned":"تیکتهای پین شده",
|
||||||
"ticketsMoved": "تیکتهای منتقل شده",
|
"ticketsMoved":"تیکتهای منتقل شده",
|
||||||
"usersBlacklisted": "کاربران در لیست سیاه",
|
"usersBlacklisted":"کاربران در لیست سیاه",
|
||||||
"transcriptsCreated": "رونوشتهای ایجادشده"
|
"transcriptsCreated":"رونوشتهای ایجادشده",
|
||||||
|
"ticketsAutodeleted":"تیکتهای خودکار حذف شده",
|
||||||
|
"ticketsTransferred":"تیکتهای منتقل شده",
|
||||||
|
"ticketVolume":"حجم تیکت",
|
||||||
|
"averageTickets":"میانگین تیکت/کاربر",
|
||||||
|
"currentTickets":"تیکتهای جاری",
|
||||||
|
"age":"سن تیکت",
|
||||||
|
"responseTime":"زمان پاسخ",
|
||||||
|
"resolutionTime":"زمان حل",
|
||||||
|
"createdOn":"ایجاد شده در",
|
||||||
|
"createdBy":"ایجاد شده توسط",
|
||||||
|
"closedOn":"بسته شده در",
|
||||||
|
"closedBy":"بسته شده توسط",
|
||||||
|
"claimedOn":"ادعا شده در",
|
||||||
|
"claimedBy":"ادعا شده توسط",
|
||||||
|
"pinnedOn":"سنجاق شده در",
|
||||||
|
"pinnedBy":"سنجاق شده توسط",
|
||||||
|
"deletedOn":"حذف شده در",
|
||||||
|
"deletedBy":"حذف شده توسط"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"توسعهدهنده",
|
||||||
|
"serverOwner":"مالک سرور",
|
||||||
|
"serverAdmin":"مدیر سرور",
|
||||||
|
"moderator":"تیم ناظم",
|
||||||
|
"support":"تیم پشتیبانی",
|
||||||
|
"member":"عضو"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"تیکت خود را انتخاب کنید",
|
||||||
|
"selectRole":"نقش خود را انتخاب کنید",
|
||||||
|
"selectOption":"گزینه خود را انتخاب کنید"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"فوری",
|
||||||
|
"veryHigh":"خیلی بالا",
|
||||||
|
"high":"بالا",
|
||||||
|
"normal":"معمولی",
|
||||||
|
"low":"پایین",
|
||||||
|
"veryLow":"خیلی پایین",
|
||||||
|
"none":"هیچ"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+146
-16
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["DanoGlez"],
|
"translators":["DanoGlez"],
|
||||||
"lastedited":"28/01/2025",
|
"lastedited":"16/02/2026",
|
||||||
"language":"Polish",
|
"language":"Polish",
|
||||||
"automated":false
|
"automated":false
|
||||||
},
|
},
|
||||||
@@ -31,6 +31,14 @@
|
|||||||
"stringContains":"Ten tekst musi zawierać {0}!",
|
"stringContains":"Ten tekst musi zawierać {0}!",
|
||||||
"stringChoices":"Ten tekst może być tylko jednym z następujących wartości: {0}!",
|
"stringChoices":"Ten tekst może być tylko jednym z następujących wartości: {0}!",
|
||||||
"stringRegex":"Ten tekst jest nieprawidłowy!",
|
"stringRegex":"Ten tekst jest nieprawidłowy!",
|
||||||
|
"stringInvertedContains":"Ten ciąg nie może zawierać {0}!",
|
||||||
|
"stringLowercase":"Ten ciąg musi być napisany wyłącznie małymi literami!",
|
||||||
|
"stringUppercase":"Ten ciąg musi być napisany wyłącznie wielkimi literami!",
|
||||||
|
"stringSpecialCharacters":"Ten ciąg nie może zawierać znaków specjalnych! (tylko a-z, 0-9 i spacja)",
|
||||||
|
"stringNoSpaces":"Ten ciąg nie może zawierać spacji!",
|
||||||
|
"stringCapitalWord":"Zaleca się, aby każde słowo w tym ciągu zaczynało się wielką literą!",
|
||||||
|
"stringCapitalSentence":"Wygląda na to, że niektóre zdania w tym ciągu nie zaczynają się wielką literą!",
|
||||||
|
"stringPunctuation":"Wygląda na to, że zdanie w tym ciągu nie kończy się znakiem interpunkcyjnym!",
|
||||||
|
|
||||||
"numberTooShort":"Ta liczba nie może być krótsza niż {0} znaków!",
|
"numberTooShort":"Ta liczba nie może być krótsza niż {0} znaków!",
|
||||||
"numberTooLong":"Ta liczba nie może być dłuższa niż {0} znaków!",
|
"numberTooLong":"Ta liczba nie może być dłuższa niż {0} znaków!",
|
||||||
@@ -48,6 +56,8 @@
|
|||||||
"numberNegative":"Ta liczba nie może być ujemna!",
|
"numberNegative":"Ta liczba nie może być ujemna!",
|
||||||
"numberPositive":"Ta liczba nie może być dodatnia!",
|
"numberPositive":"Ta liczba nie może być dodatnia!",
|
||||||
"numberZero":"Ta liczba nie może wynosić zero!",
|
"numberZero":"Ta liczba nie może wynosić zero!",
|
||||||
|
"numberNan":"Ta liczba nie może być NaN (nie liczba)!",
|
||||||
|
"numberInvertedContains":"Ta liczba nie może zawierać {0}!",
|
||||||
|
|
||||||
"booleanTrue":"Ta wartość logiczna nie może być prawdziwa!",
|
"booleanTrue":"Ta wartość logiczna nie może być prawdziwa!",
|
||||||
"booleanFalse":"Ta wartość logiczna nie może być fałszywa!",
|
"booleanFalse":"Ta wartość logiczna nie może być fałszywa!",
|
||||||
@@ -89,7 +99,8 @@
|
|||||||
"invalidButton":"Ten przycisk musi zawierać co najmniej {0} lub {1}!",
|
"invalidButton":"Ten przycisk musi zawierać co najmniej {0} lub {1}!",
|
||||||
"unusedOption":"Opcja {0} nie jest nigdzie używana!",
|
"unusedOption":"Opcja {0} nie jest nigdzie używana!",
|
||||||
"unusedQuestion":"Pytanie {0} nie jest nigdzie używane!",
|
"unusedQuestion":"Pytanie {0} nie jest nigdzie używane!",
|
||||||
"dropdownOption":"Panel z włączonym rozwijanym menu może zawierać tylko opcje typu 'ticket'!"
|
"dropdownOption":"Panel z włączonym rozwijanym menu może zawierać tylko opcje typu 'ticket'!",
|
||||||
|
"customInvalidVersion":"Wersja określona w konfiguracji nie pasuje! Upewnij się, że zaktualizowałeś konfigurację do najnowszej wersji!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
@@ -132,6 +143,7 @@
|
|||||||
"blacklistAddDm":"Dodano do Listy Zablokowanych",
|
"blacklistAddDm":"Dodano do Listy Zablokowanych",
|
||||||
"blacklistRemoveDm":"Usunięto z Listy Zablokowanych",
|
"blacklistRemoveDm":"Usunięto z Listy Zablokowanych",
|
||||||
"clear":"Tickety Usunięte",
|
"clear":"Tickety Usunięte",
|
||||||
|
"clearTickets":"Wyczyść Tiki",
|
||||||
"roles":"Role Zaktualizowane",
|
"roles":"Role Zaktualizowane",
|
||||||
|
|
||||||
"autoclose":"Ticket Automatycznie Zamknięty",
|
"autoclose":"Ticket Automatycznie Zamknięty",
|
||||||
@@ -139,7 +151,12 @@
|
|||||||
"autocloseDisabled":"Automatyczne Zamknięcie Wyłączone",
|
"autocloseDisabled":"Automatyczne Zamknięcie Wyłączone",
|
||||||
"autodelete":"Ticket Automatycznie Usunięty",
|
"autodelete":"Ticket Automatycznie Usunięty",
|
||||||
"autodeleteEnabled":"Automatyczne Usuwanie Włączone",
|
"autodeleteEnabled":"Automatyczne Usuwanie Włączone",
|
||||||
"autodeleteDisabled":"Automatyczne Usuwanie Wyłączone"
|
"autodeleteDisabled":"Automatyczne Usuwanie Wyłączone",
|
||||||
|
|
||||||
|
"topicSet":"Temat Zmieniony",
|
||||||
|
"prioritySet":"Priorytet Zmieniony",
|
||||||
|
"priorityGet":"Priorytet Tiku",
|
||||||
|
"transfer":"Tik przeniesiony"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create":"Twój ticket został utworzony. Kliknij poniższy przycisk, aby go otworzyć!",
|
"create":"Twój ticket został utworzony. Kliknij poniższy przycisk, aby go otworzyć!",
|
||||||
@@ -180,7 +197,12 @@
|
|||||||
"ticketMessageLimit":"Możesz utworzyć maksymalnie {0} ticket(y) jednocześnie!",
|
"ticketMessageLimit":"Możesz utworzyć maksymalnie {0} ticket(y) jednocześnie!",
|
||||||
"ticketMessageAutoclose":"Ten ticket zostanie automatycznie zamknięty, jeśli będzie nieaktywny przez {0}h!",
|
"ticketMessageAutoclose":"Ten ticket zostanie automatycznie zamknięty, jeśli będzie nieaktywny przez {0}h!",
|
||||||
"ticketMessageAutodelete":"Ten ticket zostanie automatycznie usunięty, jeśli będzie nieaktywny przez {0} dni!",
|
"ticketMessageAutodelete":"Ten ticket zostanie automatycznie usunięty, jeśli będzie nieaktywny przez {0} dni!",
|
||||||
"panelReady":"Panel znajduje się poniżej!\nTeraz możesz usunąć tę wiadomość!"
|
"panelReady":"Panel jest dostępny w wiadomości następczej!\nTa wiadomość może teraz zostać usunięta!",
|
||||||
|
|
||||||
|
"topicSet":"Temat kanału został pomyślnie zmieniony przez {0}!",
|
||||||
|
"prioritySet":"Priorytet tiku został pomyślnie zmieniony na {0} przez {1}!",
|
||||||
|
"priorityGet":"Aktualny priorytet tego tiku to {0}.",
|
||||||
|
"transfer":"Własność tiku została pomyślnie przeniesiona z {0} do {1} przez {2}!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder":"Dlaczego zamknąłeś ten ticket?",
|
"closePlaceholder":"Dlaczego zamknąłeś ten ticket?",
|
||||||
@@ -220,7 +242,14 @@
|
|||||||
"blacklistRemoveLog":"{0} został usunięty z czarnej listy przez {1}!",
|
"blacklistRemoveLog":"{0} został usunięty z czarnej listy przez {1}!",
|
||||||
"blacklistAddDm":"Zostałeś dodany do czarnej listy na naszym serwerze!\nOd teraz nie możesz tworzyć ticketów!",
|
"blacklistAddDm":"Zostałeś dodany do czarnej listy na naszym serwerze!\nOd teraz nie możesz tworzyć ticketów!",
|
||||||
"blacklistRemoveDm":"Zostałeś usunięty z czarnej listy na naszym serwerze!\nTeraz możesz ponownie tworzyć tickety!",
|
"blacklistRemoveDm":"Zostałeś usunięty z czarnej listy na naszym serwerze!\nTeraz możesz ponownie tworzyć tickety!",
|
||||||
"clearLog":"{0} ticketów zostało usuniętych przez {1}!"
|
"clearLog":"{0} ticketów zostało usuniętych przez {1}!",
|
||||||
|
|
||||||
|
"transferLog":"Własność tego tiku została przeniesiona z {0} do {1} przez {2}!",
|
||||||
|
"transferDm":"Własność twojego tiku została przeniesiona z {0} do {1} na naszym serwerze!",
|
||||||
|
"prioritySetLog":"Priorytet tego tiku został zmieniony na {0} przez {1}!",
|
||||||
|
"prioritySetDm":"Priorytet twojego tiku został zmieniony na {0} na naszym serwerze!",
|
||||||
|
"roleUpdateLog":"{0} zaktualizował swoje role!",
|
||||||
|
"roleUpdateDm":"Twoje role na naszym serwerze zostały zaktualizowane!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
@@ -241,7 +270,19 @@
|
|||||||
"retry":"Spróbuj ponownie",
|
"retry":"Spróbuj ponownie",
|
||||||
"continue":"Usuń bez transkryptu",
|
"continue":"Usuń bez transkryptu",
|
||||||
"backup":"Utwórz kopię zapasową transkryptu",
|
"backup":"Utwórz kopię zapasową transkryptu",
|
||||||
"error":"Coś poszło nie tak podczas próby utworzenia transkryptu.\nCo chciałbyś zrobić?\n\nTen ticket nie zostanie usunięty, dopóki nie klikniesz jednego z tych przycisków."
|
"error":"Coś poszło nie tak podczas próby utworzenia transkryptu.\nCo chciałbyś zrobić?\n\nTen ticket nie zostanie usunięty, dopóki nie klikniesz jednego z tych przycisków.",
|
||||||
|
"title":"Błąd Transkrypcji"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"WIADOMOŚCI",
|
||||||
|
"embedTitle":"EMBED",
|
||||||
|
"fileTitle":"PLIK",
|
||||||
|
"fieldsTitle":"POLA",
|
||||||
|
"reactionsTitle":"REAKCJE",
|
||||||
|
"statsTitle":"STATYSTYKI",
|
||||||
|
"emptyContent":"<zawartość pusta>",
|
||||||
|
"noTitle":"<brak tytułu>",
|
||||||
|
"noDesc":"<brak opisu>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
@@ -257,7 +298,8 @@
|
|||||||
"unknownPanel":"Nieznany panel",
|
"unknownPanel":"Nieznany panel",
|
||||||
"notInGuild":"Nie na serwerze",
|
"notInGuild":"Nie na serwerze",
|
||||||
"channelRename":"Nie można zmienić nazwy kanału",
|
"channelRename":"Nie można zmienić nazwy kanału",
|
||||||
"busy":"Ticket jest zajęty"
|
"busy":"Ticket jest zajęty",
|
||||||
|
"permissionError":"Błąd uprawnień"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo":"Skontaktuj się z właścicielem tego bota, aby uzyskać więcej informacji!",
|
"askForInfo":"Skontaktuj się z właścicielem tego bota, aby uzyskać więcej informacji!",
|
||||||
@@ -280,7 +322,10 @@
|
|||||||
"notInGuild":"To {0} nie działa w DM! Spróbuj ponownie na serwerze!",
|
"notInGuild":"To {0} nie działa w DM! Spróbuj ponownie na serwerze!",
|
||||||
"channelRename":"Z powodu ograniczeń Discorda obecnie niemożliwe jest, aby bot zmienił nazwę kanału. Kanał zostanie automatycznie przemianowany w ciągu 10 minut, jeśli bot nie zostanie zrestartowany.",
|
"channelRename":"Z powodu ograniczeń Discorda obecnie niemożliwe jest, aby bot zmienił nazwę kanału. Kanał zostanie automatycznie przemianowany w ciągu 10 minut, jeśli bot nie zostanie zrestartowany.",
|
||||||
"channelRenameSource":"Źródło tego błędu: {0}",
|
"channelRenameSource":"Źródło tego błędu: {0}",
|
||||||
"busy":"Nie można użyć tego {0}!\nTicket jest obecnie przetwarzany przez bota.\n\nSpróbuj ponownie za kilka sekund!"
|
"busy":"Nie można użyć tego {0}!\nTicket jest obecnie przetwarzany przez bota.\n\nSpróbuj ponownie za kilka sekund!",
|
||||||
|
"closeBeforeMessage":"Nie można zamknąć/usunąć tego tiku zanim użytkownik wyśle wiadomość.",
|
||||||
|
"closeBeforeAdminMessage":"Nie można zamknąć/usunąć tego tiku zanim administrator lub członek wsparcia wyśle wiadomość.",
|
||||||
|
"unableToCreateTicket":"Nie możesz utworzyć tiku."
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex":"Wartość nie pasuje do wzorca!",
|
"stringRegex":"Wartość nie pasuje do wzorca!",
|
||||||
@@ -331,7 +376,6 @@
|
|||||||
"added":"Dodano",
|
"added":"Dodano",
|
||||||
"removed":"Usunięto",
|
"removed":"Usunięto",
|
||||||
"filter":"Filtr",
|
"filter":"Filtr",
|
||||||
"claimedBy":"Przypisane przez {0}",
|
|
||||||
"method":"Metoda",
|
"method":"Metoda",
|
||||||
"type":"Typ",
|
"type":"Typ",
|
||||||
"blacklisted":"Na czarnej liście",
|
"blacklisted":"Na czarnej liście",
|
||||||
@@ -352,10 +396,30 @@
|
|||||||
"version":"Wersja",
|
"version":"Wersja",
|
||||||
"name":"Nazwa",
|
"name":"Nazwa",
|
||||||
"role":"Rola",
|
"role":"Rola",
|
||||||
"status":"Status",
|
"status":"STATUS",
|
||||||
"claimed":"Przypisane",
|
"claimed":"Przypisane",
|
||||||
"pinned":"Przypięte",
|
"pinned":"Przypięte",
|
||||||
"creationDate":"Data utworzenia"
|
"creationDate":"Data utworzenia",
|
||||||
|
|
||||||
|
"noone":"Nikt",
|
||||||
|
"open":"OTWARTY",
|
||||||
|
"closed":"ZAMKNIĘTY",
|
||||||
|
"priority":"PRIORYTET",
|
||||||
|
"participants":"UCZESTNICY",
|
||||||
|
"yes":"Tak",
|
||||||
|
"no":"Nie",
|
||||||
|
"option":"Opcja",
|
||||||
|
"topic":"Temat",
|
||||||
|
"uptime":"Czas działania systemu",
|
||||||
|
"messages":"Wiadomości",
|
||||||
|
"embeds":"Embeds",
|
||||||
|
"files":"Pliki",
|
||||||
|
"components":"Komponenty",
|
||||||
|
"cooldown":"Czas odnowienia",
|
||||||
|
"maxTickets":"Maks. Tiki",
|
||||||
|
"admins":"Administratorzy",
|
||||||
|
"roles":"Role",
|
||||||
|
"size":"Rozmiar"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text":"tekst",
|
"text":"tekst",
|
||||||
@@ -384,6 +448,7 @@
|
|||||||
"unclaim":"Odpowiedz ticket.",
|
"unclaim":"Odpowiedz ticket.",
|
||||||
"pin":"Przypnij ticket.",
|
"pin":"Przypnij ticket.",
|
||||||
"unpin":"Odepnij ticket.",
|
"unpin":"Odepnij ticket.",
|
||||||
|
|
||||||
"move":"Przenieś ticket.",
|
"move":"Przenieś ticket.",
|
||||||
"moveId":"Identyfikator opcji, do której chcesz przenieść ticket.",
|
"moveId":"Identyfikator opcji, do której chcesz przenieść ticket.",
|
||||||
"rename":"Zmień nazwę ticketa.",
|
"rename":"Zmień nazwę ticketa.",
|
||||||
@@ -392,6 +457,7 @@
|
|||||||
"addUser":"Użytkownik do dodania.",
|
"addUser":"Użytkownik do dodania.",
|
||||||
"remove":"Usuń użytkownika z ticketa.",
|
"remove":"Usuń użytkownika z ticketa.",
|
||||||
"removeUser":"Użytkownik do usunięcia.",
|
"removeUser":"Użytkownik do usunięcia.",
|
||||||
|
|
||||||
"blacklist":"Zarządzaj czarną listą ticketów.",
|
"blacklist":"Zarządzaj czarną listą ticketów.",
|
||||||
"blacklistView":"Wyświetl listę obecnej czarnej listy.",
|
"blacklistView":"Wyświetl listę obecnej czarnej listy.",
|
||||||
"blacklistAdd":"Dodaj użytkownika do czarnej listy.",
|
"blacklistAdd":"Dodaj użytkownika do czarnej listy.",
|
||||||
@@ -405,6 +471,7 @@
|
|||||||
"statsUserUser":"Użytkownik do wyświetlenia.",
|
"statsUserUser":"Użytkownik do wyświetlenia.",
|
||||||
"statsTicket":"Wyświetl statystyki ticketa na serwerze.",
|
"statsTicket":"Wyświetl statystyki ticketa na serwerze.",
|
||||||
"statsTicketTicket":"Ticket do wyświetlenia.",
|
"statsTicketTicket":"Ticket do wyświetlenia.",
|
||||||
|
|
||||||
"clear":"Usuń wiele ticketów jednocześnie.",
|
"clear":"Usuń wiele ticketów jednocześnie.",
|
||||||
"clearFilter":"Filtr do usuwania ticketów.",
|
"clearFilter":"Filtr do usuwania ticketów.",
|
||||||
"clearFilters":{
|
"clearFilters":{
|
||||||
@@ -417,6 +484,7 @@
|
|||||||
"unpin":"Nieprzypięte",
|
"unpin":"Nieprzypięte",
|
||||||
"autoclose":"Automatycznie zamknięte"
|
"autoclose":"Automatycznie zamknięte"
|
||||||
},
|
},
|
||||||
|
|
||||||
"autoclose":"Zarządzaj automatycznym zamknięciem ticketa.",
|
"autoclose":"Zarządzaj automatycznym zamknięciem ticketa.",
|
||||||
"autocloseDisable":"Wyłącz automatyczne zamknięcie w tym tickecie.",
|
"autocloseDisable":"Wyłącz automatyczne zamknięcie w tym tickecie.",
|
||||||
"autocloseEnable":"Włącz automatyczne zamknięcie w tym tickecie.",
|
"autocloseEnable":"Włącz automatyczne zamknięcie w tym tickecie.",
|
||||||
@@ -424,7 +492,19 @@
|
|||||||
"autodelete":"Zarządzaj automatycznym usunięciem ticketa.",
|
"autodelete":"Zarządzaj automatycznym usunięciem ticketa.",
|
||||||
"autodeleteDisable":"Wyłącz automatyczne usunięcie w tym tickecie.",
|
"autodeleteDisable":"Wyłącz automatyczne usunięcie w tym tickecie.",
|
||||||
"autodeleteEnable":"Włącz automatyczne usunięcie w tym tickecie.",
|
"autodeleteEnable":"Włącz automatyczne usunięcie w tym tickecie.",
|
||||||
"autodeleteEnableTime":"Liczba dni braku aktywności potrzebna do usunięcia ticketa."
|
"autodeleteEnableTime":"Liczba dni braku aktywności potrzebna do usunięcia ticketa.",
|
||||||
|
|
||||||
|
"topic":"Zarządzaj tematem kanału tiku.",
|
||||||
|
"topicSet":"Ustaw temat kanału tiku.",
|
||||||
|
"topicValue":"Nowy temat kanału.",
|
||||||
|
"topicList":"Pobierz listę wszystkich tików z ich tematami i statystykami.",
|
||||||
|
"priority":"Zarządzaj priorytetem tiku.",
|
||||||
|
"prioritySet":"Ustaw priorytet tiku.",
|
||||||
|
"priorityValue":"Priorytet kanału.",
|
||||||
|
"priorityGet":"Pobierz priorytet tiku.",
|
||||||
|
"priorityList":"Pobierz listę wszystkich tików z ich priorytetem.",
|
||||||
|
"transfer":"Przenieś własność tiku od jednego użytkownika do drugiego.",
|
||||||
|
"transferUser":"Użytkownik, do którego przenieść."
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"help":"Uzyskaj listę wszystkich dostępnych poleceń.",
|
"help":"Uzyskaj listę wszystkich dostępnych poleceń.",
|
||||||
@@ -452,7 +532,16 @@
|
|||||||
"autocloseDisable":"Wyłącz automatyczne zamknięcie w tym tickecie.",
|
"autocloseDisable":"Wyłącz automatyczne zamknięcie w tym tickecie.",
|
||||||
"autocloseEnable":"Włącz automatyczne zamknięcie w tym tickecie.",
|
"autocloseEnable":"Włącz automatyczne zamknięcie w tym tickecie.",
|
||||||
"autodeleteDisable":"Wyłącz automatyczne usunięcie w tym tickecie.",
|
"autodeleteDisable":"Wyłącz automatyczne usunięcie w tym tickecie.",
|
||||||
"autodeleteEnable":"Włącz automatyczne usunięcie w tym tickecie."
|
"autodeleteEnable":"Włącz automatyczne usunięcie w tym tickecie.",
|
||||||
|
"categories":{
|
||||||
|
"general":"Ogólne komendy",
|
||||||
|
"basicTicket":"Podstawowe komendy tiku",
|
||||||
|
"advancedTicket":"Zaawansowane komendy tiku",
|
||||||
|
"userTicket":"Komendy użytkownika tiku",
|
||||||
|
"admin":"Komendy administratora",
|
||||||
|
"advanced":"Zaawansowane komendy",
|
||||||
|
"extra":"Dodatkowe komendy"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes":{
|
"scopes":{
|
||||||
@@ -460,7 +549,8 @@
|
|||||||
"system":"Statystyki systemu",
|
"system":"Statystyki systemu",
|
||||||
"user":"Statystyki użytkownika",
|
"user":"Statystyki użytkownika",
|
||||||
"ticket":"Statystyki ticketa",
|
"ticket":"Statystyki ticketa",
|
||||||
"participants":"Uczestnicy"
|
"participants":"Uczestnicy",
|
||||||
|
"messages":"Wiadomości"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated":"Tickety utworzone",
|
"ticketsCreated":"Tickety utworzone",
|
||||||
@@ -472,7 +562,47 @@
|
|||||||
"ticketsPinned":"Tickety przypięte",
|
"ticketsPinned":"Tickety przypięte",
|
||||||
"ticketsMoved":"Tickety przeniesione",
|
"ticketsMoved":"Tickety przeniesione",
|
||||||
"usersBlacklisted":"Użytkownicy na czarnej liście",
|
"usersBlacklisted":"Użytkownicy na czarnej liście",
|
||||||
"transcriptsCreated":"Transkrypty utworzone"
|
"transcriptsCreated":"Transkrypty utworzone",
|
||||||
|
"ticketsAutodeleted":"Tiki automatycznie usunięte",
|
||||||
|
"ticketsTransferred":"Tiki przeniesione",
|
||||||
|
"ticketVolume":"Objętość tików",
|
||||||
|
"averageTickets":"Średnia tików/użytkownik",
|
||||||
|
"currentTickets":"Aktualne tiki",
|
||||||
|
"age":"Wiek tiku",
|
||||||
|
"responseTime":"Czas odpowiedzi",
|
||||||
|
"resolutionTime":"Czas rozwiązania",
|
||||||
|
"createdOn":"Utworzono",
|
||||||
|
"createdBy":"Utworzył",
|
||||||
|
"closedOn":"Zamknięto",
|
||||||
|
"closedBy":"Zamknął",
|
||||||
|
"claimedOn":"Przejęto",
|
||||||
|
"claimedBy":"Przejął",
|
||||||
|
"pinnedOn":"Przypięto",
|
||||||
|
"pinnedBy":"Przypiął",
|
||||||
|
"deletedOn":"Usunięto",
|
||||||
|
"deletedBy":"Usunął"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"Deweloper",
|
||||||
|
"serverOwner":"Właściciel serwera",
|
||||||
|
"serverAdmin":"Administrator serwera",
|
||||||
|
"moderator":"Zespół moderatorów",
|
||||||
|
"support":"Zespół wsparcia",
|
||||||
|
"member":"Użytkownik"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"Wybierz swój tik",
|
||||||
|
"selectRole":"Wybierz swoją rolę",
|
||||||
|
"selectOption":"Wybierz opcję"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"Pilny",
|
||||||
|
"veryHigh":"Bardzo wysoki",
|
||||||
|
"high":"Wysoki",
|
||||||
|
"normal":"Normalny",
|
||||||
|
"low":"Niski",
|
||||||
|
"veryLow":"Bardzo niski",
|
||||||
|
"none":"Brak"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+458
-328
@@ -1,113 +1,124 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["quiradon"],
|
"translators":["quiradon"],
|
||||||
"lastedited":"20/08/2024",
|
"lastedited":"16/02/2026",
|
||||||
"language":"Portuguese",
|
"language":"Portuguese",
|
||||||
"automated":false
|
"automated":false
|
||||||
},
|
},
|
||||||
"checker":{
|
"checker":{
|
||||||
"system":{
|
"system":{
|
||||||
"typeError": "[ERRO]",
|
"typeError":"[ERRO]",
|
||||||
"headerOpenTicket": "ABRIR TICKET",
|
"headerOpenTicket":"ABRIR TICKET",
|
||||||
"typeWarning": "[AVISO]",
|
"typeWarning":"[AVISO]",
|
||||||
"typeInfo": "[INFORMAÇÃO]",
|
"typeInfo":"[INFORMAÇÃO]",
|
||||||
"headerConfigChecker": "Verificador de Configuração",
|
"headerConfigChecker":"Verificador de Configuração",
|
||||||
"headerDescription": "verifique erros nos seus arquivos de configuração!",
|
"headerDescription":"verifique erros nos seus arquivos de configuração!",
|
||||||
"footerError": "o bot não iniciará até que todos os {0} sejam corrigidos!",
|
"footerError":"o bot não iniciará até que todos os {0} sejam corrigidos!",
|
||||||
"footerWarning": "é recomendado corrigir todos os {0} antes de iniciar!",
|
"footerWarning":"é recomendado corrigir todos os {0} antes de iniciar!",
|
||||||
"footerSupport": "SUPORTE: {0} - DOCS: {1}",
|
"footerSupport":"SUPORTE: {0} - DOCS: {1}",
|
||||||
"compactInformation": "use {0} para mais informações!",
|
"compactInformation":"use {0} para mais informações!",
|
||||||
"dataPath": "caminho",
|
"dataPath":"caminho",
|
||||||
"dataDocs": "documentos",
|
"dataDocs":"documentos",
|
||||||
"dataMessages": "mensagem"
|
"dataMessages":"mensagem"
|
||||||
},
|
},
|
||||||
"messages":{
|
"messages":{
|
||||||
"stringTooShort": "Esta string não pode ter menos de {0} caracteres!",
|
"stringTooShort":"Esta string não pode ter menos de {0} caracteres!",
|
||||||
"stringTooLong": "Esta string não pode ter mais de {0} caracteres!",
|
"stringTooLong":"Esta string não pode ter mais de {0} caracteres!",
|
||||||
"stringLengthInvalid": "Esta string precisa ter {0} caracteres!",
|
"stringLengthInvalid":"Esta string precisa ter {0} caracteres!",
|
||||||
"stringStartsWith": "Esta string precisa começar com {0}!",
|
"stringStartsWith":"Esta string precisa começar com {0}!",
|
||||||
"stringEndsWith": "Esta string precisa terminar com {0}!",
|
"stringEndsWith":"Esta string precisa terminar com {0}!",
|
||||||
"stringContains": "Esta string precisa conter {0}!",
|
"stringContains":"Esta string precisa conter {0}!",
|
||||||
"stringChoices": "Esta string só pode ser um dos seguintes valores: {0}!",
|
"stringChoices":"Esta string só pode ser um dos seguintes valores: {0}!",
|
||||||
"stringRegex": "Esta string é inválida!",
|
"stringRegex":"Esta string é inválida!",
|
||||||
|
"stringInvertedContains":"Esta string não pode conter {0}!",
|
||||||
|
"stringLowercase":"Esta string deve ser escrita apenas em letras minúsculas!",
|
||||||
|
"stringUppercase":"Esta string deve ser escrita apenas em letras maiúsculas!",
|
||||||
|
"stringSpecialCharacters":"Esta string não pode conter caracteres especiais! (apenas a-z, 0-9 e espaço)",
|
||||||
|
"stringNoSpaces":"Esta string não pode conter espaços!",
|
||||||
|
"stringCapitalWord":"É recomendado que cada palavra nesta string comece com letra maiúscula!",
|
||||||
|
"stringCapitalSentence":"Parece que algumas frases nesta string não começam com letra maiúscula!",
|
||||||
|
"stringPunctuation":"Parece que a frase nesta string não termina com pontuação!",
|
||||||
|
|
||||||
"numberTooShort": "Este número não pode ter menos de {0} caracteres!",
|
"numberTooShort":"Este número não pode ter menos de {0} caracteres!",
|
||||||
"numberTooLong": "Este número não pode ter mais de {0} caracteres!",
|
"numberTooLong":"Este número não pode ter mais de {0} caracteres!",
|
||||||
"numberLengthInvalid": "Este número precisa ter {0} caracteres!",
|
"numberLengthInvalid":"Este número precisa ter {0} caracteres!",
|
||||||
"numberTooSmall": "Este número precisa ser pelo menos {0}!",
|
"numberTooSmall":"Este número precisa ser pelo menos {0}!",
|
||||||
"numberTooLarge": "Este número precisa ser no máximo {0}!",
|
"numberTooLarge":"Este número precisa ser no máximo {0}!",
|
||||||
"numberNotEqual": "Este número precisa ser {0}!",
|
"numberNotEqual":"Este número precisa ser {0}!",
|
||||||
"numberStep": "Este número precisa ser um múltiplo de {0}!",
|
"numberStep":"Este número precisa ser um múltiplo de {0}!",
|
||||||
"numberStepOffset": "Este número precisa ser um múltiplo de {0} começando com {1}!",
|
"numberStepOffset":"Este número precisa ser um múltiplo de {0} começando com {1}!",
|
||||||
"numberStartsWith": "Este número precisa começar com {0}!",
|
"numberStartsWith":"Este número precisa começar com {0}!",
|
||||||
"numberEndsWith": "Este número precisa terminar com {0}!",
|
"numberEndsWith":"Este número precisa terminar com {0}!",
|
||||||
"numberContains": "Este número precisa conter {0}!",
|
"numberContains":"Este número precisa conter {0}!",
|
||||||
"numberChoices": "Este número só pode ser um dos seguintes valores: {0}!",
|
"numberChoices":"Este número só pode ser um dos seguintes valores: {0}!",
|
||||||
"numberFloat": "Este número não pode ser decimal!",
|
"numberFloat":"Este número não pode ser decimal!",
|
||||||
"numberNegative": "Este número não pode ser negativo!",
|
"numberNegative":"Este número não pode ser negativo!",
|
||||||
"numberPositive": "Este número não pode ser positivo!",
|
"numberPositive":"Este número não pode ser positivo!",
|
||||||
"numberZero": "Este número não pode ser zero!",
|
"numberZero":"Este número não pode ser zero!",
|
||||||
|
"numberNan":"Este número não pode ser NaN (Não é um número)!",
|
||||||
|
"numberInvertedContains":"Este número não pode conter {0}!",
|
||||||
|
|
||||||
"booleanTrue": "Este booleano não pode ser verdadeiro!",
|
"booleanTrue":"Este booleano não pode ser verdadeiro!",
|
||||||
"booleanFalse": "Este booleano não pode ser falso!",
|
"booleanFalse":"Este booleano não pode ser falso!",
|
||||||
|
|
||||||
"arrayEmptyDisabled": "Este array não pode estar vazio!",
|
"arrayEmptyDisabled":"Este array não pode estar vazio!",
|
||||||
"arrayEmptyRequired": "Este array deve estar vazio!",
|
"arrayEmptyRequired":"Este array deve estar vazio!",
|
||||||
"arrayTooShort": "Este array precisa ter um comprimento de pelo menos {0}!",
|
"arrayTooShort":"Este array precisa ter um comprimento de pelo menos {0}!",
|
||||||
"arrayTooLong": "Este array precisa ter um comprimento de no máximo {0}!",
|
"arrayTooLong":"Este array precisa ter um comprimento de no máximo {0}!",
|
||||||
"arrayLengthInvalid": "Este array precisa ter um comprimento de {0}!",
|
"arrayLengthInvalid":"Este array precisa ter um comprimento de {0}!",
|
||||||
"arrayInvalidTypes": "Este array só pode conter os seguintes tipos: {0}!",
|
"arrayInvalidTypes":"Este array só pode conter os seguintes tipos: {0}!",
|
||||||
"arrayDouble": "Este array não permite o mesmo valor duas vezes!",
|
"arrayDouble":"Este array não permite o mesmo valor duas vezes!",
|
||||||
|
|
||||||
"discordInvalidId": "Este é um ID do Discord inválido {0}!",
|
"discordInvalidId":"Este é um ID do Discord inválido {0}!",
|
||||||
"discordInvalidIdOptions": "Este é um ID do Discord inválido {0}! Você também pode usar um destes: {1}!",
|
"discordInvalidIdOptions":"Este é um ID do Discord inválido {0}! Você também pode usar um destes: {1}!",
|
||||||
"discordInvalidToken": "Este é um token do Discord inválido (sintaticamente)!",
|
"discordInvalidToken":"Este é um token do Discord inválido (sintaticamente)!",
|
||||||
"colorInvalid": "Esta é uma cor hexadecimal inválida!",
|
"colorInvalid":"Esta é uma cor hexadecimal inválida!",
|
||||||
"emojiTooShort": "Esta string precisa ter pelo menos {0} emojis!",
|
"emojiTooShort":"Esta string precisa ter pelo menos {0} emojis!",
|
||||||
"emojiTooLong": "Esta string precisa ter no máximo {0} emojis!",
|
"emojiTooLong":"Esta string precisa ter no máximo {0} emojis!",
|
||||||
"emojiCustom": "Este emoji não pode ser um emoji personalizado do Discord!",
|
"emojiCustom":"Este emoji não pode ser um emoji personalizado do Discord!",
|
||||||
"emojiInvalid": "Este é um emoji inválido!",
|
"emojiInvalid":"Este é um emoji inválido!",
|
||||||
"urlInvalid": "Esta URL é inválida!",
|
"urlInvalid":"Esta URL é inválida!",
|
||||||
"urlInvalidHttp": "Esta URL só pode usar o protocolo https://!",
|
"urlInvalidHttp":"Esta URL só pode usar o protocolo https://!",
|
||||||
"urlInvalidProtocol": "Esta URL só pode usar os protocolos http:// e https://!",
|
"urlInvalidProtocol":"Esta URL só pode usar os protocolos http:// e https://!",
|
||||||
"urlInvalidHostname": "Esta URL tem um hostname não permitido!",
|
"urlInvalidHostname":"Esta URL tem um hostname não permitido!",
|
||||||
"urlInvalidExtension": "Esta URL tem uma extensão inválida! Escolha entre: {0}!",
|
"urlInvalidExtension":"Esta URL tem uma extensão inválida! Escolha entre: {0}!",
|
||||||
"urlInvalidPath": "Esta URL tem um caminho inválido!",
|
"urlInvalidPath":"Esta URL tem um caminho inválido!",
|
||||||
"idNotUnique": "Este ID não é único, use outro ID!",
|
"idNotUnique":"Este ID não é único, use outro ID!",
|
||||||
"idNonExistent": "O ID {0} não existe!",
|
"idNonExistent":"O ID {0} não existe!",
|
||||||
|
|
||||||
"invalidType": "Esta propriedade precisa ser do tipo: {0}!",
|
"invalidType":"Esta propriedade precisa ser do tipo: {0}!",
|
||||||
"propertyMissing": "A propriedade {0} está faltando neste objeto!",
|
"propertyMissing":"A propriedade {0} está faltando neste objeto!",
|
||||||
"propertyOptional": "A propriedade {0} é opcional neste objeto!",
|
"propertyOptional":"A propriedade {0} é opcional neste objeto!",
|
||||||
"objectDisabled": "Este objeto está desabilitado, habilite-o usando {0}!",
|
"objectDisabled":"Este objeto está desabilitado, habilite-o usando {0}!",
|
||||||
"nullInvalid": "Esta propriedade não pode ser nula!",
|
"nullInvalid":"Esta propriedade não pode ser nula!",
|
||||||
"switchInvalidType": "Isso precisa ser um dos seguintes tipos: {0}!",
|
"switchInvalidType":"Isso precisa ser um dos seguintes tipos: {0}!",
|
||||||
"objectSwitchInvalid": "Este objeto precisa ser um dos seguintes tipos: {0}!",
|
"objectSwitchInvalid":"Este objeto precisa ser um dos seguintes tipos: {0}!",
|
||||||
|
|
||||||
"invalidLanguage": "Este é um idioma inválido!",
|
"invalidLanguage":"Este é um idioma inválido!",
|
||||||
"invalidButton": "Este botão precisa ter pelo menos um {0} ou {1}!",
|
"invalidButton":"Este botão precisa ter pelo menos um {0} ou {1}!",
|
||||||
"unusedOption": "A opção {0} não é usada em nenhum lugar!",
|
"unusedOption":"A opção {0} não é usada em nenhum lugar!",
|
||||||
"unusedQuestion": "A pergunta {0} não é usada em nenhum lugar!",
|
"unusedQuestion":"A pergunta {0} não é usada em nenhum lugar!",
|
||||||
"dropdownOption": "Um painel com dropdown habilitado só pode conter opções do tipo 'ticket'!"
|
"dropdownOption":"Um painel com dropdown habilitado só pode conter opções do tipo 'ticket'!",
|
||||||
|
"customInvalidVersion":"A versão especificada na sua configuração não corresponde! Certifique-se de ter atualizado a configuração para a versão mais recente!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
"buttons":{
|
"buttons":{
|
||||||
"create": "Visitar Ticket",
|
"create":"Visitar Ticket",
|
||||||
"close": "Fechar Ticket",
|
"close":"Fechar Ticket",
|
||||||
"delete": "Excluir Ticket",
|
"delete":"Excluir Ticket",
|
||||||
"reopen": "Reabrir Ticket",
|
"reopen":"Reabrir Ticket",
|
||||||
"claim": "Reivindicar Ticket",
|
"claim":"Reivindicar Ticket",
|
||||||
"unclaim": "Desreivindicar Ticket",
|
"unclaim":"Desreivindicar Ticket",
|
||||||
"pin": "Fixar Ticket",
|
"pin":"Fixar Ticket",
|
||||||
"unpin": "Desfixar Ticket",
|
"unpin":"Desfixar Ticket",
|
||||||
"clear": "Excluir Tickets",
|
"clear":"Excluir Tickets",
|
||||||
"helpSwitchSlash": "Ver Comandos Slash",
|
"helpSwitchSlash":"Ver Comandos Slash",
|
||||||
"helpSwitchText": "Ver Comandos de Texto",
|
"helpSwitchText":"Ver Comandos de Texto",
|
||||||
"helpPage": "Página {0}",
|
"helpPage":"Página {0}",
|
||||||
"withReason": "Com Motivo",
|
"withReason":"Com Motivo",
|
||||||
"withoutTranscript": "Sem Transcrição"
|
"withoutTranscript":"Sem Transcrição"
|
||||||
},
|
},
|
||||||
"titles":{
|
"titles":{
|
||||||
"created":"Ticket Criado",
|
"created":"Ticket Criado",
|
||||||
@@ -132,28 +143,34 @@
|
|||||||
"blacklistAddDm":"Adicionado a Blacklist",
|
"blacklistAddDm":"Adicionado a Blacklist",
|
||||||
"blacklistRemoveDm":"Removido da Blacklist",
|
"blacklistRemoveDm":"Removido da Blacklist",
|
||||||
"clear":"Tickets Limpos",
|
"clear":"Tickets Limpos",
|
||||||
|
"clearTickets":"Limpar Tickets",
|
||||||
"roles":"Cargos Atualizados",
|
"roles":"Cargos Atualizados",
|
||||||
|
|
||||||
"autoclose": "Ticket Fechado Automaticamente",
|
"autoclose":"Ticket Fechado Automaticamente",
|
||||||
"autocloseEnabled": "Fechamento Automático Habilitado",
|
"autocloseEnabled":"Fechamento Automático Habilitado",
|
||||||
"autocloseDisabled": "Fechamento Automático Desabilitado",
|
"autocloseDisabled":"Fechamento Automático Desabilitado",
|
||||||
"autodelete": "Ticket Excluído Automaticamente",
|
"autodelete":"Ticket Excluído Automaticamente",
|
||||||
"autodeleteEnabled": "Exclusão Automática Habilitada",
|
"autodeleteEnabled":"Exclusão Automática Habilitada",
|
||||||
"autodeleteDisabled": "Exclusão Automática Desabilitada"
|
"autodeleteDisabled":"Exclusão Automática Desabilitada",
|
||||||
|
|
||||||
|
"topicSet":"Tópico Alterado",
|
||||||
|
"prioritySet":"Prioridade Alterada",
|
||||||
|
"priorityGet":"Prioridade do Ticket",
|
||||||
|
"transfer":"Ticket Transferido"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create": "Seu ticket foi criado. Clique no botão abaixo para acessá-lo!",
|
"create":"Seu ticket foi criado. Clique no botão abaixo para acessá-lo!",
|
||||||
"close": "O ticket foi fechado com sucesso!",
|
"close":"O ticket foi fechado com sucesso!",
|
||||||
"delete": "O ticket foi excluído com sucesso!",
|
"delete":"O ticket foi excluído com sucesso!",
|
||||||
"reopen": "O ticket foi reaberto com sucesso!",
|
"reopen":"O ticket foi reaberto com sucesso!",
|
||||||
"claim": "O ticket foi reivindicado com sucesso!",
|
"claim":"O ticket foi reivindicado com sucesso!",
|
||||||
"unclaim": "O ticket foi desreivindicado com sucesso!",
|
"unclaim":"O ticket foi desreivindicado com sucesso!",
|
||||||
"pin": "O ticket foi fixado com sucesso!",
|
"pin":"O ticket foi fixado com sucesso!",
|
||||||
"unpin": "O ticket foi desfixado com sucesso!",
|
"unpin":"O ticket foi desfixado com sucesso!",
|
||||||
"rename": "O ticket foi renomeado para {0} com sucesso!",
|
"rename":"O ticket foi renomeado para {0} com sucesso!",
|
||||||
"move": "O ticket foi movido para {0} com sucesso!",
|
"move":"O ticket foi movido para {0} com sucesso!",
|
||||||
"add": "{0} foi adicionado ao ticket com sucesso!",
|
"add":"{0} foi adicionado ao ticket com sucesso!",
|
||||||
"remove": "{0} foi removido do ticket com sucesso!",
|
"remove":"{0} foi removido do ticket com sucesso!",
|
||||||
|
|
||||||
"helpExplanation":"`<nome>` => parâmetro obrigatório\n`[nome]` => parâmetro opcional",
|
"helpExplanation":"`<nome>` => parâmetro obrigatório\n`[nome]` => parâmetro opcional",
|
||||||
"statsReset":"As estatísticas do bot foram redefinidas com sucesso!",
|
"statsReset":"As estatísticas do bot foram redefinidas com sucesso!",
|
||||||
@@ -168,157 +185,185 @@
|
|||||||
"clearReady":"{0} tickets foram excluídos com sucesso!",
|
"clearReady":"{0} tickets foram excluídos com sucesso!",
|
||||||
"rolesEmpty":"Nenhum cargo foi atualizado!",
|
"rolesEmpty":"Nenhum cargo foi atualizado!",
|
||||||
|
|
||||||
"autocloseLeave": "Este ticket foi fechado automaticamente porque o criador saiu do servidor!",
|
"autocloseLeave":"Este ticket foi fechado automaticamente porque o criador saiu do servidor!",
|
||||||
"autocloseTimeout": "Este ticket foi fechado automaticamente porque ficou inativo por mais de `{0}h`!",
|
"autocloseTimeout":"Este ticket foi fechado automaticamente porque ficou inativo por mais de `{0}h`!",
|
||||||
"autodeleteLeave": "Este ticket foi excluído automaticamente porque o criador saiu do servidor!",
|
"autodeleteLeave":"Este ticket foi excluído automaticamente porque o criador saiu do servidor!",
|
||||||
"autodeleteTimeout": "Este ticket foi excluído automaticamente porque ficou inativo por mais de `{0} dias`!",
|
"autodeleteTimeout":"Este ticket foi excluído automaticamente porque ficou inativo por mais de `{0} dias`!",
|
||||||
"autocloseEnabled": "O fechamento automático foi habilitado neste ticket!\nEle será fechado quando ficar inativo por mais de `{0}h`!",
|
"autocloseEnabled":"O fechamento automático foi habilitado neste ticket!\nEle será fechado quando ficar inativo por mais de `{0}h`!",
|
||||||
"autocloseDisabled": "O fechamento automático foi desabilitado neste ticket!\nEle não será mais fechado automaticamente!",
|
"autocloseDisabled":"O fechamento automático foi desabilitado neste ticket!\nEle não será mais fechado automaticamente!",
|
||||||
"autodeleteEnabled": "A exclusão automática foi habilitada neste ticket!\nEle será excluído quando ficar inativo por mais de `{0} dias`!",
|
"autodeleteEnabled":"A exclusão automática foi habilitada neste ticket!\nEle será excluído quando ficar inativo por mais de `{0} dias`!",
|
||||||
"autodeleteDisabled": "A exclusão automática foi desabilitada neste ticket!\nEle não será mais excluído automaticamente!",
|
"autodeleteDisabled":"A exclusão automática foi desabilitada neste ticket!\nEle não será mais excluído automaticamente!",
|
||||||
|
|
||||||
"ticketMessageLimit": "Você só pode criar {0} ticket(s) ao mesmo tempo!",
|
"ticketMessageLimit":"Você só pode criar {0} ticket(s) ao mesmo tempo!",
|
||||||
"ticketMessageAutoclose": "Este ticket será fechado automaticamente quando inativo por {0}h!",
|
"ticketMessageAutoclose":"Este ticket será fechado automaticamente quando inativo por {0}h!",
|
||||||
"ticketMessageAutodelete": "Este ticket será excluído automaticamente quando inativo por {0} dias!",
|
"ticketMessageAutodelete":"Este ticket será excluído automaticamente quando inativo por {0} dias!",
|
||||||
"panelReady": "Você pode encontrar o painel abaixo!\nEsta mensagem agora pode ser excluída!"
|
"panelReady":"O painel está disponível na mensagem de acompanhamento!\nEsta mensagem pode ser excluída agora!",
|
||||||
|
|
||||||
|
"topicSet":"O tópico do canal foi alterado com sucesso por {0}!",
|
||||||
|
"prioritySet":"A prioridade do ticket foi alterada para {0} por {1} com sucesso!",
|
||||||
|
"priorityGet":"A prioridade atual deste ticket é {0}.",
|
||||||
|
"transfer":"A propriedade deste ticket foi transferida de {0} para {1} por {2} com sucesso!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder": "Por que você fechou este ticket?",
|
"closePlaceholder":"Por que você fechou este ticket?",
|
||||||
"deletePlaceholder": "Por que você excluiu este ticket?",
|
"deletePlaceholder":"Por que você excluiu este ticket?",
|
||||||
"reopenPlaceholder": "Por que você reabriu este ticket?",
|
"reopenPlaceholder":"Por que você reabriu este ticket?",
|
||||||
"claimPlaceholder": "Por que você reivindicou este ticket?",
|
"claimPlaceholder":"Por que você reivindicou este ticket?",
|
||||||
"unclaimPlaceholder": "Por que você desreivindicou este ticket?",
|
"unclaimPlaceholder":"Por que você desreivindicou este ticket?",
|
||||||
"pinPlaceholder": "Por que você fixou este ticket?",
|
"pinPlaceholder":"Por que você fixou este ticket?",
|
||||||
"unpinPlaceholder": "Por que você desfixou este ticket?"
|
"unpinPlaceholder":"Por que você desfixou este ticket?"
|
||||||
},
|
},
|
||||||
"logs":{
|
"logs":{
|
||||||
"createLog": "Um novo ticket foi criado por {0}!",
|
"createLog":"Um novo ticket foi criado por {0}!",
|
||||||
"closeLog": "Este ticket foi fechado por {0}!",
|
"closeLog":"Este ticket foi fechado por {0}!",
|
||||||
"closeDm": "Seu ticket foi fechado em nosso servidor!",
|
"closeDm":"Seu ticket foi fechado em nosso servidor!",
|
||||||
"deleteLog": "Este ticket foi excluído por {0}!",
|
"deleteLog":"Este ticket foi excluído por {0}!",
|
||||||
"deleteDm": "Seu ticket foi excluído em nosso servidor!",
|
"deleteDm":"Seu ticket foi excluído em nosso servidor!",
|
||||||
"reopenLog": "Este ticket foi reaberto por {0}!",
|
"reopenLog":"Este ticket foi reaberto por {0}!",
|
||||||
"reopenDm": "Seu ticket foi reaberto em nosso servidor!",
|
"reopenDm":"Seu ticket foi reaberto em nosso servidor!",
|
||||||
"claimLog": "Este ticket foi reivindicado por {0}!",
|
"claimLog":"Este ticket foi reivindicado por {0}!",
|
||||||
"claimDm": "Seu ticket foi reivindicado em nosso servidor!",
|
"claimDm":"Seu ticket foi reivindicado em nosso servidor!",
|
||||||
"unclaimLog": "Este ticket foi desreivindicado por {0}!",
|
"unclaimLog":"Este ticket foi desreivindicado por {0}!",
|
||||||
"unclaimDm": "Seu ticket foi desreivindicado em nosso servidor!",
|
"unclaimDm":"Seu ticket foi desreivindicado em nosso servidor!",
|
||||||
"pinLog": "Este ticket foi fixado por {0}!",
|
"pinLog":"Este ticket foi fixado por {0}!",
|
||||||
"pinDm": "Seu ticket foi fixado em nosso servidor!",
|
"pinDm":"Seu ticket foi fixado em nosso servidor!",
|
||||||
"unpinLog": "Este ticket foi desfixado por {0}!",
|
"unpinLog":"Este ticket foi desfixado por {0}!",
|
||||||
"unpinDm": "Seu ticket foi desfixado em nosso servidor!",
|
"unpinDm":"Seu ticket foi desfixado em nosso servidor!",
|
||||||
"renameLog": "Este ticket foi renomeado para {0} por {1}!",
|
"renameLog":"Este ticket foi renomeado para {0} por {1}!",
|
||||||
"renameDm": "Seu ticket foi renomeado para {0} em nosso servidor!",
|
"renameDm":"Seu ticket foi renomeado para {0} em nosso servidor!",
|
||||||
"moveLog": "Este ticket foi movido para {0} por {1}!",
|
"moveLog":"Este ticket foi movido para {0} por {1}!",
|
||||||
"moveDm": "Seu ticket foi movido para {0} em nosso servidor!",
|
"moveDm":"Seu ticket foi movido para {0} em nosso servidor!",
|
||||||
"addLog": "{0} foi adicionado a este ticket por {1}!",
|
"addLog":"{0} foi adicionado a este ticket por {1}!",
|
||||||
"addDm": "{0} foi adicionado ao seu ticket em nosso servidor!",
|
"addDm":"{0} foi adicionado ao seu ticket em nosso servidor!",
|
||||||
"removeLog": "{0} foi removido deste ticket por {1}!",
|
"removeLog":"{0} foi removido deste ticket por {1}!",
|
||||||
"removeDm": "{0} foi removido do seu ticket em nosso servidor!",
|
"removeDm":"{0} foi removido do seu ticket em nosso servidor!",
|
||||||
|
|
||||||
"blacklistAddLog": "{0} foi adicionado à lista negra por {1}!",
|
"blacklistAddLog":"{0} foi adicionado à lista negra por {1}!",
|
||||||
"blacklistRemoveLog": "{0} foi removido da lista negra por {1}!",
|
"blacklistRemoveLog":"{0} foi removido da lista negra por {1}!",
|
||||||
"blacklistAddDm": "Você foi adicionado à lista negra em nosso servidor!\nA partir de agora, você não pode criar um ticket!",
|
"blacklistAddDm":"Você foi adicionado à lista negra em nosso servidor!\nA partir de agora, você não pode criar um ticket!",
|
||||||
"blacklistRemoveDm": "Você foi removido da lista negra em nosso servidor!\nAgora você pode criar tickets novamente!",
|
"blacklistRemoveDm":"Você foi removido da lista negra em nosso servidor!\nAgora você pode criar tickets novamente!",
|
||||||
"clearLog": "{0} tickets foram excluídos por {1}!"
|
"clearLog":"{0} tickets foram excluídos por {1}!",
|
||||||
|
|
||||||
|
"transferLog":"A propriedade deste ticket foi transferida de {0} para {1} por {2}!",
|
||||||
|
"transferDm":"A propriedade do seu ticket foi transferida de {0} para {1} no nosso servidor!",
|
||||||
|
"prioritySetLog":"A prioridade deste ticket foi alterada para {0} por {1}!",
|
||||||
|
"prioritySetDm":"A prioridade do seu ticket foi alterada para {0} no nosso servidor!",
|
||||||
|
"roleUpdateLog":"{0} atualizou suas funções!",
|
||||||
|
"roleUpdateDm":"Suas funções no nosso servidor foram atualizadas!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
"success":{
|
"success":{
|
||||||
"visit": "Visitar Transcrição",
|
"visit":"Visitar Transcrição",
|
||||||
"ready": "Transcrição Criada",
|
"ready":"Transcrição Criada",
|
||||||
"textFileDescription": "Esta é a transcrição em texto de um ticket excluído!",
|
"textFileDescription":"Esta é a transcrição em texto de um ticket excluído!",
|
||||||
"htmlProgress": "Por favor, aguarde enquanto esta transcrição em HTML está sendo processada...",
|
"htmlProgress":"Por favor, aguarde enquanto esta transcrição em HTML está sendo processada...",
|
||||||
|
|
||||||
"createdChannel": "Uma nova transcrição de {0} foi criada no servidor!",
|
"createdChannel":"Uma nova transcrição de {0} foi criada no servidor!",
|
||||||
"createdCreator": "Uma nova transcrição de {0} foi criada para um dos seus tickets!",
|
"createdCreator":"Uma nova transcrição de {0} foi criada para um dos seus tickets!",
|
||||||
"createdParticipant": "Uma nova transcrição de {0} foi criada em um dos tickets em que você participou!",
|
"createdParticipant":"Uma nova transcrição de {0} foi criada em um dos tickets em que você participou!",
|
||||||
"createdActiveAdmin": "Uma nova transcrição de {0} foi criada em um dos tickets em que você participou como administrador!",
|
"createdActiveAdmin":"Uma nova transcrição de {0} foi criada em um dos tickets em que você participou como administrador!",
|
||||||
"createdEveryAdmin": "Uma nova transcrição de {0} foi criada em um dos tickets em que você era administrador!",
|
"createdEveryAdmin":"Uma nova transcrição de {0} foi criada em um dos tickets em que você era administrador!",
|
||||||
"createdOther": "Uma nova transcrição de {0} foi criada!"
|
"createdOther":"Uma nova transcrição de {0} foi criada!"
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
"retry": "Tentar Novamente",
|
"retry":"Tentar Novamente",
|
||||||
"continue": "Excluir Sem Transcrição",
|
"continue":"Excluir Sem Transcrição",
|
||||||
"backup": "Criar Transcrição de Backup",
|
"backup":"Criar Transcrição de Backup",
|
||||||
"error": "Algo deu errado ao tentar criar a transcrição.\nO que você gostaria de fazer?\n\nEste ticket não será excluído até que você clique em um desses botões."
|
"error":"Algo deu errado ao tentar criar a transcrição.\nO que você gostaria de fazer?\n\nEste ticket não será excluído até que você clique em um desses botões.",
|
||||||
|
"title":"Erro de Transcrição"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"MENSAGENS",
|
||||||
|
"embedTitle":"EMBED",
|
||||||
|
"fileTitle":"ARQUIVO",
|
||||||
|
"fieldsTitle":"CAMPOS",
|
||||||
|
"reactionsTitle":"REAÇÕES",
|
||||||
|
"statsTitle":"ESTATÍSTICAS",
|
||||||
|
"emptyContent":"<conteúdo vazio>",
|
||||||
|
"noTitle":"<sem-título>",
|
||||||
|
"noDesc":"<sem-descrição>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
"titles":{
|
"titles":{
|
||||||
"internalError": "Erro Interno",
|
"internalError":"Erro Interno",
|
||||||
"optionMissing": "Opção de Comando Ausente",
|
"optionMissing":"Opção de Comando Ausente",
|
||||||
"optionInvalid": "Opção de Comando Inválida",
|
"optionInvalid":"Opção de Comando Inválida",
|
||||||
"unknownCommand": "Comando Desconhecido",
|
"unknownCommand":"Comando Desconhecido",
|
||||||
"noPermissions": "Sem Permissões",
|
"noPermissions":"Sem Permissões",
|
||||||
"unknownTicket": "Ticket Desconhecido",
|
"unknownTicket":"Ticket Desconhecido",
|
||||||
"deprecatedTicket": "Ticket Obsoleto",
|
"deprecatedTicket":"Ticket Obsoleto",
|
||||||
"unknownOption": "Opção Desconhecida",
|
"unknownOption":"Opção Desconhecida",
|
||||||
"unknownPanel": "Painel Desconhecido",
|
"unknownPanel":"Painel Desconhecido",
|
||||||
"notInGuild": "Não Está no Servidor",
|
"notInGuild":"Não Está no Servidor",
|
||||||
"channelRename": "Incapaz de Renomear Canal",
|
"channelRename":"Incapaz de Renomear Canal",
|
||||||
"busy": "Ticket Está Ocupado"
|
"busy":"Ticket Está Ocupado",
|
||||||
|
"permissionError":"Erro de Permissão"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo": "Entre em contato com o proprietário deste bot para mais informações!",
|
"askForInfo":"Entre em contato com o proprietário deste bot para mais informações!",
|
||||||
"askForInfoResolve": "Entre em contato com o proprietário deste bot se este problema não for resolvido após algumas tentativas.",
|
"askForInfoResolve":"Entre em contato com o proprietário deste bot se este problema não for resolvido após algumas tentativas.",
|
||||||
"internalError": "Falha ao responder a este {0} devido a um erro interno!",
|
"internalError":"Falha ao responder a este {0} devido a um erro interno!",
|
||||||
"optionMissing": "Um parâmetro obrigatório está faltando neste comando!",
|
"optionMissing":"Um parâmetro obrigatório está faltando neste comando!",
|
||||||
"optionInvalid": "Um parâmetro neste comando é inválido!",
|
"optionInvalid":"Um parâmetro neste comando é inválido!",
|
||||||
"optionInvalidChoose": "Escolha entre",
|
"optionInvalidChoose":"Escolha entre",
|
||||||
"unknownCommand": "Tente visitar o menu de ajuda para mais informações!",
|
"unknownCommand":"Tente visitar o menu de ajuda para mais informações!",
|
||||||
"noPermissions": "Você não tem permissão para usar este {0}!",
|
"noPermissions":"Você não tem permissão para usar este {0}!",
|
||||||
"noPermissionsList": "Permissões Necessárias: (uma delas)",
|
"noPermissionsList":"Permissões Necessárias: (uma delas)",
|
||||||
"noPermissionsCooldown": "Você não tem permissão para usar este {0} porque você está em período de cooldown!",
|
"noPermissionsCooldown":"Você não tem permissão para usar este {0} porque você está em período de cooldown!",
|
||||||
"noPermissionsBlacklist": "Você não tem permissão para usar este {0} porque você foi colocado na lista negra!",
|
"noPermissionsBlacklist":"Você não tem permissão para usar este {0} porque você foi colocado na lista negra!",
|
||||||
"noPermissionsLimitGlobal": "Você não tem permissão para criar um ticket porque o servidor atingiu o limite máximo de tickets!",
|
"noPermissionsLimitGlobal":"Você não tem permissão para criar um ticket porque o servidor atingiu o limite máximo de tickets!",
|
||||||
"noPermissionsLimitGlobalUser": "Você não tem permissão para criar um ticket porque você atingiu o limite máximo de tickets!",
|
"noPermissionsLimitGlobalUser":"Você não tem permissão para criar um ticket porque você atingiu o limite máximo de tickets!",
|
||||||
"noPermissionsLimitOption": "Você não tem permissão para criar um ticket porque o servidor atingiu o limite máximo de tickets para esta opção!",
|
"noPermissionsLimitOption":"Você não tem permissão para criar um ticket porque o servidor atingiu o limite máximo de tickets para esta opção!",
|
||||||
"noPermissionsLimitOptionUser": "Você não tem permissão para criar um ticket porque você atingiu o limite máximo de tickets para esta opção!",
|
"noPermissionsLimitOptionUser":"Você não tem permissão para criar um ticket porque você atingiu o limite máximo de tickets para esta opção!",
|
||||||
"unknownTicket": "Tente este comando novamente em um ticket válido!",
|
"unknownTicket":"Tente este comando novamente em um ticket válido!",
|
||||||
"deprecatedTicket": "O canal atual não é um ticket válido! Pode ter sido um ticket de uma versão antiga do Open Ticket!",
|
"deprecatedTicket":"O canal atual não é um ticket válido! Pode ter sido um ticket de uma versão antiga do Open Ticket!",
|
||||||
"notInGuild": "Este {0} não funciona em DM! Por favor, tente novamente em um servidor!",
|
"notInGuild":"Este {0} não funciona em DM! Por favor, tente novamente em um servidor!",
|
||||||
"channelRename": "Devido aos limites de taxa do Discord, atualmente é impossível para o bot renomear o canal. O canal será renomeado automaticamente em 10 minutos se o bot não for reiniciado.",
|
"channelRename":"Devido aos limites de taxa do Discord, atualmente é impossível para o bot renomear o canal. O canal será renomeado automaticamente em 10 minutos se o bot não for reiniciado.",
|
||||||
"channelRenameSource": "A fonte deste erro é: {0}",
|
"channelRenameSource":"A fonte deste erro é: {0}",
|
||||||
"busy": "Não é possível usar este {0}!\nO ticket está sendo processado pelo bot no momento.\n\nPor favor, tente novamente em alguns segundos!"
|
"busy":"Não é possível usar este {0}!\nO ticket está sendo processado pelo bot no momento.\n\nPor favor, tente novamente em alguns segundos!",
|
||||||
|
"closeBeforeMessage":"Este ticket não pode ser fechado/excluído antes de uma mensagem ser enviada por um usuário.",
|
||||||
|
"closeBeforeAdminMessage":"Este ticket não pode ser fechado/excluído antes de uma mensagem ser enviada por um administrador ou membro do suporte.",
|
||||||
|
"unableToCreateTicket":"Você não pode criar um ticket."
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex": "O valor não corresponde ao padrão!",
|
"stringRegex":"O valor não corresponde ao padrão!",
|
||||||
"stringMinLength": "O valor precisa ter pelo menos {0} caracteres!",
|
"stringMinLength":"O valor precisa ter pelo menos {0} caracteres!",
|
||||||
"stringMaxLength": "O valor precisa ter no máximo {0} caracteres!",
|
"stringMaxLength":"O valor precisa ter no máximo {0} caracteres!",
|
||||||
"numberInvalid": "Número inválido!",
|
"numberInvalid":"Número inválido!",
|
||||||
"numberMin": "O número precisa ser pelo menos {0}!",
|
"numberMin":"O número precisa ser pelo menos {0}!",
|
||||||
"numberMax": "O número precisa ser no máximo {0}!",
|
"numberMax":"O número precisa ser no máximo {0}!",
|
||||||
"numberDecimal": "Não é permitido que o número seja decimal!",
|
"numberDecimal":"Não é permitido que o número seja decimal!",
|
||||||
"numberNegative": "Não é permitido que o número seja negativo!",
|
"numberNegative":"Não é permitido que o número seja negativo!",
|
||||||
"numberPositive": "Não é permitido que o número seja positivo!",
|
"numberPositive":"Não é permitido que o número seja positivo!",
|
||||||
"numberZero": "Não é permitido que o número seja zero!",
|
"numberZero":"Não é permitido que o número seja zero!",
|
||||||
"channelNotFound": "Não foi possível encontrar o canal!",
|
"channelNotFound":"Não foi possível encontrar o canal!",
|
||||||
"userNotFound": "Não foi possível encontrar o usuário!",
|
"userNotFound":"Não foi possível encontrar o usuário!",
|
||||||
"roleNotFound": "Não foi possível encontrar o cargo!",
|
"roleNotFound":"Não foi possível encontrar o cargo!",
|
||||||
"memberNotFound": "Não foi possível encontrar o usuário!",
|
"memberNotFound":"Não foi possível encontrar o usuário!",
|
||||||
"mentionableNotFound": "Não foi possível encontrar o usuário ou cargo!",
|
"mentionableNotFound":"Não foi possível encontrar o usuário ou cargo!",
|
||||||
"channelType": "Tipo de canal inválido!",
|
"channelType":"Tipo de canal inválido!",
|
||||||
"notInGuild": "Esta opção requer que você esteja em um servidor!"
|
"notInGuild":"Esta opção requer que você esteja em um servidor!"
|
||||||
},
|
},
|
||||||
"permissions": {
|
"permissions":{
|
||||||
"developer": "Você precisa ser o desenvolvedor do bot.",
|
"developer":"Você precisa ser o desenvolvedor do bot.",
|
||||||
"owner": "Você precisa ser o dono do servidor.",
|
"owner":"Você precisa ser o dono do servidor.",
|
||||||
"admin": "Você precisa ser um administrador do servidor.",
|
"admin":"Você precisa ser um administrador do servidor.",
|
||||||
"moderator": "Você precisa ser um moderador.",
|
"moderator":"Você precisa ser um moderador.",
|
||||||
"support": "Você precisa estar na equipe de suporte.",
|
"support":"Você precisa estar na equipe de suporte.",
|
||||||
"member": "Você precisa ser um membro.",
|
"member":"Você precisa ser um membro.",
|
||||||
"discord-administrator": "Você precisa ter a permissão `ADMINISTRATOR`."
|
"discord-administrator":"Você precisa ter a permissão `ADMINISTRATOR`."
|
||||||
},
|
},
|
||||||
"actionInvalid":{
|
"actionInvalid":{
|
||||||
"close": "O ticket já está fechado!",
|
"close":"O ticket já está fechado!",
|
||||||
"reopen": "O ticket ainda não está fechado!",
|
"reopen":"O ticket ainda não está fechado!",
|
||||||
"claim": "O ticket já está reivindicado!",
|
"claim":"O ticket já está reivindicado!",
|
||||||
"unclaim": "O ticket ainda não está reivindicado!",
|
"unclaim":"O ticket ainda não está reivindicado!",
|
||||||
"pin": "O ticket já está fixado!",
|
"pin":"O ticket já está fixado!",
|
||||||
"unpin": "O ticket ainda não está fixado!",
|
"unpin":"O ticket ainda não está fixado!",
|
||||||
"add": "Este usuário já pode acessar o ticket!",
|
"add":"Este usuário já pode acessar o ticket!",
|
||||||
"remove": "Não foi possível remover este usuário do ticket!"
|
"remove":"Não foi possível remover este usuário do ticket!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"params":{
|
"params":{
|
||||||
@@ -331,7 +376,6 @@
|
|||||||
"added":"Adicionado",
|
"added":"Adicionado",
|
||||||
"removed":"Removido",
|
"removed":"Removido",
|
||||||
"filter":"Filtro",
|
"filter":"Filtro",
|
||||||
"claimedBy":"Reivindicado por {0}",
|
|
||||||
"method":"Método",
|
"method":"Método",
|
||||||
"type":"Tipo",
|
"type":"Tipo",
|
||||||
"blacklisted":"Na Lista Negra",
|
"blacklisted":"Na Lista Negra",
|
||||||
@@ -352,10 +396,30 @@
|
|||||||
"version":"Versão",
|
"version":"Versão",
|
||||||
"name":"Nome",
|
"name":"Nome",
|
||||||
"role":"Cargo",
|
"role":"Cargo",
|
||||||
"status":"Status",
|
"status":"STATUS",
|
||||||
"claimed":"Reivindicado",
|
"claimed":"Reivindicado",
|
||||||
"pinned":"Fixado",
|
"pinned":"Fixado",
|
||||||
"creationDate":"Data de Criação"
|
"creationDate":"Data de Criação",
|
||||||
|
|
||||||
|
"noone":"Ninguém",
|
||||||
|
"open":"ABERTO",
|
||||||
|
"closed":"FECHADO",
|
||||||
|
"priority":"PRIORIDADE",
|
||||||
|
"participants":"PARTICIPANTES",
|
||||||
|
"yes":"Sim",
|
||||||
|
"no":"Não",
|
||||||
|
"option":"Opção",
|
||||||
|
"topic":"Tópico",
|
||||||
|
"uptime":"Tempo de Atividade do Sistema",
|
||||||
|
"messages":"Mensagens",
|
||||||
|
"embeds":"Embeds",
|
||||||
|
"files":"Arquivos",
|
||||||
|
"components":"Componentes",
|
||||||
|
"cooldown":"Tempo de Espera",
|
||||||
|
"maxTickets":"Máx. Tickets",
|
||||||
|
"admins":"Administradores",
|
||||||
|
"roles":"Funções",
|
||||||
|
"size":"Tamanho"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text":"texto",
|
"text":"texto",
|
||||||
@@ -368,99 +432,125 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"commands":{
|
"commands":{
|
||||||
"reason": "Especifique um motivo opcional que será visível nos logs.",
|
"reason":"Especifique um motivo opcional que será visível nos logs.",
|
||||||
"help": "Obtenha uma lista de todos os comandos disponíveis.",
|
"help":"Obtenha uma lista de todos os comandos disponíveis.",
|
||||||
"panel": "Gerar uma mensagem com um dropdown ou botões (para criação de tickets).",
|
"panel":"Gerar uma mensagem com um dropdown ou botões (para criação de tickets).",
|
||||||
"panelId": "O identificador do painel que você deseja gerar.",
|
"panelId":"O identificador do painel que você deseja gerar.",
|
||||||
"panelAutoUpdate": "Você quer que este painel atualize automaticamente quando editado?",
|
"panelAutoUpdate":"Você quer que este painel atualize automaticamente quando editado?",
|
||||||
"ticket": "Crie um ticket instantaneamente.",
|
"ticket":"Crie um ticket instantaneamente.",
|
||||||
"ticketId": "O identificador do ticket que você deseja criar.",
|
"ticketId":"O identificador do ticket que você deseja criar.",
|
||||||
"close": "Feche um ticket.",
|
"close":"Feche um ticket.",
|
||||||
"delete": "Exclua um ticket.",
|
"delete":"Exclua um ticket.",
|
||||||
"deleteNoTranscript": "Exclua este ticket sem criar uma transcrição.",
|
"deleteNoTranscript":"Exclua este ticket sem criar uma transcrição.",
|
||||||
"reopen": "Reabra um ticket.",
|
"reopen":"Reabra um ticket.",
|
||||||
"claim": "Assuma um ticket.",
|
"claim":"Assuma um ticket.",
|
||||||
"claimUser": "Assuma este ticket para outra pessoa em vez de você mesmo.",
|
"claimUser":"Assuma este ticket para outra pessoa em vez de você mesmo.",
|
||||||
"unclaim": "Desassuma um ticket.",
|
"unclaim":"Desassuma um ticket.",
|
||||||
"pin": "Fixe um ticket.",
|
"pin":"Fixe um ticket.",
|
||||||
"unpin": "Desfixe um ticket.",
|
"unpin":"Desfixe um ticket.",
|
||||||
"move": "Mova um ticket.",
|
|
||||||
"moveId": "O identificador do opção para o qual você deseja mover.",
|
"move":"Mova um ticket.",
|
||||||
"rename": "Renomeie um ticket.",
|
"moveId":"O identificador do opção para o qual você deseja mover.",
|
||||||
"renameName": "O novo nome para este ticket.",
|
"rename":"Renomeie um ticket.",
|
||||||
"add": "Adicione um usuário a um ticket.",
|
"renameName":"O novo nome para este ticket.",
|
||||||
"addUser": "O usuário a ser adicionado.",
|
"add":"Adicione um usuário a um ticket.",
|
||||||
"remove": "Remover um usuário de um ticket.",
|
"addUser":"O usuário a ser adicionado.",
|
||||||
"removeUser": "O usuário a ser removido.",
|
"remove":"Remover um usuário de um ticket.",
|
||||||
"blacklist": "Gerenciar a lista negra de tickets.",
|
"removeUser":"O usuário a ser removido.",
|
||||||
"blacklistView": "Ver uma lista da blacklist atual.",
|
|
||||||
"blacklistAdd": "Adicionar um usuário à blacklist.",
|
"blacklist":"Gerenciar a lista negra de tickets.",
|
||||||
"blacklistRemove": "Remover um usuário da blacklist.",
|
"blacklistView":"Ver uma lista da blacklist atual.",
|
||||||
"blacklistGet": "Obter os detalhes de um usuário na blacklist.",
|
"blacklistAdd":"Adicionar um usuário à blacklist.",
|
||||||
"blacklistGetUser": "O usuário para obter detalhes.",
|
"blacklistRemove":"Remover um usuário da blacklist.",
|
||||||
"stats": "Ver estatísticas do bot, de um membro ou de um ticket.",
|
"blacklistGet":"Obter os detalhes de um usuário na blacklist.",
|
||||||
"statsReset": "Redefinir todas as estatísticas do bot (e começar a contar do zero).",
|
"blacklistGetUser":"O usuário para obter detalhes.",
|
||||||
"statsGlobal": "Ver as estatísticas globais.",
|
"stats":"Ver estatísticas do bot, de um membro ou de um ticket.",
|
||||||
"statsUser": "Ver as estatísticas de um usuário no servidor.",
|
"statsReset":"Redefinir todas as estatísticas do bot (e começar a contar do zero).",
|
||||||
"statsUserUser": "O usuário para visualizar.",
|
"statsGlobal":"Ver as estatísticas globais.",
|
||||||
"statsTicket": "Ver as estatísticas de um ticket no servidor.",
|
"statsUser":"Ver as estatísticas de um usuário no servidor.",
|
||||||
"statsTicketTicket": "O ticket para visualizar.",
|
"statsUserUser":"O usuário para visualizar.",
|
||||||
"clear": "Excluir vários tickets ao mesmo tempo. Um filtro opcional pode ser especificado.",
|
"statsTicket":"Ver as estatísticas de um ticket no servidor.",
|
||||||
"clearFilter": "O filtro para limpar tickets.",
|
"statsTicketTicket":"O ticket para visualizar.",
|
||||||
"clearFilters": {
|
|
||||||
"all": "Todos",
|
"clear":"Excluir vários tickets ao mesmo tempo. Um filtro opcional pode ser especificado.",
|
||||||
"open": "Aberto",
|
"clearFilter":"O filtro para limpar tickets.",
|
||||||
"close": "Fechado",
|
"clearFilters":{
|
||||||
"claim": "Reivindicado",
|
"all":"Todos",
|
||||||
"unclaim": "Não Reivindicado",
|
"open":"Aberto",
|
||||||
"pin": "Fixado",
|
"close":"Fechado",
|
||||||
"unpin": "Desfixado",
|
"claim":"Reivindicado",
|
||||||
"autoclose": "Fechado Automaticamente"
|
"unclaim":"Não Reivindicado",
|
||||||
|
"pin":"Fixado",
|
||||||
|
"unpin":"Desfixado",
|
||||||
|
"autoclose":"Fechado Automaticamente"
|
||||||
},
|
},
|
||||||
"autoclose": "Gerenciar fechamento automático em um ticket.",
|
|
||||||
"autocloseDisable": "Desabilitar fechamento automático neste ticket.",
|
"autoclose":"Gerenciar fechamento automático em um ticket.",
|
||||||
"autocloseEnable": "Habilitar fechamento automático neste ticket.",
|
"autocloseDisable":"Desabilitar fechamento automático neste ticket.",
|
||||||
"autocloseEnableTime": "A quantidade de horas que este ticket precisa estar inativo para ser fechado.",
|
"autocloseEnable":"Habilitar fechamento automático neste ticket.",
|
||||||
"autodelete": "Gerenciar exclusão automática em um ticket.",
|
"autocloseEnableTime":"A quantidade de horas que este ticket precisa estar inativo para ser fechado.",
|
||||||
"autodeleteDisable": "Desabilitar exclusão automática neste ticket.",
|
"autodelete":"Gerenciar exclusão automática em um ticket.",
|
||||||
"autodeleteEnable": "Habilitar exclusão automática neste ticket.",
|
"autodeleteDisable":"Desabilitar exclusão automática neste ticket.",
|
||||||
"autodeleteEnableTime": "A quantidade de dias que este ticket precisa estar inativo para ser excluído."
|
"autodeleteEnable":"Habilitar exclusão automática neste ticket.",
|
||||||
|
"autodeleteEnableTime":"A quantidade de dias que este ticket precisa estar inativo para ser excluído.",
|
||||||
|
|
||||||
|
"topic":"Gerenciar o tópico do canal do ticket.",
|
||||||
|
"topicSet":"Definir o tópico do canal do ticket.",
|
||||||
|
"topicValue":"O novo tópico do canal.",
|
||||||
|
"topicList":"Obter uma lista de todos os tickets com seus tópicos e estatísticas.",
|
||||||
|
"priority":"Gerenciar a prioridade do ticket.",
|
||||||
|
"prioritySet":"Definir a prioridade do ticket.",
|
||||||
|
"priorityValue":"Prioridade do canal.",
|
||||||
|
"priorityGet":"Obter a prioridade do ticket.",
|
||||||
|
"priorityList":"Obter uma lista de todos os tickets com seu status de prioridade.",
|
||||||
|
"transfer":"Transferir a propriedade do ticket de um usuário para outro.",
|
||||||
|
"transferUser":"O usuário para transferir."
|
||||||
},
|
},
|
||||||
"helpMenu": {
|
"helpMenu":{
|
||||||
"help": "Obtenha uma lista de todos os comandos disponíveis.",
|
"help":"Obtenha uma lista de todos os comandos disponíveis.",
|
||||||
"ticket": "Crie um ticket instantaneamente.",
|
"ticket":"Crie um ticket instantaneamente.",
|
||||||
"close": "Feche um ticket, isso desabilita a escrita neste canal.",
|
"close":"Feche um ticket, isso desabilita a escrita neste canal.",
|
||||||
"delete": "Exclua um ticket, isso cria uma transcrição quando habilitado.",
|
"delete":"Exclua um ticket, isso cria uma transcrição quando habilitado.",
|
||||||
"reopen": "Reabra um ticket, isso habilita a escrita neste canal novamente.",
|
"reopen":"Reabra um ticket, isso habilita a escrita neste canal novamente.",
|
||||||
"pin": "Fixe um ticket. Isso moverá o ticket para o topo e adicionará um emoji '📌' ao nome.",
|
"pin":"Fixe um ticket. Isso moverá o ticket para o topo e adicionará um emoji '📌' ao nome.",
|
||||||
"unpin": "Desfixe um ticket. O ticket permanecerá na sua posição, mas perderá o emoji '📌'.",
|
"unpin":"Desfixe um ticket. O ticket permanecerá na sua posição, mas perderá o emoji '📌'.",
|
||||||
"move": "Mova um ticket. Isso mudará o tipo deste ticket.",
|
"move":"Mova um ticket. Isso mudará o tipo deste ticket.",
|
||||||
"rename": "Renomeie um ticket. Isso mudará o nome do canal deste ticket.",
|
"rename":"Renomeie um ticket. Isso mudará o nome do canal deste ticket.",
|
||||||
"claim": "Assuma um ticket. Com isso, você pode informar à sua equipe que está lidando com este ticket.",
|
"claim":"Assuma um ticket. Com isso, você pode informar à sua equipe que está lidando com este ticket.",
|
||||||
"unclaim": "Desassuma um ticket. Com isso, você pode informar à sua equipe que este ticket está livre novamente.",
|
"unclaim":"Desassuma um ticket. Com isso, você pode informar à sua equipe que este ticket está livre novamente.",
|
||||||
"add": "Adicione um usuário a um ticket. Isso permitirá que o usuário leia e escreva neste ticket.",
|
"add":"Adicione um usuário a um ticket. Isso permitirá que o usuário leia e escreva neste ticket.",
|
||||||
"remove": "Remova um usuário de um ticket. Isso removerá a capacidade de ler e escrever para um usuário neste ticket.",
|
"remove":"Remova um usuário de um ticket. Isso removerá a capacidade de ler e escrever para um usuário neste ticket.",
|
||||||
"panel": "Gere uma mensagem com um dropdown ou botões (para criação de tickets).",
|
"panel":"Gere uma mensagem com um dropdown ou botões (para criação de tickets).",
|
||||||
"blacklistView": "Veja uma lista da blacklist atual.",
|
"blacklistView":"Veja uma lista da blacklist atual.",
|
||||||
"blacklistAdd": "Adicione um usuário à blacklist.",
|
"blacklistAdd":"Adicione um usuário à blacklist.",
|
||||||
"blacklistRemove": "Remova um usuário da blacklist.",
|
"blacklistRemove":"Remova um usuário da blacklist.",
|
||||||
"blacklistGet": "Obtenha os detalhes de um usuário na blacklist.",
|
"blacklistGet":"Obtenha os detalhes de um usuário na blacklist.",
|
||||||
"statsGlobal": "Veja as estatísticas globais.",
|
"statsGlobal":"Veja as estatísticas globais.",
|
||||||
"statsTicket": "Veja as estatísticas de um ticket no servidor.",
|
"statsTicket":"Veja as estatísticas de um ticket no servidor.",
|
||||||
"statsUser": "Veja as estatísticas de um usuário no servidor.",
|
"statsUser":"Veja as estatísticas de um usuário no servidor.",
|
||||||
"statsReset": "Redefina todas as estatísticas do bot (e comece a contar do zero).",
|
"statsReset":"Redefina todas as estatísticas do bot (e comece a contar do zero).",
|
||||||
"autocloseDisable": "Desabilite o fechamento automático neste ticket.",
|
"autocloseDisable":"Desabilite o fechamento automático neste ticket.",
|
||||||
"autocloseEnable": "Habilite o fechamento automático neste ticket.",
|
"autocloseEnable":"Habilite o fechamento automático neste ticket.",
|
||||||
"autodeleteDisable": "Desabilite a exclusão automática neste ticket.",
|
"autodeleteDisable":"Desabilite a exclusão automática neste ticket.",
|
||||||
"autodeleteEnable": "Habilite a exclusão automática neste ticket."
|
"autodeleteEnable":"Habilite a exclusão automática neste ticket.",
|
||||||
|
"categories":{
|
||||||
|
"general":"Comandos Gerais",
|
||||||
|
"basicTicket":"Comandos Básicos de Ticket",
|
||||||
|
"advancedTicket":"Comandos Avançados de Ticket",
|
||||||
|
"userTicket":"Comandos de Ticket de Usuário",
|
||||||
|
"admin":"Comandos de Administrador",
|
||||||
|
"advanced":"Comandos Avançados",
|
||||||
|
"extra":"Comandos Extras"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes": {
|
"scopes":{
|
||||||
"global": "Status Global",
|
"global":"Status Global",
|
||||||
"system": "Status do Sistema",
|
"system":"Status do Sistema",
|
||||||
"user": "Status do Usuário",
|
"user":"Status do Usuário",
|
||||||
"ticket": "Status do Ticket",
|
"ticket":"Status do Ticket",
|
||||||
"participants": "Participantes"
|
"participants":"Participantes",
|
||||||
|
"messages":"Mensagens"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated":"Tickets Criados",
|
"ticketsCreated":"Tickets Criados",
|
||||||
@@ -472,7 +562,47 @@
|
|||||||
"ticketsPinned":"Tickets Fixados",
|
"ticketsPinned":"Tickets Fixados",
|
||||||
"ticketsMoved":"Tickets Movidos",
|
"ticketsMoved":"Tickets Movidos",
|
||||||
"usersBlacklisted":"Usuários na Blacklist",
|
"usersBlacklisted":"Usuários na Blacklist",
|
||||||
"transcriptsCreated":"Transcrição Criada"
|
"transcriptsCreated":"Transcrição Criada",
|
||||||
|
"ticketsAutodeleted":"Tickets Autodeletados",
|
||||||
|
"ticketsTransferred":"Tickets Transferidos",
|
||||||
|
"ticketVolume":"Volume de Tickets",
|
||||||
|
"averageTickets":"Média de Tickets/Usuário",
|
||||||
|
"currentTickets":"Tickets Atuais",
|
||||||
|
"age":"Idade do Ticket",
|
||||||
|
"responseTime":"Tempo de Resposta",
|
||||||
|
"resolutionTime":"Tempo de Resolução",
|
||||||
|
"createdOn":"Criado em",
|
||||||
|
"createdBy":"Criado por",
|
||||||
|
"closedOn":"Fechado em",
|
||||||
|
"closedBy":"Fechado por",
|
||||||
|
"claimedOn":"Reivindicado em",
|
||||||
|
"claimedBy":"Reivindicado por",
|
||||||
|
"pinnedOn":"Fixado em",
|
||||||
|
"pinnedBy":"Fixado por",
|
||||||
|
"deletedOn":"Excluído em",
|
||||||
|
"deletedBy":"Excluído por"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"Desenvolvedor",
|
||||||
|
"serverOwner":"Proprietário do Servidor",
|
||||||
|
"serverAdmin":"Administrador do Servidor",
|
||||||
|
"moderator":"Equipe de Moderadores",
|
||||||
|
"support":"Equipe de Suporte",
|
||||||
|
"member":"Membro"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"Selecione seu ticket",
|
||||||
|
"selectRole":"Selecione sua função",
|
||||||
|
"selectOption":"Selecione sua opção"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"Urgente",
|
||||||
|
"veryHigh":"Muito Alta",
|
||||||
|
"high":"Alta",
|
||||||
|
"normal":"Normal",
|
||||||
|
"low":"Baixa",
|
||||||
|
"veryLow":"Muito Baixa",
|
||||||
|
"none":"Nenhuma"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+146
-16
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["SankeDev"],
|
"translators":["SankeDev"],
|
||||||
"lastedited":"27/08/2024",
|
"lastedited":"16/02/2026",
|
||||||
"language":"Romanian",
|
"language":"Romanian",
|
||||||
"automated":false
|
"automated":false
|
||||||
},
|
},
|
||||||
@@ -31,6 +31,14 @@
|
|||||||
"stringContains":"Acest string trebuie sa contina {0}!",
|
"stringContains":"Acest string trebuie sa contina {0}!",
|
||||||
"stringChoices":"Acest string poate fi doar una dintre urmatoarele optiuni: {0}!",
|
"stringChoices":"Acest string poate fi doar una dintre urmatoarele optiuni: {0}!",
|
||||||
"stringRegex":"String invalid!",
|
"stringRegex":"String invalid!",
|
||||||
|
"stringInvertedContains":"Acest șir nu are voie să conțină {0}!",
|
||||||
|
"stringLowercase":"Acest șir trebuie scris doar cu litere mici!",
|
||||||
|
"stringUppercase":"Acest șir trebuie scris doar cu litere mari!",
|
||||||
|
"stringSpecialCharacters":"Acest șir nu are voie să conțină caractere speciale! (doar a-z, 0-9 și spațiu)",
|
||||||
|
"stringNoSpaces":"Acest șir nu are voie să conțină spații!",
|
||||||
|
"stringCapitalWord":"Este recomandat ca fiecare cuvânt din acest șir să înceapă cu literă mare!",
|
||||||
|
"stringCapitalSentence":"Se pare că unele propoziții din acest șir nu încep cu literă mare!",
|
||||||
|
"stringPunctuation":"Se pare că propoziția din acest șir nu se termină cu un semn de punctuație!",
|
||||||
|
|
||||||
"numberTooShort":"Acest numar nu poate fi mai scurt de {0} caractere!",
|
"numberTooShort":"Acest numar nu poate fi mai scurt de {0} caractere!",
|
||||||
"numberTooLong":"Acest numar nu poate fi mai lung de {0} caractere!",
|
"numberTooLong":"Acest numar nu poate fi mai lung de {0} caractere!",
|
||||||
@@ -48,6 +56,8 @@
|
|||||||
"numberNegative":"Acest numar nu poate fi negativ!",
|
"numberNegative":"Acest numar nu poate fi negativ!",
|
||||||
"numberPositive":"Acest numar nu poate fi pozitiv!",
|
"numberPositive":"Acest numar nu poate fi pozitiv!",
|
||||||
"numberZero":"Acest numar nu poate sa fie 0!",
|
"numberZero":"Acest numar nu poate sa fie 0!",
|
||||||
|
"numberNan":"Acest număr nu poate fi NaN (Not A Number)!",
|
||||||
|
"numberInvertedContains":"Acest număr nu are voie să conțină {0}!",
|
||||||
|
|
||||||
"booleanTrue":"Aceasta valoare boolean nu poate sa fie adevarata!",
|
"booleanTrue":"Aceasta valoare boolean nu poate sa fie adevarata!",
|
||||||
"booleanFalse":"Aceasta valoare boolean nu poate sa fie falsa!",
|
"booleanFalse":"Aceasta valoare boolean nu poate sa fie falsa!",
|
||||||
@@ -89,7 +99,8 @@
|
|||||||
"invalidButton":"Acest buton trebuie sa aiba cel putin un {0} sau {1}!",
|
"invalidButton":"Acest buton trebuie sa aiba cel putin un {0} sau {1}!",
|
||||||
"unusedOption":"Optiunea {0} nu este folosita nicaieri!",
|
"unusedOption":"Optiunea {0} nu este folosita nicaieri!",
|
||||||
"unusedQuestion":"Intrebarea {0} nu este folosita nicaieri!",
|
"unusedQuestion":"Intrebarea {0} nu este folosita nicaieri!",
|
||||||
"dropdownOption":"Un meniul cu dropdown activat poate contine doar valori din categoria 'ticket'!"
|
"dropdownOption":"Un meniul cu dropdown activat poate contine doar valori din categoria 'ticket'!",
|
||||||
|
"customInvalidVersion":"Versiunea specificată în configurația ta nu corespunde! Asigură-te că ai actualizat configurația la cea mai recentă versiune!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
@@ -132,6 +143,7 @@
|
|||||||
"blacklistAddDm":"Adaugat la Blacklist",
|
"blacklistAddDm":"Adaugat la Blacklist",
|
||||||
"blacklistRemoveDm":"Sters din Blacklist",
|
"blacklistRemoveDm":"Sters din Blacklist",
|
||||||
"clear":"Tickets Curatate",
|
"clear":"Tickets Curatate",
|
||||||
|
"clearTickets":"Ștergere Tichete",
|
||||||
"roles":"Roluri Actualizate",
|
"roles":"Roluri Actualizate",
|
||||||
|
|
||||||
"autoclose":"Ticket Inchis Automat",
|
"autoclose":"Ticket Inchis Automat",
|
||||||
@@ -139,7 +151,12 @@
|
|||||||
"autocloseDisabled":"Inchidere Automata Dezactivata",
|
"autocloseDisabled":"Inchidere Automata Dezactivata",
|
||||||
"autodelete":"Ticket Sters Automat",
|
"autodelete":"Ticket Sters Automat",
|
||||||
"autodeleteEnabled":"Stergere Automata Activata",
|
"autodeleteEnabled":"Stergere Automata Activata",
|
||||||
"autodeleteDisabled":"Stergere Automata Dezactivata"
|
"autodeleteDisabled":"Stergere Automata Dezactivata",
|
||||||
|
|
||||||
|
"topicSet":"Subiect Modificat",
|
||||||
|
"prioritySet":"Prioritate Modificată",
|
||||||
|
"priorityGet":"Prioritate Tichet",
|
||||||
|
"transfer":"Tichet Transferat"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create":"Ticket-ul tau a fost creat cu succes! Apasa pe butonul de mai jos pentru a-l vizualiza!",
|
"create":"Ticket-ul tau a fost creat cu succes! Apasa pe butonul de mai jos pentru a-l vizualiza!",
|
||||||
@@ -180,7 +197,12 @@
|
|||||||
"ticketMessageLimit":"Poti creea doar {0} tickete in acelasi timp!",
|
"ticketMessageLimit":"Poti creea doar {0} tickete in acelasi timp!",
|
||||||
"ticketMessageAutoclose":"Acest ticket va fi inchis automat cand va deveni inactiv de mai mult de {0}h!",
|
"ticketMessageAutoclose":"Acest ticket va fi inchis automat cand va deveni inactiv de mai mult de {0}h!",
|
||||||
"ticketMessageAutodelete":"Acest ticket va fi sters automat cand va deveni inactiv de mai mult de {0} zile!",
|
"ticketMessageAutodelete":"Acest ticket va fi sters automat cand va deveni inactiv de mai mult de {0} zile!",
|
||||||
"panelReady":"Panelul poate fi gasit mai jos!\nAcest mesaj poate fi sters acum."
|
"panelReady":"Panoul este disponibil în mesajul următor!\nAcest mesaj poate fi șters acum!",
|
||||||
|
|
||||||
|
"topicSet":"Subiectul canalului a fost modificat cu succes de {0}!",
|
||||||
|
"prioritySet":"Prioritatea tichetului a fost modificată la {0} de către {1} cu succes!",
|
||||||
|
"priorityGet":"Prioritatea curentă a acestui tichet este {0}.",
|
||||||
|
"transfer":"Proprietatea tichetului a fost transferată de la {0} la {1} de către {2} cu succes!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder":"De ce inchizi acest ticket?",
|
"closePlaceholder":"De ce inchizi acest ticket?",
|
||||||
@@ -220,7 +242,14 @@
|
|||||||
"blacklistRemoveLog":"{0} a fost eliminat din blacklist de {1}!",
|
"blacklistRemoveLog":"{0} a fost eliminat din blacklist de {1}!",
|
||||||
"blacklistAddDm":"Ai fost adaugat in blacklist pe serverul nostru!\nNu mai poti creea tickete!",
|
"blacklistAddDm":"Ai fost adaugat in blacklist pe serverul nostru!\nNu mai poti creea tickete!",
|
||||||
"blacklistRemoveDm":"Ai fost scos din blacklist pe serverul nostru!\nPoti sa creezi tickete din nou!",
|
"blacklistRemoveDm":"Ai fost scos din blacklist pe serverul nostru!\nPoti sa creezi tickete din nou!",
|
||||||
"clearLog":"{0} tickete au fost sterse de {1}!"
|
"clearLog":"{0} tickete au fost sterse de {1}!",
|
||||||
|
|
||||||
|
"transferLog":"Proprietatea acestui tichet a fost transferată de la {0} la {1} de către {2}!",
|
||||||
|
"transferDm":"Proprietatea tichetului tău a fost transferată de la {0} la {1} pe serverul nostru!",
|
||||||
|
"prioritySetLog":"Prioritatea acestui tichet a fost modificată la {0} de către {1}!",
|
||||||
|
"prioritySetDm":"Prioritatea tichetului tău a fost modificată la {0} pe serverul nostru!",
|
||||||
|
"roleUpdateLog":"{0} și-a actualizat rolurile!",
|
||||||
|
"roleUpdateDm":"Rolurile tale pe serverul nostru au fost actualizate!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
@@ -241,7 +270,19 @@
|
|||||||
"retry":"Reincearca",
|
"retry":"Reincearca",
|
||||||
"continue":"Sterge fara Transcript",
|
"continue":"Sterge fara Transcript",
|
||||||
"backup":"Creeaza un Transcript de Backup",
|
"backup":"Creeaza un Transcript de Backup",
|
||||||
"error":"Ceva nu a mers bine cand s-a incercat creearea transcriptului.\nCum doresti sa continui?\n\nAcest ticket nu va fi modificat pana cand nu apesi pe unul dintre butoane."
|
"error":"Ceva nu a mers bine cand s-a incercat creearea transcriptului.\nCum doresti sa continui?\n\nAcest ticket nu va fi modificat pana cand nu apesi pe unul dintre butoane.",
|
||||||
|
"title":"Eroare Transcriere"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"MESAJE",
|
||||||
|
"embedTitle":"EMBED",
|
||||||
|
"fileTitle":"FIȘIER",
|
||||||
|
"fieldsTitle":"CÂMPURI",
|
||||||
|
"reactionsTitle":"REACȚII",
|
||||||
|
"statsTitle":"STATISTICI",
|
||||||
|
"emptyContent":"<conținutul este gol>",
|
||||||
|
"noTitle":"<fără-titlu>",
|
||||||
|
"noDesc":"<fără-descriere>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
@@ -257,7 +298,8 @@
|
|||||||
"unknownPanel":"Panel Necunoscut",
|
"unknownPanel":"Panel Necunoscut",
|
||||||
"notInGuild":"Nu este in server",
|
"notInGuild":"Nu este in server",
|
||||||
"channelRename":"Nu se poate redenumi canalul",
|
"channelRename":"Nu se poate redenumi canalul",
|
||||||
"busy":"Ticket ocupat"
|
"busy":"Ticket ocupat",
|
||||||
|
"permissionError":"Eroare de Permisiune"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo":"Contacteaza ownerul botului pentru mai multe informatii.",
|
"askForInfo":"Contacteaza ownerul botului pentru mai multe informatii.",
|
||||||
@@ -280,7 +322,10 @@
|
|||||||
"notInGuild":"Aceasta {0} poate fi folosita doar in server!",
|
"notInGuild":"Aceasta {0} poate fi folosita doar in server!",
|
||||||
"channelRename":"Nu s-a putut redenumi canalul din cauza unor limitari Discord! Canalul va fi redenumit in 10 minute daca botul nu va fi repornit.",
|
"channelRename":"Nu s-a putut redenumi canalul din cauza unor limitari Discord! Canalul va fi redenumit in 10 minute daca botul nu va fi repornit.",
|
||||||
"channelRenameSource":"Sursa acestei erori este: {0}",
|
"channelRenameSource":"Sursa acestei erori este: {0}",
|
||||||
"busy":"Nu se poate executa {0}!\nTicketul este in curs de procesare.\n\nTe rugam sa incerci din nou in cateva minute!"
|
"busy":"Nu se poate executa {0}!\nTicketul este in curs de procesare.\n\nTe rugam sa incerci din nou in cateva minute!",
|
||||||
|
"closeBeforeMessage":"Acest tichet nu poate fi închis/șters înainte ca un mesaj să fi fost trimis de un utilizator.",
|
||||||
|
"closeBeforeAdminMessage":"Acest tichet nu poate fi închis/șters înainte ca un mesaj să fi fost trimis de un administrator de tichete sau un membru al echipei de suport.",
|
||||||
|
"unableToCreateTicket":"Nu poți crea un tichet."
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex":"Valoarea nu respecta formatul necesar!",
|
"stringRegex":"Valoarea nu respecta formatul necesar!",
|
||||||
@@ -331,7 +376,6 @@
|
|||||||
"added":"Adaugat",
|
"added":"Adaugat",
|
||||||
"removed":"Sters",
|
"removed":"Sters",
|
||||||
"filter":"Filtru",
|
"filter":"Filtru",
|
||||||
"claimedBy":"Revendicat de {0}",
|
|
||||||
"method":"Metoda",
|
"method":"Metoda",
|
||||||
"type":"Tip",
|
"type":"Tip",
|
||||||
"blacklisted":"Blacklistat",
|
"blacklisted":"Blacklistat",
|
||||||
@@ -352,10 +396,30 @@
|
|||||||
"version":"Versiune",
|
"version":"Versiune",
|
||||||
"name":"Nume",
|
"name":"Nume",
|
||||||
"role":"Rol",
|
"role":"Rol",
|
||||||
"status":"Status",
|
"status":"STARE",
|
||||||
"claimed":"Revendicat",
|
"claimed":"Revendicat",
|
||||||
"pinned":"Fixat",
|
"pinned":"Fixat",
|
||||||
"creationDate":"Data Crearii"
|
"creationDate":"Data Crearii",
|
||||||
|
|
||||||
|
"noone":"NIMENI",
|
||||||
|
"open":"DESCHIS",
|
||||||
|
"closed":"ÎNCHIS",
|
||||||
|
"priority":"PRIORITATE",
|
||||||
|
"participants":"PARTICIPANȚI",
|
||||||
|
"yes":"DA",
|
||||||
|
"no":"NU",
|
||||||
|
"option":"OPȚIUNE",
|
||||||
|
"topic":"SUBIECT",
|
||||||
|
"uptime":"TIM P FUNCȚIONARE SISTEM",
|
||||||
|
"messages":"MESAJE",
|
||||||
|
"embeds":"EMBEDURI",
|
||||||
|
"files":"FIȘIERE",
|
||||||
|
"components":"COMPONENTE",
|
||||||
|
"cooldown":"COOLDOWN",
|
||||||
|
"maxTickets":"MAX TICHETE",
|
||||||
|
"admins":"ADMINI",
|
||||||
|
"roles":"ROLURI",
|
||||||
|
"size":"DIMENSIUNE"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text":"text",
|
"text":"text",
|
||||||
@@ -384,6 +448,7 @@
|
|||||||
"unclaim":"Elibereaza un ticket.",
|
"unclaim":"Elibereaza un ticket.",
|
||||||
"pin":"Fixeaza un ticket.",
|
"pin":"Fixeaza un ticket.",
|
||||||
"unpin":"Defixeaza un ticket.",
|
"unpin":"Defixeaza un ticket.",
|
||||||
|
|
||||||
"move":"Muta un ticket.",
|
"move":"Muta un ticket.",
|
||||||
"moveId":"Id-ul tipului de optiune in care vrei sa muti acest ticket.",
|
"moveId":"Id-ul tipului de optiune in care vrei sa muti acest ticket.",
|
||||||
"rename":"Redenumeste un ticket.",
|
"rename":"Redenumeste un ticket.",
|
||||||
@@ -392,6 +457,7 @@
|
|||||||
"addUser":"Userul pe care vrei sa il adaugi.",
|
"addUser":"Userul pe care vrei sa il adaugi.",
|
||||||
"remove":"Sterge un user dintr-un ticket.",
|
"remove":"Sterge un user dintr-un ticket.",
|
||||||
"removeUser":"Userul pe care vrei sa il stergi.",
|
"removeUser":"Userul pe care vrei sa il stergi.",
|
||||||
|
|
||||||
"blacklist":"Gestioneaza blacklist-ul in server.",
|
"blacklist":"Gestioneaza blacklist-ul in server.",
|
||||||
"blacklistView":"Vezi o lista cu toti userii blacklisted.",
|
"blacklistView":"Vezi o lista cu toti userii blacklisted.",
|
||||||
"blacklistAdd":"Adauga un user in blacklist.",
|
"blacklistAdd":"Adauga un user in blacklist.",
|
||||||
@@ -405,6 +471,7 @@
|
|||||||
"statsUserUser":"Userul pe care vrei sa il vezi.",
|
"statsUserUser":"Userul pe care vrei sa il vezi.",
|
||||||
"statsTicket":"Vezi statisticile unui ticket in server.",
|
"statsTicket":"Vezi statisticile unui ticket in server.",
|
||||||
"statsTicketTicket":"Ticketul pe care vrei sa il vezi.",
|
"statsTicketTicket":"Ticketul pe care vrei sa il vezi.",
|
||||||
|
|
||||||
"clear":"Sterge mai multe tickete in acelasi timp.",
|
"clear":"Sterge mai multe tickete in acelasi timp.",
|
||||||
"clearFilter":"Filtrul pentru ștergerea biletelor.",
|
"clearFilter":"Filtrul pentru ștergerea biletelor.",
|
||||||
"clearFilters":{
|
"clearFilters":{
|
||||||
@@ -417,6 +484,7 @@
|
|||||||
"unpin":"Nefixat",
|
"unpin":"Nefixat",
|
||||||
"autoclose":"Inchis Automat"
|
"autoclose":"Inchis Automat"
|
||||||
},
|
},
|
||||||
|
|
||||||
"autoclose":"Gestioneaza inchiderea automata a unui ticket.",
|
"autoclose":"Gestioneaza inchiderea automata a unui ticket.",
|
||||||
"autocloseDisable":"Dezactiveaza inchiderea automata in acest ticket.",
|
"autocloseDisable":"Dezactiveaza inchiderea automata in acest ticket.",
|
||||||
"autocloseEnable":"Activeaza inchiderea automata in acest ticket.",
|
"autocloseEnable":"Activeaza inchiderea automata in acest ticket.",
|
||||||
@@ -424,7 +492,19 @@
|
|||||||
"autodelete":"Gestioneaza stergerea automata a unui ticket.",
|
"autodelete":"Gestioneaza stergerea automata a unui ticket.",
|
||||||
"autodeleteDisable":"Dezactiveaza stergerea automata in acest ticket.",
|
"autodeleteDisable":"Dezactiveaza stergerea automata in acest ticket.",
|
||||||
"autodeleteEnable":"Activeaza stergerea automata in acest ticket.",
|
"autodeleteEnable":"Activeaza stergerea automata in acest ticket.",
|
||||||
"autodeleteEnableTime":"Numarul de zile in care acest ticket trebuie sa fie inactiv pentru a fi sters."
|
"autodeleteEnableTime":"Numarul de zile in care acest ticket trebuie sa fie inactiv pentru a fi sters.",
|
||||||
|
|
||||||
|
"topic":"Gestionează subiectul canalului de tichet.",
|
||||||
|
"topicSet":"Setează subiectul canalului de tichet.",
|
||||||
|
"topicValue":"Noul subiect al canalului.",
|
||||||
|
"topicList":"Obține o listă cu toate tichetele, împreună cu subiectul și statisticile lor.",
|
||||||
|
"priority":"Gestionează prioritatea tichetului.",
|
||||||
|
"prioritySet":"Setează prioritatea tichetului.",
|
||||||
|
"priorityValue":"Prioritatea canalului.",
|
||||||
|
"priorityGet":"Obține prioritatea tichetului.",
|
||||||
|
"priorityList":"Obține o listă cu toate tichetele și starea priorității lor.",
|
||||||
|
"transfer":"Transferă proprietatea tichetului de la un utilizator la altul.",
|
||||||
|
"transferUser":"Utilizatorul către care se face transferul."
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"help":"Afiseaza o lista cu toate comenzile disponibile.",
|
"help":"Afiseaza o lista cu toate comenzile disponibile.",
|
||||||
@@ -452,7 +532,16 @@
|
|||||||
"autocloseDisable":"Dezactiveaza inchiderea automata in acest ticket.",
|
"autocloseDisable":"Dezactiveaza inchiderea automata in acest ticket.",
|
||||||
"autocloseEnable":"Activeaza inchiderea automata in acest ticket.",
|
"autocloseEnable":"Activeaza inchiderea automata in acest ticket.",
|
||||||
"autodeleteDisable":"Dezactiveaza stergerea automata in acest ticket.",
|
"autodeleteDisable":"Dezactiveaza stergerea automata in acest ticket.",
|
||||||
"autodeleteEnable":"Activeaza stergerea automata in acest ticket."
|
"autodeleteEnable":"Activeaza stergerea automata in acest ticket.",
|
||||||
|
"categories":{
|
||||||
|
"general":"Comenzi Generale",
|
||||||
|
"basicTicket":"Comenzi de Bază pentru Tichete",
|
||||||
|
"advancedTicket":"Comenzi Avansate pentru Tichete",
|
||||||
|
"userTicket":"Comenzi pentru Tichete Utilizator",
|
||||||
|
"admin":"Comenzi Administrator",
|
||||||
|
"advanced":"Comenzi Avansate",
|
||||||
|
"extra":"Comenzi Extra"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes":{
|
"scopes":{
|
||||||
@@ -460,7 +549,8 @@
|
|||||||
"system":"Statistici Sistem",
|
"system":"Statistici Sistem",
|
||||||
"user":"Statistici User",
|
"user":"Statistici User",
|
||||||
"ticket":"Statistici Ticket",
|
"ticket":"Statistici Ticket",
|
||||||
"participants":"Participanti"
|
"participants":"Participanti",
|
||||||
|
"messages":"Mesaje"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated":"Tickete Create",
|
"ticketsCreated":"Tickete Create",
|
||||||
@@ -472,7 +562,47 @@
|
|||||||
"ticketsPinned":"Tickete Fixate",
|
"ticketsPinned":"Tickete Fixate",
|
||||||
"ticketsMoved":"Tickete Mutate",
|
"ticketsMoved":"Tickete Mutate",
|
||||||
"usersBlacklisted":"Useri Blacklisted",
|
"usersBlacklisted":"Useri Blacklisted",
|
||||||
"transcriptsCreated":"Transcripturi Create"
|
"transcriptsCreated":"Transcripturi Create",
|
||||||
|
"ticketsAutodeleted":"Tichete Șterse Automat",
|
||||||
|
"ticketsTransferred":"Tichete Transferate",
|
||||||
|
"ticketVolume":"Volum Tichete",
|
||||||
|
"averageTickets":"Medie Tichete/Utilizator",
|
||||||
|
"currentTickets":"Tichete Curente",
|
||||||
|
"age":"Vechime Tichet",
|
||||||
|
"responseTime":"Timp de Răspuns",
|
||||||
|
"resolutionTime":"Timp de Rezolvare",
|
||||||
|
"createdOn":"Creat La",
|
||||||
|
"createdBy":"Creat De",
|
||||||
|
"closedOn":"Închis La",
|
||||||
|
"closedBy":"Închis De",
|
||||||
|
"claimedOn":"Preluat La",
|
||||||
|
"claimedBy":"Preluat De",
|
||||||
|
"pinnedOn":"Fixat La",
|
||||||
|
"pinnedBy":"Fixat De",
|
||||||
|
"deletedOn":"Șters La",
|
||||||
|
"deletedBy":"Șters De"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"Dezvoltator",
|
||||||
|
"serverOwner":"Proprietar Server",
|
||||||
|
"serverAdmin":"Administrator Server",
|
||||||
|
"moderator":"Echipă Moderare",
|
||||||
|
"support":"Echipă Suport",
|
||||||
|
"member":"Membru"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"Selectează tichetul tău",
|
||||||
|
"selectRole":"Selectează rolul tău",
|
||||||
|
"selectOption":"Selectează opțiunea ta"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"Urgent",
|
||||||
|
"veryHigh":"Foarte Ridicată",
|
||||||
|
"high":"Ridicată",
|
||||||
|
"normal":"Normală",
|
||||||
|
"low":"Scăzută",
|
||||||
|
"veryLow":"Foarte Scăzută",
|
||||||
|
"none":"Niciuna"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+580
-437
File diff suppressed because it is too large
Load Diff
+541
-411
File diff suppressed because it is too large
Load Diff
+536
-406
File diff suppressed because it is too large
Load Diff
+148
-18
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["Redactado","Josuens"],
|
"translators":["Redactado","Josuens"],
|
||||||
"lastedited":"22/08/2024",
|
"lastedited":"16/02/2026",
|
||||||
"language":"Spanish",
|
"language":"Spanish",
|
||||||
"automated":false
|
"automated":false
|
||||||
},
|
},
|
||||||
@@ -31,6 +31,14 @@
|
|||||||
"stringContains":"¡Esta cadena necesita contener {0}!",
|
"stringContains":"¡Esta cadena necesita contener {0}!",
|
||||||
"stringChoices":"¡Esta cadena no puede ser uno de los siguientes valores: {0}!",
|
"stringChoices":"¡Esta cadena no puede ser uno de los siguientes valores: {0}!",
|
||||||
"stringRegex":"¡La cadena no es válida!",
|
"stringRegex":"¡La cadena no es válida!",
|
||||||
|
"stringInvertedContains":"¡Esta cadena no puede contener {0}!",
|
||||||
|
"stringLowercase":"¡Esta cadena debe escribirse solo en minúsculas!",
|
||||||
|
"stringUppercase":"¡Esta cadena debe escribirse solo en mayúsculas!",
|
||||||
|
"stringSpecialCharacters":"¡Esta cadena no puede contener caracteres especiales! (solo a-z, 0-9 y espacio)",
|
||||||
|
"stringNoSpaces":"¡Esta cadena no puede contener espacios!",
|
||||||
|
"stringCapitalWord":"¡Se recomienda que cada palabra de esta cadena comience con mayúscula!",
|
||||||
|
"stringCapitalSentence":"¡Parece que algunas oraciones de esta cadena no comienzan con mayúscula!",
|
||||||
|
"stringPunctuation":"¡Parece que la oración de esta cadena no termina con un signo de puntuación!",
|
||||||
|
|
||||||
"numberTooShort":"¡Este número no puede ser menor que {0}!",
|
"numberTooShort":"¡Este número no puede ser menor que {0}!",
|
||||||
"numberTooLong":"¡Este número no puede ser mayor que {0}!",
|
"numberTooLong":"¡Este número no puede ser mayor que {0}!",
|
||||||
@@ -48,6 +56,8 @@
|
|||||||
"numberNegative":"¡Este número no puede ser negativo!",
|
"numberNegative":"¡Este número no puede ser negativo!",
|
||||||
"numberPositive":"¡Este número no puede ser positivo!",
|
"numberPositive":"¡Este número no puede ser positivo!",
|
||||||
"numberZero":"¡Este número no puede ser cero!",
|
"numberZero":"¡Este número no puede ser cero!",
|
||||||
|
"numberNan":"¡Este número no puede ser NaN (Not A Number)!",
|
||||||
|
"numberInvertedContains":"¡Este número no puede contener {0}!",
|
||||||
|
|
||||||
"booleanTrue":"¡Este valor no puede ser positivo!",
|
"booleanTrue":"¡Este valor no puede ser positivo!",
|
||||||
"booleanFalse":"¡Este valor no puede ser negativo!",
|
"booleanFalse":"¡Este valor no puede ser negativo!",
|
||||||
@@ -69,8 +79,8 @@
|
|||||||
"emojiCustom":"¡Este emoji no puede ser un emoji personalizado de discord!",
|
"emojiCustom":"¡Este emoji no puede ser un emoji personalizado de discord!",
|
||||||
"emojiInvalid":"¡Este es un emoji inválido!",
|
"emojiInvalid":"¡Este es un emoji inválido!",
|
||||||
"urlInvalid":"¡Esta URL es inválida!",
|
"urlInvalid":"¡Esta URL es inválida!",
|
||||||
"urlInvalidHttp":"¡Esta URL solo puede usar el protocolo https:/\/!",
|
"urlInvalidHttp":"¡Esta URL solo puede usar el protocolo https://!",
|
||||||
"urlInvalidProtocol":"¡Esta URL solo puede usar los protocolos http:// y https:/\/!",
|
"urlInvalidProtocol":"¡Esta URL solo puede usar los protocolos http:// y https://!",
|
||||||
"urlInvalidHostname":"¡Esta URL tiene un nombre de host no permitido!",
|
"urlInvalidHostname":"¡Esta URL tiene un nombre de host no permitido!",
|
||||||
"urlInvalidExtension":"¡Esta URL tiene una extensión inválida! Elige entre: {0}!",
|
"urlInvalidExtension":"¡Esta URL tiene una extensión inválida! Elige entre: {0}!",
|
||||||
"urlInvalidPath":"¡Esta URL tiene una ruta inválida!",
|
"urlInvalidPath":"¡Esta URL tiene una ruta inválida!",
|
||||||
@@ -89,7 +99,8 @@
|
|||||||
"invalidButton":"¡Este botón necesita al menos un {0} o un {1}!",
|
"invalidButton":"¡Este botón necesita al menos un {0} o un {1}!",
|
||||||
"unusedOption":"¡La opción {0} no se usa en ningún lugar!",
|
"unusedOption":"¡La opción {0} no se usa en ningún lugar!",
|
||||||
"unusedQuestion":"¡La pregunta {0} no se usa en ningún lugar!",
|
"unusedQuestion":"¡La pregunta {0} no se usa en ningún lugar!",
|
||||||
"dropdownOption":"¡Este panel de botóns solo puede contener opciones de tipo 'ticket'!"
|
"dropdownOption":"¡Este panel de botóns solo puede contener opciones de tipo 'ticket'!",
|
||||||
|
"customInvalidVersion":"¡La versión especificada en tu configuración no coincide! ¡Asegúrate de haber actualizado la configuración a la versión más reciente!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
@@ -132,6 +143,7 @@
|
|||||||
"blacklistAddDm":"Agregado a la Lista Negra",
|
"blacklistAddDm":"Agregado a la Lista Negra",
|
||||||
"blacklistRemoveDm":"Eliminado de la Lista Negra",
|
"blacklistRemoveDm":"Eliminado de la Lista Negra",
|
||||||
"clear":"Tickets Limpiados",
|
"clear":"Tickets Limpiados",
|
||||||
|
"clearTickets":"Limpiar Tickets",
|
||||||
"roles":"Roles Actualizados",
|
"roles":"Roles Actualizados",
|
||||||
|
|
||||||
"autoclose":"Ticket Cerrado Automáticamente",
|
"autoclose":"Ticket Cerrado Automáticamente",
|
||||||
@@ -139,7 +151,12 @@
|
|||||||
"autocloseDisabled":"Cierre Automático Deshabilitado",
|
"autocloseDisabled":"Cierre Automático Deshabilitado",
|
||||||
"autodelete":"Ticket Eliminado Automáticamente",
|
"autodelete":"Ticket Eliminado Automáticamente",
|
||||||
"autodeleteEnabled":"Eliminación Automática Habilitada",
|
"autodeleteEnabled":"Eliminación Automática Habilitada",
|
||||||
"autodeleteDisabled":"Eliminación Automática Deshabilitada"
|
"autodeleteDisabled":"Eliminación Automática Deshabilitada",
|
||||||
|
|
||||||
|
"topicSet":"Tema Cambiado",
|
||||||
|
"prioritySet":"Prioridad Cambiada",
|
||||||
|
"priorityGet":"Prioridad del Ticket",
|
||||||
|
"transfer":"Ticket Transferido"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create":"¡Tu ticket ha sido creado! Haz click en el botón abajo para verlo!",
|
"create":"¡Tu ticket ha sido creado! Haz click en el botón abajo para verlo!",
|
||||||
@@ -180,7 +197,12 @@
|
|||||||
"ticketMessageLimit":"¡Solo puedes crear {0} ticket(s) al mismo tiempo!",
|
"ticketMessageLimit":"¡Solo puedes crear {0} ticket(s) al mismo tiempo!",
|
||||||
"ticketMessageAutoclose":"¡Este ticket se cerrará automáticamente cuando esté inactivo durante {0}h!",
|
"ticketMessageAutoclose":"¡Este ticket se cerrará automáticamente cuando esté inactivo durante {0}h!",
|
||||||
"ticketMessageAutodelete":"¡Este ticket se eliminará automáticamente cuando esté inactivo durante {0} días!",
|
"ticketMessageAutodelete":"¡Este ticket se eliminará automáticamente cuando esté inactivo durante {0} días!",
|
||||||
"panelReady":"¡Puedes encontrar el panel a continuación!\n¡Este mensaje ahora puede ser eliminado!"
|
"panelReady":"¡El panel está disponible en el mensaje siguiente!\n¡Este mensaje ahora puede ser eliminado!",
|
||||||
|
|
||||||
|
"topicSet":"¡El tema del canal ha sido cambiado correctamente por {0}!",
|
||||||
|
"prioritySet":"¡La prioridad del ticket ha sido cambiada a {0} por {1} correctamente!",
|
||||||
|
"priorityGet":"La prioridad actual de este ticket es {0}.",
|
||||||
|
"transfer":"¡La propiedad del ticket ha sido transferida de {0} a {1} por {2} correctamente!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder":"¿Por qué cerraste este ticket?",
|
"closePlaceholder":"¿Por qué cerraste este ticket?",
|
||||||
@@ -220,7 +242,14 @@
|
|||||||
"blacklistRemoveLog":"{0} fue eliminado de la lista negra por {1}!",
|
"blacklistRemoveLog":"{0} fue eliminado de la lista negra por {1}!",
|
||||||
"blacklistAddDm":"¡Has sido incluido en la lista negra en nuestro servidor!\n¡A partir de ahora, no puedes crear un ticket!",
|
"blacklistAddDm":"¡Has sido incluido en la lista negra en nuestro servidor!\n¡A partir de ahora, no puedes crear un ticket!",
|
||||||
"blacklistRemoveDm":"¡Has sido eliminado de la lista negra en nuestro servidor!\n¡Ahora puedes volver a crear tickets!",
|
"blacklistRemoveDm":"¡Has sido eliminado de la lista negra en nuestro servidor!\n¡Ahora puedes volver a crear tickets!",
|
||||||
"clearLog":"¡{0} tickets han sido eliminados por {1}!"
|
"clearLog":"¡{0} tickets han sido eliminados por {1}!",
|
||||||
|
|
||||||
|
"transferLog":"¡La propiedad de este ticket ha sido transferida de {0} a {1} por {2}!",
|
||||||
|
"transferDm":"¡La propiedad de tu ticket ha sido transferida de {0} a {1} en nuestro servidor!",
|
||||||
|
"prioritySetLog":"¡La prioridad de este ticket ha sido cambiada a {0} por {1}!",
|
||||||
|
"prioritySetDm":"¡La prioridad de tu ticket ha sido cambiada a {0} en nuestro servidor!",
|
||||||
|
"roleUpdateLog":"¡{0} ha actualizado sus roles!",
|
||||||
|
"roleUpdateDm":"¡Tus roles en nuestro servidor han sido actualizados!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
@@ -241,7 +270,19 @@
|
|||||||
"retry":"Reintentar",
|
"retry":"Reintentar",
|
||||||
"continue":"Eliminar sin transcripción",
|
"continue":"Eliminar sin transcripción",
|
||||||
"backup":"Crear respaldo de la transcripción",
|
"backup":"Crear respaldo de la transcripción",
|
||||||
"error":"Algo salió mal al intentar subir la transcripción.\n¿Qué desearías hacer?\n\nEste ticket no será eliminado hasta que presiones uno de los botones."
|
"error":"Algo salió mal al intentar subir la transcripción.\n¿Qué desearías hacer?\n\nEste ticket no será eliminado hasta que presiones uno de los botones.",
|
||||||
|
"title":"Error de Transcripción"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"MENSAJES",
|
||||||
|
"embedTitle":"EMBED",
|
||||||
|
"fileTitle":"ARCHIVO",
|
||||||
|
"fieldsTitle":"CAMPOS",
|
||||||
|
"reactionsTitle":"REACCIONES",
|
||||||
|
"statsTitle":"ESTADÍSTICAS",
|
||||||
|
"emptyContent":"<el contenido está vacío>",
|
||||||
|
"noTitle":"<sin-título>",
|
||||||
|
"noDesc":"<sin-descripción>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
@@ -257,7 +298,8 @@
|
|||||||
"unknownPanel":"Panel Desconocido",
|
"unknownPanel":"Panel Desconocido",
|
||||||
"notInGuild":"No está en el Servidor",
|
"notInGuild":"No está en el Servidor",
|
||||||
"channelRename":"No es posible renombrar el canal",
|
"channelRename":"No es posible renombrar el canal",
|
||||||
"busy":"El ticket está siendo procesado"
|
"busy":"El ticket está siendo procesado",
|
||||||
|
"permissionError":"Error de Permisos"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo":"¡Contacta al propietario de este bot para obtener más información!",
|
"askForInfo":"¡Contacta al propietario de este bot para obtener más información!",
|
||||||
@@ -280,7 +322,10 @@
|
|||||||
"notInGuild":"¡Este {0} no funciona en DM! ¡Por favor, inténtalo de nuevo en un servidor!",
|
"notInGuild":"¡Este {0} no funciona en DM! ¡Por favor, inténtalo de nuevo en un servidor!",
|
||||||
"channelRename":"Debido a los límites de velocidad de discord, actualmente es imposible para el bot renombrar el canal. El canal se renombrará automáticamente en 10 minutos si el bot no se reinicia.",
|
"channelRename":"Debido a los límites de velocidad de discord, actualmente es imposible para el bot renombrar el canal. El canal se renombrará automáticamente en 10 minutos si el bot no se reinicia.",
|
||||||
"channelRenameSource":"La fuente de este error es: {0}",
|
"channelRenameSource":"La fuente de este error es: {0}",
|
||||||
"busy":"¡No se puede usar este {0}!\nEl ticket está siendo procesado actualmente por el bot.\n\n¡Por favor, inténtalo de nuevo en unos segundos!"
|
"busy":"¡No se puede usar este {0}!\nEl ticket está siendo procesado actualmente por el bot.\n\n¡Por favor, inténtalo de nuevo en unos segundos!",
|
||||||
|
"closeBeforeMessage":"Este ticket no puede cerrarse/eliminarse antes de que un usuario haya enviado un mensaje.",
|
||||||
|
"closeBeforeAdminMessage":"Este ticket no puede cerrarse/eliminarse antes de que un administrador de tickets o miembro del equipo de soporte haya enviado un mensaje.",
|
||||||
|
"unableToCreateTicket":"No puedes crear un ticket."
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex":"¡El valor no coincide con el patrón!",
|
"stringRegex":"¡El valor no coincide con el patrón!",
|
||||||
@@ -331,7 +376,6 @@
|
|||||||
"added":"Agregado",
|
"added":"Agregado",
|
||||||
"removed":"Eliminado",
|
"removed":"Eliminado",
|
||||||
"filter":"Filtrar",
|
"filter":"Filtrar",
|
||||||
"claimedBy":"Reclamado Por {0}",
|
|
||||||
"method":"Método",
|
"method":"Método",
|
||||||
"type":"Tipo",
|
"type":"Tipo",
|
||||||
"blacklisted":"En La Lista Negra",
|
"blacklisted":"En La Lista Negra",
|
||||||
@@ -352,10 +396,30 @@
|
|||||||
"version":"Versión",
|
"version":"Versión",
|
||||||
"name":"Nombre",
|
"name":"Nombre",
|
||||||
"role":"Rol",
|
"role":"Rol",
|
||||||
"status":"Estado",
|
"status":"ESTADO",
|
||||||
"claimed":"Reclamado",
|
"claimed":"Reclamado",
|
||||||
"pinned":"Anclado",
|
"pinned":"Anclado",
|
||||||
"creationDate":"Fecha De Creación"
|
"creationDate":"Fecha De Creación",
|
||||||
|
|
||||||
|
"noone":"NADIE",
|
||||||
|
"open":"ABIERTO",
|
||||||
|
"closed":"CERRADO",
|
||||||
|
"priority":"PRIORIDAD",
|
||||||
|
"participants":"PARTICIPANTES",
|
||||||
|
"yes":"SÍ",
|
||||||
|
"no":"NO",
|
||||||
|
"option":"OPCIÓN",
|
||||||
|
"topic":"TEMA",
|
||||||
|
"uptime":"TIEMPO DE ACTIVIDAD DEL SISTEMA",
|
||||||
|
"messages":"MENSAJES",
|
||||||
|
"embeds":"EMBEDS",
|
||||||
|
"files":"ARCHIVOS",
|
||||||
|
"components":"COMPONENTES",
|
||||||
|
"cooldown":"COOLDOWN",
|
||||||
|
"maxTickets":"MÁX TICKETS",
|
||||||
|
"admins":"ADMINS",
|
||||||
|
"roles":"ROLES",
|
||||||
|
"size":"TAMAÑO"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text":"texto",
|
"text":"texto",
|
||||||
@@ -384,6 +448,7 @@
|
|||||||
"unclaim":"Libera un ticket.",
|
"unclaim":"Libera un ticket.",
|
||||||
"pin":"Ancla un ticket.",
|
"pin":"Ancla un ticket.",
|
||||||
"unpin":"Desancla un ticket.",
|
"unpin":"Desancla un ticket.",
|
||||||
|
|
||||||
"move":"Mueve un ticket.",
|
"move":"Mueve un ticket.",
|
||||||
"moveId":"El identificador del opción al que quieres mover.",
|
"moveId":"El identificador del opción al que quieres mover.",
|
||||||
"rename":"Renombra un ticket.",
|
"rename":"Renombra un ticket.",
|
||||||
@@ -392,6 +457,7 @@
|
|||||||
"addUser":"El usuario a añadir.",
|
"addUser":"El usuario a añadir.",
|
||||||
"remove":"Elimina un usuario de un ticket.",
|
"remove":"Elimina un usuario de un ticket.",
|
||||||
"removeUser":"El usuario a eliminar.",
|
"removeUser":"El usuario a eliminar.",
|
||||||
|
|
||||||
"blacklist":"Administra la lista negra de tickets.",
|
"blacklist":"Administra la lista negra de tickets.",
|
||||||
"blacklistView":"Ver una lista de la lista negra actual.",
|
"blacklistView":"Ver una lista de la lista negra actual.",
|
||||||
"blacklistAdd":"Añade un usuario a la lista negra.",
|
"blacklistAdd":"Añade un usuario a la lista negra.",
|
||||||
@@ -405,6 +471,7 @@
|
|||||||
"statsUserUser":"El usuario a ver.",
|
"statsUserUser":"El usuario a ver.",
|
||||||
"statsTicket":"Ver las estadísticas de un ticket en el servidor.",
|
"statsTicket":"Ver las estadísticas de un ticket en el servidor.",
|
||||||
"statsTicketTicket":"El ticket a ver.",
|
"statsTicketTicket":"El ticket a ver.",
|
||||||
|
|
||||||
"clear":"Eliminar varios tickets al mismo tiempo. Se puede especificar un filtro opcional.",
|
"clear":"Eliminar varios tickets al mismo tiempo. Se puede especificar un filtro opcional.",
|
||||||
"clearFilter":"valor",
|
"clearFilter":"valor",
|
||||||
"clearFilters":{
|
"clearFilters":{
|
||||||
@@ -417,6 +484,7 @@
|
|||||||
"unpin":"Desanclado",
|
"unpin":"Desanclado",
|
||||||
"autoclose":"Cerrado automáticamente"
|
"autoclose":"Cerrado automáticamente"
|
||||||
},
|
},
|
||||||
|
|
||||||
"autoclose":"Administra el cierre automático en un ticket.",
|
"autoclose":"Administra el cierre automático en un ticket.",
|
||||||
"autocloseDisable":"Desactiva el cierre automático en este ticket.",
|
"autocloseDisable":"Desactiva el cierre automático en este ticket.",
|
||||||
"autocloseEnable":"Activa el cierre automático en este ticket.",
|
"autocloseEnable":"Activa el cierre automático en este ticket.",
|
||||||
@@ -424,7 +492,19 @@
|
|||||||
"autodelete":"Administra la eliminación automática en un ticket.",
|
"autodelete":"Administra la eliminación automática en un ticket.",
|
||||||
"autodeleteDisable":"Desactiva la eliminación automática en este ticket.",
|
"autodeleteDisable":"Desactiva la eliminación automática en este ticket.",
|
||||||
"autodeleteEnable":"Activa la eliminación automática en este ticket.",
|
"autodeleteEnable":"Activa la eliminación automática en este ticket.",
|
||||||
"autodeleteEnableTime":"La cantidad de días que este ticket necesita estar inactivo para eliminarlo."
|
"autodeleteEnableTime":"La cantidad de días que este ticket necesita estar inactivo para eliminarlo.",
|
||||||
|
|
||||||
|
"topic":"Gestiona el tema del canal del ticket.",
|
||||||
|
"topicSet":"Establece el tema del canal del ticket.",
|
||||||
|
"topicValue":"El nuevo tema del canal.",
|
||||||
|
"topicList":"Obtén una lista de todos los tickets con su tema y estadísticas.",
|
||||||
|
"priority":"Gestiona la prioridad del ticket.",
|
||||||
|
"prioritySet":"Establece la prioridad del ticket.",
|
||||||
|
"priorityValue":"La prioridad del canal.",
|
||||||
|
"priorityGet":"Obtén la prioridad del ticket.",
|
||||||
|
"priorityList":"Obtén una lista de todos los tickets con su estado de prioridad.",
|
||||||
|
"transfer":"Transfiere la propiedad del ticket de un usuario a otro.",
|
||||||
|
"transferUser":"El usuario al que transferir."
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"help":"Obtén una lista de todos los comandos disponibles.",
|
"help":"Obtén una lista de todos los comandos disponibles.",
|
||||||
@@ -452,7 +532,16 @@
|
|||||||
"autocloseDisable":"Desactiva el cierre automático en este ticket.",
|
"autocloseDisable":"Desactiva el cierre automático en este ticket.",
|
||||||
"autocloseEnable":"Activa el cierre automático en este ticket.",
|
"autocloseEnable":"Activa el cierre automático en este ticket.",
|
||||||
"autodeleteDisable":"Desactiva la eliminación automática en este ticket.",
|
"autodeleteDisable":"Desactiva la eliminación automática en este ticket.",
|
||||||
"autodeleteEnable":"Activa la eliminación automática en este ticket."
|
"autodeleteEnable":"Activa la eliminación automática en este ticket.",
|
||||||
|
"categories":{
|
||||||
|
"general":"Comandos Generales",
|
||||||
|
"basicTicket":"Comandos Básicos de Tickets",
|
||||||
|
"advancedTicket":"Comandos Avanzados de Tickets",
|
||||||
|
"userTicket":"Comandos de Tickets de Usuario",
|
||||||
|
"admin":"Comandos de Administrador",
|
||||||
|
"advanced":"Comandos Avanzados",
|
||||||
|
"extra":"Comandos Extra"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes":{
|
"scopes":{
|
||||||
@@ -460,7 +549,8 @@
|
|||||||
"system":"Estadisticas del Sistema",
|
"system":"Estadisticas del Sistema",
|
||||||
"user":"Estadísticas del Usuario",
|
"user":"Estadísticas del Usuario",
|
||||||
"ticket":"Ticket Stats",
|
"ticket":"Ticket Stats",
|
||||||
"participants":"Participantes"
|
"participants":"Participantes",
|
||||||
|
"messages":"Mensajes"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated":"Tickets Creados",
|
"ticketsCreated":"Tickets Creados",
|
||||||
@@ -472,7 +562,47 @@
|
|||||||
"ticketsPinned":"Tickets Anclados",
|
"ticketsPinned":"Tickets Anclados",
|
||||||
"ticketsMoved":"Tickets Movidos",
|
"ticketsMoved":"Tickets Movidos",
|
||||||
"usersBlacklisted":"Usuarios En Lista Negra",
|
"usersBlacklisted":"Usuarios En Lista Negra",
|
||||||
"transcriptsCreated":"Transcripciones Creadas"
|
"transcriptsCreated":"Transcripciones Creadas",
|
||||||
|
"ticketsAutodeleted":"Tickets Eliminados Automáticamente",
|
||||||
|
"ticketsTransferred":"Tickets Transferidos",
|
||||||
|
"ticketVolume":"Volumen de Tickets",
|
||||||
|
"averageTickets":"Promedio de Tickets/Usuario",
|
||||||
|
"currentTickets":"Tickets Actuales",
|
||||||
|
"age":"Antigüedad del Ticket",
|
||||||
|
"responseTime":"Tiempo de Respuesta",
|
||||||
|
"resolutionTime":"Tiempo de Resolución",
|
||||||
|
"createdOn":"Creado El",
|
||||||
|
"createdBy":"Creado Por",
|
||||||
|
"closedOn":"Cerrado El",
|
||||||
|
"closedBy":"Cerrado Por",
|
||||||
|
"claimedOn":"Reclamado El",
|
||||||
|
"claimedBy":"Reclamado Por",
|
||||||
|
"pinnedOn":"Fijado El",
|
||||||
|
"pinnedBy":"Fijado Por",
|
||||||
|
"deletedOn":"Eliminado El",
|
||||||
|
"deletedBy":"Eliminado Por"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"Desarrollador",
|
||||||
|
"serverOwner":"Propietario del Servidor",
|
||||||
|
"serverAdmin":"Administrador del Servidor",
|
||||||
|
"moderator":"Equipo de Moderación",
|
||||||
|
"support":"Equipo de Soporte",
|
||||||
|
"member":"Miembro"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"Selecciona tu ticket",
|
||||||
|
"selectRole":"Selecciona tu rol",
|
||||||
|
"selectOption":"Selecciona tu opción"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"Urgente",
|
||||||
|
"veryHigh":"Muy Alta",
|
||||||
|
"high":"Alta",
|
||||||
|
"normal":"Normal",
|
||||||
|
"low":"Baja",
|
||||||
|
"veryLow":"Muy Baja",
|
||||||
|
"none":"Ninguna"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+566
-436
File diff suppressed because it is too large
Load Diff
+549
-419
File diff suppressed because it is too large
Load Diff
+534
-404
File diff suppressed because it is too large
Load Diff
+567
-436
File diff suppressed because it is too large
Load Diff
+155
-25
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.7",
|
"otversion":"v4.1.3",
|
||||||
"translators":["Anderskiy"],
|
"translators":["Anderskiy"],
|
||||||
"lastedited":"31/08/2024",
|
"lastedited":"16/02/2026",
|
||||||
"language":"Ukrainian",
|
"language":"Ukrainian",
|
||||||
"automated":false
|
"automated":false
|
||||||
},
|
},
|
||||||
@@ -31,6 +31,14 @@
|
|||||||
"stringContains":"Цей рядок повинен мати {0}!",
|
"stringContains":"Цей рядок повинен мати {0}!",
|
||||||
"stringChoices":"Цей рядок може мати лише одне з наступних значень: {0}!",
|
"stringChoices":"Цей рядок може мати лише одне з наступних значень: {0}!",
|
||||||
"stringRegex":"Цей рядок є неправильним!",
|
"stringRegex":"Цей рядок є неправильним!",
|
||||||
|
"stringInvertedContains":"Цей рядок не може містити {0}!",
|
||||||
|
"stringLowercase":"Цей рядок має бути написаний лише маленькими літерами!",
|
||||||
|
"stringUppercase":"Цей рядок має бути написаний лише великими літерами!",
|
||||||
|
"stringSpecialCharacters":"Цей рядок не може містити спеціальні символи! (тільки a-z, 0-9 та пробіл)",
|
||||||
|
"stringNoSpaces":"Цей рядок не може містити пробілів!",
|
||||||
|
"stringCapitalWord":"Рекомендується, щоб кожне слово в цьому рядку починалося з великої літери!",
|
||||||
|
"stringCapitalSentence":"Схоже, деякі речення в цьому рядку не починаються з великої літери!",
|
||||||
|
"stringPunctuation":"Схоже, що речення в цьому рядку не закінчується знаком пунктуації!",
|
||||||
|
|
||||||
"numberTooShort":"Це число не може бути коротшим за {0} символів!",
|
"numberTooShort":"Це число не може бути коротшим за {0} символів!",
|
||||||
"numberTooLong":"Це число не може бути довшим за {0} символів!",
|
"numberTooLong":"Це число не може бути довшим за {0} символів!",
|
||||||
@@ -48,17 +56,19 @@
|
|||||||
"numberNegative":"Це число не може бути від'ємним!",
|
"numberNegative":"Це число не може бути від'ємним!",
|
||||||
"numberPositive":"Це число не може бути додатнім!",
|
"numberPositive":"Це число не може бути додатнім!",
|
||||||
"numberZero":"Це число не може дорівнювати нулю!",
|
"numberZero":"Це число не може дорівнювати нулю!",
|
||||||
|
"numberNan":"Це число не може бути NaN (не число)!",
|
||||||
|
"numberInvertedContains":"Це число не може містити {0}!",
|
||||||
|
|
||||||
"booleanTrue": "Цей булевий вираз не може бути істинним!",
|
"booleanTrue":"Цей булевий вираз не може бути істинним!",
|
||||||
"booleanFalse": "Цей булевий вираз не може бути хибним!",
|
"booleanFalse":"Цей булевий вираз не може бути хибним!",
|
||||||
|
|
||||||
"arrayEmptyDisabled": "Цей масив не може бути порожнім!",
|
"arrayEmptyDisabled":"Цей масив не може бути порожнім!",
|
||||||
"arrayEmptyRequired": "Цей масив повинен бути порожнім!",
|
"arrayEmptyRequired":"Цей масив повинен бути порожнім!",
|
||||||
"arrayTooShort": "Цей масив повинен мати довжину не менше {0}!",
|
"arrayTooShort":"Цей масив повинен мати довжину не менше {0}!",
|
||||||
"arrayTooLong": "Цей масив повинен мати довжину не більше {0}!",
|
"arrayTooLong":"Цей масив повинен мати довжину не більше {0}!",
|
||||||
"arrayLengthInvalid": "Цей масив повинен мати довжину {0}!",
|
"arrayLengthInvalid":"Цей масив повинен мати довжину {0}!",
|
||||||
"arrayInvalidTypes": "Цей масив може містити тільки такі типи: {0}!",
|
"arrayInvalidTypes":"Цей масив може містити тільки такі типи: {0}!",
|
||||||
"arrayDouble": "Цей масив не допускає повторення одного й того ж значення двічі!",
|
"arrayDouble":"Цей масив не допускає повторення одного й того ж значення двічі!",
|
||||||
|
|
||||||
"discordInvalidId":"Це недійсний ідентифікатор discord {0}!",
|
"discordInvalidId":"Це недійсний ідентифікатор discord {0}!",
|
||||||
"discordInvalidIdOptions":"Це недійсний ідентифікатор discord {0}! Але ви також можете використати один з цих: {1}!",
|
"discordInvalidIdOptions":"Це недійсний ідентифікатор discord {0}! Але ви також можете використати один з цих: {1}!",
|
||||||
@@ -89,7 +99,8 @@
|
|||||||
"invalidButton":"Ця кнопка повинна мати принаймні {0} або {1}!",
|
"invalidButton":"Ця кнопка повинна мати принаймні {0} або {1}!",
|
||||||
"unusedOption":"Опція {0} ніде не використовується!",
|
"unusedOption":"Опція {0} ніде не використовується!",
|
||||||
"unusedQuestion":"Питання {0} ніде не використовується!",
|
"unusedQuestion":"Питання {0} ніде не використовується!",
|
||||||
"dropdownOption":"Панель з увімкненим випадаючим списком може містити лише опції типу «тікет»!"
|
"dropdownOption":"Панель з увімкненим випадаючим списком може містити лише опції типу «тікет»!",
|
||||||
|
"customInvalidVersion":"Вказана версія у вашій конфігурації не збігається! Переконайтеся, що ви оновили конфігурацію до останньої версії!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"actions":{
|
"actions":{
|
||||||
@@ -132,6 +143,7 @@
|
|||||||
"blacklistAddDm":"Додати до чорного списку",
|
"blacklistAddDm":"Додати до чорного списку",
|
||||||
"blacklistRemoveDm":"Видалити з чорного списку",
|
"blacklistRemoveDm":"Видалити з чорного списку",
|
||||||
"clear":"Тікети відалено",
|
"clear":"Тікети відалено",
|
||||||
|
"clearTickets":"Очистити Тікети",
|
||||||
"roles":"Ролі оновлено",
|
"roles":"Ролі оновлено",
|
||||||
|
|
||||||
"autoclose":"Тікет автоматично закрито",
|
"autoclose":"Тікет автоматично закрито",
|
||||||
@@ -139,7 +151,12 @@
|
|||||||
"autocloseDisabled":"Автозакриття відключено",
|
"autocloseDisabled":"Автозакриття відключено",
|
||||||
"autodelete":"Тікет автовидаленно",
|
"autodelete":"Тікет автовидаленно",
|
||||||
"autodeleteEnabled":"Автовидалення увімкнено",
|
"autodeleteEnabled":"Автовидалення увімкнено",
|
||||||
"autodeleteDisabled":"Автовидалення відключено"
|
"autodeleteDisabled":"Автовидалення відключено",
|
||||||
|
|
||||||
|
"topicSet":"Тему змінено",
|
||||||
|
"prioritySet":"Пріоритет змінено",
|
||||||
|
"priorityGet":"Пріоритет Тікету",
|
||||||
|
"transfer":"Тікет передано"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"create":"Ваш тікет був створений. Натисніть кнопку нижче, щоб отримати доступ до нього!",
|
"create":"Ваш тікет був створений. Натисніть кнопку нижче, щоб отримати доступ до нього!",
|
||||||
@@ -180,7 +197,12 @@
|
|||||||
"ticketMessageLimit":"Одночасно можна створити лише {0} тікетів!",
|
"ticketMessageLimit":"Одночасно можна створити лише {0} тікетів!",
|
||||||
"ticketMessageAutoclose":"Цей тикет буде автоматично закрито, якщо він буде неактивним протягом {0}ч!",
|
"ticketMessageAutoclose":"Цей тикет буде автоматично закрито, якщо він буде неактивним протягом {0}ч!",
|
||||||
"ticketMessageAutodelete":"Цей тикет буде автоматично видалено, якщо він буде неактивним протягом {0} днів!",
|
"ticketMessageAutodelete":"Цей тикет буде автоматично видалено, якщо він буде неактивним протягом {0} днів!",
|
||||||
"panelReady":"Панель можна знайти нижче!\nЦе повідомлення буде видалено!"
|
"panelReady":"Панель доступна у наступному повідомленні!\nЦе повідомлення тепер можна видалити!",
|
||||||
|
|
||||||
|
"topicSet":"Тему каналу успішно змінив {0}!",
|
||||||
|
"prioritySet":"Пріоритет тікету успішно змінено на {0} користувачем {1}!",
|
||||||
|
"priorityGet":"Поточний пріоритет цього тікету: {0}.",
|
||||||
|
"transfer":"Власність тікету успішно передано від {0} до {1} користувачем {2}!"
|
||||||
},
|
},
|
||||||
"modal":{
|
"modal":{
|
||||||
"closePlaceholder":"Чому ви закрили тікет?",
|
"closePlaceholder":"Чому ви закрили тікет?",
|
||||||
@@ -220,7 +242,14 @@
|
|||||||
"blacklistRemoveLog":"{0} було видалено з чорного списку {1}!",
|
"blacklistRemoveLog":"{0} було видалено з чорного списку {1}!",
|
||||||
"blacklistAddDm":"Вас було додано до чорного списку на нашому сервері!\nВідтепер ви не можете створити тікет!",
|
"blacklistAddDm":"Вас було додано до чорного списку на нашому сервері!\nВідтепер ви не можете створити тікет!",
|
||||||
"blacklistRemoveDm":"Вас було видалено з чорного списку на нашому сервер!\nВідтепер ви знову можете створювати тікети!",
|
"blacklistRemoveDm":"Вас було видалено з чорного списку на нашому сервер!\nВідтепер ви знову можете створювати тікети!",
|
||||||
"clearLog":"{0} тікети було видалено {1}!"
|
"clearLog":"{0} тікети було видалено {1}!",
|
||||||
|
|
||||||
|
"transferLog":"Власність цього тікету передано від {0} до {1} користувачем {2}!",
|
||||||
|
"transferDm":"Власність вашого тікету передано від {0} до {1} на нашому сервері!",
|
||||||
|
"prioritySetLog":"Пріоритет цього тікету змінено на {0} користувачем {1}!",
|
||||||
|
"prioritySetDm":"Пріоритет вашого тікету змінено на {0} на нашому сервері!",
|
||||||
|
"roleUpdateLog":"{0} оновив свої ролі!",
|
||||||
|
"roleUpdateDm":"Ваші ролі на нашому сервері оновлено!"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
@@ -241,7 +270,19 @@
|
|||||||
"retry":"Спробуйте ще раз.",
|
"retry":"Спробуйте ще раз.",
|
||||||
"continue":"Видалення без транскрипції",
|
"continue":"Видалення без транскрипції",
|
||||||
"backup":"Створити резервну копію транскрипту",
|
"backup":"Створити резервну копію транскрипту",
|
||||||
"error":"Під час спроби створити транскрипт щось пішло не так.\n\nЩо ви хочете зробити?\n\nЦей тікет не буде видалено, доки ви не натиснете одну з цих кнопок."
|
"error":"Під час спроби створити транскрипт щось пішло не так.\n\nЩо ви хочете зробити?\n\nЦей тікет не буде видалено, доки ви не натиснете одну з цих кнопок.",
|
||||||
|
"title":"Помилка транскрипта"
|
||||||
|
},
|
||||||
|
"text":{
|
||||||
|
"messagesTitle":"ПОВІДОМЛЕННЯ",
|
||||||
|
"embedTitle":"EMBED",
|
||||||
|
"fileTitle":"ФАЙЛ",
|
||||||
|
"fieldsTitle":"ПОЛЯ",
|
||||||
|
"reactionsTitle":"РЕАКЦІЇ",
|
||||||
|
"statsTitle":"СТАТИСТИКА",
|
||||||
|
"emptyContent":"<контент порожній>",
|
||||||
|
"noTitle":"<немає заголовка>",
|
||||||
|
"noDesc":"<немає опису>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors":{
|
"errors":{
|
||||||
@@ -257,7 +298,8 @@
|
|||||||
"unknownPanel":"Невідома панель",
|
"unknownPanel":"Невідома панель",
|
||||||
"notInGuild":"Відсутний на сервері",
|
"notInGuild":"Відсутний на сервері",
|
||||||
"channelRename":"Неможливо перейменовати канал",
|
"channelRename":"Неможливо перейменовати канал",
|
||||||
"busy":"Тікет зайнято"
|
"busy":"Тікет зайнято",
|
||||||
|
"permissionError":"Помилка дозволу"
|
||||||
},
|
},
|
||||||
"descriptions":{
|
"descriptions":{
|
||||||
"askForInfo":"Зв'яжіться з власником цього бота для отримання додаткової інформації!",
|
"askForInfo":"Зв'яжіться з власником цього бота для отримання додаткової інформації!",
|
||||||
@@ -280,7 +322,10 @@
|
|||||||
"notInGuild":"Це {0} не працює у ПП! Будь ласка, спробуйте ще раз на сервері!",
|
"notInGuild":"Це {0} не працює у ПП! Будь ласка, спробуйте ще раз на сервері!",
|
||||||
"channelRename":"Через обмеження швидкості дискорду бот наразі не може перейменувати канал. Канал буде автоматично перейменовано через 10 хвилин, якщо бота не буде перезавантажено.",
|
"channelRename":"Через обмеження швидкості дискорду бот наразі не може перейменувати канал. Канал буде автоматично перейменовано через 10 хвилин, якщо бота не буде перезавантажено.",
|
||||||
"channelRenameSource":"Джерело цієї помилки: {0}",
|
"channelRenameSource":"Джерело цієї помилки: {0}",
|
||||||
"busy":"Неможливо використати цей {0}!\nТікет наразі обробляється ботом.\n\nБудь ласка, повторіть спробу через кілька секунд!"
|
"busy":"Неможливо використати цей {0}!\nТікет наразі обробляється ботом.\n\nБудь ласка, повторіть спробу через кілька секунд!",
|
||||||
|
"closeBeforeMessage":"Цей тікет не можна закрити/видалити до того, як користувач надішле повідомлення.",
|
||||||
|
"closeBeforeAdminMessage":"Цей тікет не можна закрити/видалити до того, як адміністратор тікетів або член підтримки надішле повідомлення.",
|
||||||
|
"unableToCreateTicket":"Ви не можете створити тікет."
|
||||||
},
|
},
|
||||||
"optionInvalidReasons":{
|
"optionInvalidReasons":{
|
||||||
"stringRegex":"Значення не відповідає шаблону!",
|
"stringRegex":"Значення не відповідає шаблону!",
|
||||||
@@ -331,7 +376,6 @@
|
|||||||
"added":"Додано",
|
"added":"Додано",
|
||||||
"removed":"Видалено",
|
"removed":"Видалено",
|
||||||
"filter":"Фільтер",
|
"filter":"Фільтер",
|
||||||
"claimedBy":"Запрошено {0}",
|
|
||||||
"method":"Метод",
|
"method":"Метод",
|
||||||
"type":"Тип",
|
"type":"Тип",
|
||||||
"blacklisted":"У ЧС",
|
"blacklisted":"У ЧС",
|
||||||
@@ -352,10 +396,30 @@
|
|||||||
"version":"Версія",
|
"version":"Версія",
|
||||||
"name":"Ім'я",
|
"name":"Ім'я",
|
||||||
"role":"Роль",
|
"role":"Роль",
|
||||||
"status":"Статус",
|
"status":"СТАТУС",
|
||||||
"claimed":"Запрошено",
|
"claimed":"Запрошено",
|
||||||
"pinned":"Закріплено",
|
"pinned":"Закріплено",
|
||||||
"creationDate":"Дата створення"
|
"creationDate":"Дата створення",
|
||||||
|
|
||||||
|
"noone":"Ніхто",
|
||||||
|
"open":"ВІДКРИТИЙ",
|
||||||
|
"closed":"ЗАКРИТО",
|
||||||
|
"priority":"ПРІОРИТЕТ",
|
||||||
|
"participants":"УЧАСНИКИ",
|
||||||
|
"yes":"Так",
|
||||||
|
"no":"Ні",
|
||||||
|
"option":"ВАРІАНТ",
|
||||||
|
"topic":"ТЕМА",
|
||||||
|
"uptime":"Час роботи системи",
|
||||||
|
"messages":"ПОВІДОМЛЕННЯ",
|
||||||
|
"embeds":"EMBED",
|
||||||
|
"files":"ФАЙЛИ",
|
||||||
|
"components":"КОМПОНЕНТИ",
|
||||||
|
"cooldown":"Затримка",
|
||||||
|
"maxTickets":"Макс. тікетів",
|
||||||
|
"admins":"АДМІНИ",
|
||||||
|
"roles":"РОЛІ",
|
||||||
|
"size":"РОЗМІР"
|
||||||
},
|
},
|
||||||
"lowercase":{
|
"lowercase":{
|
||||||
"text":"текст",
|
"text":"текст",
|
||||||
@@ -384,6 +448,7 @@
|
|||||||
"unclaim":"Відмовитися від тікету.",
|
"unclaim":"Відмовитися від тікету.",
|
||||||
"pin":"Закріпіть тікет.",
|
"pin":"Закріпіть тікет.",
|
||||||
"unpin":"Відкріпіть тікет.",
|
"unpin":"Відкріпіть тікет.",
|
||||||
|
|
||||||
"move":"Перемістіть тікет.",
|
"move":"Перемістіть тікет.",
|
||||||
"moveId":"Ідентифікатор параметр, на який ви хочете перейти.",
|
"moveId":"Ідентифікатор параметр, на який ви хочете перейти.",
|
||||||
"rename":"Перейменувати тікет.",
|
"rename":"Перейменувати тікет.",
|
||||||
@@ -392,6 +457,7 @@
|
|||||||
"addUser":"Учасник, якого потрібно додати.",
|
"addUser":"Учасник, якого потрібно додати.",
|
||||||
"remove":"Видалити учасника з тікета.",
|
"remove":"Видалити учасника з тікета.",
|
||||||
"removeUser":"Учасник, якого потрібно видалити",
|
"removeUser":"Учасник, якого потрібно видалити",
|
||||||
|
|
||||||
"blacklist":"Керування чорним списком тікетів.",
|
"blacklist":"Керування чорним списком тікетів.",
|
||||||
"blacklistView":"Переглянути список поточного чорного списку.",
|
"blacklistView":"Переглянути список поточного чорного списку.",
|
||||||
"blacklistAdd":"Додати учасника до чорного списку.",
|
"blacklistAdd":"Додати учасника до чорного списку.",
|
||||||
@@ -405,6 +471,7 @@
|
|||||||
"statsUserUser":"Учасник для перегляду.",
|
"statsUserUser":"Учасник для перегляду.",
|
||||||
"statsTicket":"Перегляд статистики тікета на сервері.",
|
"statsTicket":"Перегляд статистики тікета на сервері.",
|
||||||
"statsTicketTicket":"Тікет для перегляду.",
|
"statsTicketTicket":"Тікет для перегляду.",
|
||||||
|
|
||||||
"clear":"Видалення декількох тікетів одночасно.",
|
"clear":"Видалення декількох тікетів одночасно.",
|
||||||
"clearFilter":"Фільтр для очищення квитків.",
|
"clearFilter":"Фільтр для очищення квитків.",
|
||||||
"clearFilters":{
|
"clearFilters":{
|
||||||
@@ -417,6 +484,7 @@
|
|||||||
"unpin":"Відкріплені",
|
"unpin":"Відкріплені",
|
||||||
"autoclose":"Авто-закриті"
|
"autoclose":"Авто-закриті"
|
||||||
},
|
},
|
||||||
|
|
||||||
"autoclose":"Керуйте автозакриттям у тікеті.",
|
"autoclose":"Керуйте автозакриттям у тікеті.",
|
||||||
"autocloseDisable":"Вимкніть автозакриття в цьому тікеті.",
|
"autocloseDisable":"Вимкніть автозакриття в цьому тікеті.",
|
||||||
"autocloseEnable":"Увімкніть автозакриття в цьому тикеті.",
|
"autocloseEnable":"Увімкніть автозакриття в цьому тикеті.",
|
||||||
@@ -424,7 +492,19 @@
|
|||||||
"autodelete":"Керуйте автовидаленням у тікеті.",
|
"autodelete":"Керуйте автовидаленням у тікеті.",
|
||||||
"autodeleteDisable":"Вимкніть автовидалення в цьому тікеті.",
|
"autodeleteDisable":"Вимкніть автовидалення в цьому тікеті.",
|
||||||
"autodeleteEnable":"Ввімкніть автовидалення в цьому тікеті.",
|
"autodeleteEnable":"Ввімкніть автовидалення в цьому тікеті.",
|
||||||
"autodeleteEnableTime":"Кількість днів."
|
"autodeleteEnableTime":"Кількість днів.",
|
||||||
|
|
||||||
|
"topic":"Керування темою каналу тікету.",
|
||||||
|
"topicSet":"Встановити тему каналу тікету.",
|
||||||
|
"topicValue":"Нова тема каналу.",
|
||||||
|
"topicList":"Отримати список усіх тікетів з їхніми темами та статистикою.",
|
||||||
|
"priority":"Керування пріоритетом тікету.",
|
||||||
|
"prioritySet":"Встановити пріоритет тікету.",
|
||||||
|
"priorityValue":"Пріоритет каналу.",
|
||||||
|
"priorityGet":"Отримати пріоритет тікету.",
|
||||||
|
"priorityList":"Отримати список усіх тікетів з їхнім пріоритетом.",
|
||||||
|
"transfer":"Передати власність тікету від одного користувача іншому.",
|
||||||
|
"transferUser":"Користувач, якому передати."
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"help":"Отримайте список усіх доступних команд.",
|
"help":"Отримайте список усіх доступних команд.",
|
||||||
@@ -452,7 +532,16 @@
|
|||||||
"autocloseDisable":"Вимкніть автозакриття в цьому тікеті.",
|
"autocloseDisable":"Вимкніть автозакриття в цьому тікеті.",
|
||||||
"autocloseEnable":"Ввімкніть автозакриття в цьому тікеті.",
|
"autocloseEnable":"Ввімкніть автозакриття в цьому тікеті.",
|
||||||
"autodeleteDisable":"Вимкніть автовидалення в цьому тікеті.",
|
"autodeleteDisable":"Вимкніть автовидалення в цьому тікеті.",
|
||||||
"autodeleteEnable":"Ввімкніть автовидалення в цьому тікеті."
|
"autodeleteEnable":"Ввімкніть автовидалення в цьому тікеті.",
|
||||||
|
"categories":{
|
||||||
|
"general":"Загальні команди",
|
||||||
|
"basicTicket":"Базові команди тікету",
|
||||||
|
"advancedTicket":"Розширені команди тікету",
|
||||||
|
"userTicket":"Команди користувача тікету",
|
||||||
|
"admin":"Адмінські команди",
|
||||||
|
"advanced":"Розширені команди",
|
||||||
|
"extra":"Додаткові команди"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"stats":{
|
"stats":{
|
||||||
"scopes":{
|
"scopes":{
|
||||||
@@ -460,7 +549,8 @@
|
|||||||
"system":"Системна статистика",
|
"system":"Системна статистика",
|
||||||
"user":"Статистика учасника",
|
"user":"Статистика учасника",
|
||||||
"ticket":"Статистика тікета",
|
"ticket":"Статистика тікета",
|
||||||
"participants":"Учасники"
|
"participants":"Учасники",
|
||||||
|
"messages":"Повідомлення"
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"ticketsCreated":"Тікетів створено",
|
"ticketsCreated":"Тікетів створено",
|
||||||
@@ -472,7 +562,47 @@
|
|||||||
"ticketsPinned":"Тікетів закріплено",
|
"ticketsPinned":"Тікетів закріплено",
|
||||||
"ticketsMoved":"Тікетів переміщено",
|
"ticketsMoved":"Тікетів переміщено",
|
||||||
"usersBlacklisted":"Учасників заблоковано",
|
"usersBlacklisted":"Учасників заблоковано",
|
||||||
"transcriptsCreated":"Транскриптів створено"
|
"transcriptsCreated":"Транскриптів створено",
|
||||||
|
"ticketsAutodeleted":"Тікети видалено автоматично",
|
||||||
|
"ticketsTransferred":"Тікети передано",
|
||||||
|
"ticketVolume":"Обсяг тікетів",
|
||||||
|
"averageTickets":"Середнє тікетів/користувач",
|
||||||
|
"currentTickets":"Поточні тікети",
|
||||||
|
"age":"Вік тікету",
|
||||||
|
"responseTime":"Час відповіді",
|
||||||
|
"resolutionTime":"Час вирішення",
|
||||||
|
"createdOn":"Створено",
|
||||||
|
"createdBy":"Створив",
|
||||||
|
"closedOn":"Закрито",
|
||||||
|
"closedBy":"Закрив",
|
||||||
|
"claimedOn":"Прийнято",
|
||||||
|
"claimedBy":"Прийняв",
|
||||||
|
"pinnedOn":"Закріплено",
|
||||||
|
"pinnedBy":"Закріпив",
|
||||||
|
"deletedOn":"Видалено",
|
||||||
|
"deletedBy":"Видалив"
|
||||||
|
},
|
||||||
|
"roles":{
|
||||||
|
"developer":"Розробник",
|
||||||
|
"serverOwner":"Власник сервера",
|
||||||
|
"serverAdmin":"Адмін сервера",
|
||||||
|
"moderator":"Команда модераторів",
|
||||||
|
"support":"Команда підтримки",
|
||||||
|
"member":"Учасник"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"panel":{
|
||||||
|
"selectTicket":"Виберіть ваш тікет",
|
||||||
|
"selectRole":"Виберіть вашу роль",
|
||||||
|
"selectOption":"Виберіть ваш варіант"
|
||||||
|
},
|
||||||
|
"priorities":{
|
||||||
|
"urgent":"Терміново",
|
||||||
|
"veryHigh":"Дуже високий",
|
||||||
|
"high":"Високий",
|
||||||
|
"normal":"Звичайний",
|
||||||
|
"low":"Низький",
|
||||||
|
"veryLow":"Дуже низький",
|
||||||
|
"none":"Немає"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+562
-420
File diff suppressed because it is too large
Load Diff
+14
-9
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "open-ticket",
|
"name": "open-ticket",
|
||||||
"author": "DJdj Development",
|
"author": "DJdj Development",
|
||||||
"version": "4.0.7",
|
"version": "4.1.3",
|
||||||
"description": "The most advanced open-source discord ticket bot with HTML transcripts, plugins, questions, claiming, pinning & more! Using discord.js v14 & JSON database! ",
|
"description": "The most advanced open-source discord ticket bot with HTML transcripts, plugins, questions, claiming, pinning & more! Using discord.js v14 & JSON database! ",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"ticket-bot",
|
"ticket-bot",
|
||||||
@@ -14,20 +14,25 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "node index.js --compile-only",
|
"build": "node index.js --compile-only",
|
||||||
"start": "node index.js",
|
"start": "node index.js",
|
||||||
|
"setup": "node index.js --cli",
|
||||||
"startnc": "node index.js --no-compile",
|
"startnc": "node index.js --no-compile",
|
||||||
"test": "node index.js --dev-config --dev-database",
|
"test": "node index.js --dev-config --dev-database --soft-plugins",
|
||||||
"testnc": "node index.js --no-compile --dev-config --dev-database",
|
"testsetup": "node index.js --cli --dev-config --dev-database --soft-plugins",
|
||||||
"docs": "npx typedoc --options .docs/typedoc-config.json && node .docs/createDocs.js"
|
"testnc": "node index.js --no-compile --dev-config --dev-database --soft-plugins",
|
||||||
|
"docs": "npx typedoc --options .docs/typedoc-config.json && node .docs/createDocs.js",
|
||||||
|
"mergelang": "node .docs/mergeTranslations.js"
|
||||||
},
|
},
|
||||||
"type": "commonjs",
|
"type": "commonjs",
|
||||||
"license": "GPL-3.0-only",
|
"license": "GPL-3.0-only",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@discordjs/rest": "^2.4.2",
|
"@discordjs/rest": "^2.6.0",
|
||||||
"@types/node": "^22.5.0",
|
"@types/node": "^22.5.0",
|
||||||
"ansis": "^2.3.0",
|
"@types/terminal-kit": "^2.5.7",
|
||||||
"discord.js": "^14.19.3",
|
"ansis": "^4.2.0",
|
||||||
"formatted-json-stringify": "^1.1.0",
|
"discord.js": "^14.24.2",
|
||||||
"typescript": "^5.5.4"
|
"formatted-json-stringify": "^1.2.1",
|
||||||
|
"terminal-kit": "^3.1.2",
|
||||||
|
"typescript": "^5.9.3"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
"id":"example-plugin",
|
"id":"example-plugin",
|
||||||
"version":"1.0.0",
|
"version":"1.0.0",
|
||||||
"startFile":"index.ts",
|
"startFile":"index.ts",
|
||||||
|
"supportedVersions":["OTv4.0.x","OTv4.1.x","OTv4.2.x"],
|
||||||
|
|
||||||
"enabled":false,
|
"enabled":false,
|
||||||
"priority":0,
|
"priority":0,
|
||||||
@@ -14,6 +15,7 @@
|
|||||||
|
|
||||||
"details":{
|
"details":{
|
||||||
"author":"DJj123dj",
|
"author":"DJj123dj",
|
||||||
|
"contributors":[],
|
||||||
"shortDescription":"A simple template for an Open Ticket v4 plugin!",
|
"shortDescription":"A simple template for an Open Ticket v4 plugin!",
|
||||||
"longDescription":"A simple example of an Open Ticket v4 plugin!",
|
"longDescription":"A simple example of an Open Ticket v4 plugin!",
|
||||||
"imageUrl":"",
|
"imageUrl":"",
|
||||||
|
|||||||
@@ -54,6 +54,9 @@ export const registerActions = async () => {
|
|||||||
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:add-message").build(source,{guild,channel,user,ticket,reason,data})).message)
|
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:add-message").build(source,{guild,channel,user,ticket,reason,data})).message)
|
||||||
ticket.get("opendiscord:busy").value = false
|
ticket.get("opendiscord:busy").value = false
|
||||||
await opendiscord.events.get("afterTicketUserAdded").emit([ticket,user,data,channel,reason])
|
await opendiscord.events.get("afterTicketUserAdded").emit([ticket,user,data,channel,reason])
|
||||||
|
|
||||||
|
//update channel topic
|
||||||
|
await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null})
|
||||||
}),
|
}),
|
||||||
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user,ticket,reason,data} = params
|
const {guild,channel,user,ticket,reason,data} = params
|
||||||
|
|||||||
@@ -65,6 +65,9 @@ export const registerActions = async () => {
|
|||||||
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:claim-message").build(source,{guild,channel,user,ticket,reason})).message)
|
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:claim-message").build(source,{guild,channel,user,ticket,reason})).message)
|
||||||
ticket.get("opendiscord:busy").value = false
|
ticket.get("opendiscord:busy").value = false
|
||||||
await opendiscord.events.get("afterTicketClaimed").emit([ticket,user,channel,reason])
|
await opendiscord.events.get("afterTicketClaimed").emit([ticket,user,channel,reason])
|
||||||
|
|
||||||
|
//update channel topic
|
||||||
|
await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null})
|
||||||
}),
|
}),
|
||||||
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user,ticket,reason} = params
|
const {guild,channel,user,ticket,reason} = params
|
||||||
|
|||||||
+69
-72
@@ -5,6 +5,7 @@ import {opendiscord, api, utilities} from "../index"
|
|||||||
import * as discord from "discord.js"
|
import * as discord from "discord.js"
|
||||||
|
|
||||||
const generalConfig = opendiscord.configs.get("opendiscord:general")
|
const generalConfig = opendiscord.configs.get("opendiscord:general")
|
||||||
|
const lang = opendiscord.languages
|
||||||
|
|
||||||
export const registerActions = async () => {
|
export const registerActions = async () => {
|
||||||
opendiscord.actions.add(new api.ODAction("opendiscord:close-ticket"))
|
opendiscord.actions.add(new api.ODAction("opendiscord:close-ticket"))
|
||||||
@@ -17,10 +18,15 @@ export const registerActions = async () => {
|
|||||||
|
|
||||||
//update ticket
|
//update ticket
|
||||||
ticket.get("opendiscord:closed").value = true
|
ticket.get("opendiscord:closed").value = true
|
||||||
if (source == "autoclose") ticket.get("opendiscord:autoclosed").value = true
|
|
||||||
ticket.get("opendiscord:open").value = false
|
|
||||||
ticket.get("opendiscord:closed-by").value = user.id
|
ticket.get("opendiscord:closed-by").value = user.id
|
||||||
ticket.get("opendiscord:closed-on").value = new Date().getTime()
|
ticket.get("opendiscord:closed-on").value = new Date().getTime()
|
||||||
|
|
||||||
|
ticket.get("opendiscord:reopened").value = false
|
||||||
|
ticket.get("opendiscord:reopened-by").value = null
|
||||||
|
ticket.get("opendiscord:reopened-on").value = null
|
||||||
|
|
||||||
|
if (source == "autoclose") ticket.get("opendiscord:autoclosed").value = true
|
||||||
|
ticket.get("opendiscord:open").value = false
|
||||||
ticket.get("opendiscord:busy").value = true
|
ticket.get("opendiscord:busy").value = true
|
||||||
|
|
||||||
//update stats
|
//update stats
|
||||||
@@ -123,6 +129,9 @@ export const registerActions = async () => {
|
|||||||
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:close-message").build(source,{guild,channel,user,ticket,reason})).message)
|
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:close-message").build(source,{guild,channel,user,ticket,reason})).message)
|
||||||
ticket.get("opendiscord:busy").value = false
|
ticket.get("opendiscord:busy").value = false
|
||||||
await opendiscord.events.get("afterTicketClosed").emit([ticket,user,channel,reason])
|
await opendiscord.events.get("afterTicketClosed").emit([ticket,user,channel,reason])
|
||||||
|
|
||||||
|
//update channel topic
|
||||||
|
await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null})
|
||||||
}),
|
}),
|
||||||
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user,ticket,reason} = params
|
const {guild,channel,user,ticket,reason} = params
|
||||||
@@ -160,61 +169,55 @@ export const registerVerifyBars = async () => {
|
|||||||
//CLOSE TICKET TICKET MESSAGE
|
//CLOSE TICKET TICKET MESSAGE
|
||||||
opendiscord.verifybars.add(new api.ODVerifyBar("opendiscord:close-ticket-ticket-message",opendiscord.builders.messages.getSafe("opendiscord:verifybar-ticket-message"),!generalConfig.data.system.disableVerifyBars))
|
opendiscord.verifybars.add(new api.ODVerifyBar("opendiscord:close-ticket-ticket-message",opendiscord.builders.messages.getSafe("opendiscord:verifybar-ticket-message"),!generalConfig.data.system.disableVerifyBars))
|
||||||
opendiscord.verifybars.get("opendiscord:close-ticket-ticket-message").success.add([
|
opendiscord.verifybars.get("opendiscord:close-ticket-ticket-message").success.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
|
||||||
const permissionMode = generalConfig.data.system.permissions.close
|
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else if (permissionMode == "everyone") return
|
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:close-ticket",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:close-ticket",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {user,member,channel,guild} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.close,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check is in guild/server
|
||||||
if (!guild){
|
if (!guild){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
const ticket = opendiscord.tickets.get(channel.id)
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
if (!ticket || channel.isDMBased()){
|
if (!ticket || channel.isDMBased()){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when already closed
|
//return when already closed
|
||||||
if (ticket.get("opendiscord:closed").value){
|
if (ticket.get("opendiscord:closed").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,error:opendiscord.languages.getTranslation("errors.actionInvalid.close"),layout:"simple"}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,error:lang.getTranslation("errors.actionInvalid.close"),layout:"simple"}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when busy
|
//return when busy
|
||||||
if (ticket.get("opendiscord:busy").value){
|
if (ticket.get("opendiscord:busy").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//return when not allowed because of missing messages
|
||||||
|
if (!permsResult.isAdmin && (!generalConfig.data.system.allowCloseBeforeMessage || !generalConfig.data.system.allowCloseBeforeAdminMessage)){
|
||||||
|
const analysis = await opendiscord.transcripts.collector.ticketUserMessagesAnalysis(ticket,guild,channel)
|
||||||
|
if (analysis && !generalConfig.data.system.allowCloseBeforeMessage && analysis.totalMessages < 1){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,layout:"simple",error:lang.getTranslation("errors.descriptions.closeBeforeMessage"),customTitle:lang.getTranslation("errors.titles.noPermissions")}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
if (analysis && !generalConfig.data.system.allowCloseBeforeAdminMessage && analysis.adminMessages < 1){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,layout:"simple",error:lang.getTranslation("errors.descriptions.closeBeforeAdminMessage"),customTitle:lang.getTranslation("errors.titles.noPermissions")}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//start closing ticket
|
//start closing ticket
|
||||||
if (params.data == "reason"){
|
if (params.data == "reason"){
|
||||||
//close with reason
|
//close with reason
|
||||||
@@ -247,61 +250,55 @@ export const registerVerifyBars = async () => {
|
|||||||
//CLOSE TICKET REOPEN MESSAGE
|
//CLOSE TICKET REOPEN MESSAGE
|
||||||
opendiscord.verifybars.add(new api.ODVerifyBar("opendiscord:close-ticket-reopen-message",opendiscord.builders.messages.getSafe("opendiscord:verifybar-reopen-message"),!generalConfig.data.system.disableVerifyBars))
|
opendiscord.verifybars.add(new api.ODVerifyBar("opendiscord:close-ticket-reopen-message",opendiscord.builders.messages.getSafe("opendiscord:verifybar-reopen-message"),!generalConfig.data.system.disableVerifyBars))
|
||||||
opendiscord.verifybars.get("opendiscord:close-ticket-reopen-message").success.add([
|
opendiscord.verifybars.get("opendiscord:close-ticket-reopen-message").success.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
|
||||||
const permissionMode = generalConfig.data.system.permissions.close
|
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else if (permissionMode == "everyone") return
|
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:close-ticket",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:close-ticket",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {user,member,channel,guild} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.close,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check is in guild/server
|
||||||
if (!guild){
|
if (!guild){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
const ticket = opendiscord.tickets.get(channel.id)
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
if (!ticket || channel.isDMBased()){
|
if (!ticket || channel.isDMBased()){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when already closed
|
//return when already closed
|
||||||
if (ticket.get("opendiscord:closed").value){
|
if (ticket.get("opendiscord:closed").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,error:opendiscord.languages.getTranslation("errors.actionInvalid.close"),layout:"simple"}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,error:lang.getTranslation("errors.actionInvalid.close"),layout:"simple"}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when busy
|
//return when busy
|
||||||
if (ticket.get("opendiscord:busy").value){
|
if (ticket.get("opendiscord:busy").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//return when not allowed because of missing messages
|
||||||
|
if (!permsResult.isAdmin && (!generalConfig.data.system.allowCloseBeforeMessage || !generalConfig.data.system.allowCloseBeforeAdminMessage)){
|
||||||
|
const analysis = await opendiscord.transcripts.collector.ticketUserMessagesAnalysis(ticket,guild,channel)
|
||||||
|
if (analysis && !generalConfig.data.system.allowCloseBeforeMessage && analysis.totalMessages < 1){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,layout:"simple",error:lang.getTranslation("errors.descriptions.closeBeforeMessage"),customTitle:lang.getTranslation("errors.titles.noPermissions")}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
if (analysis && !generalConfig.data.system.allowCloseBeforeAdminMessage && analysis.adminMessages < 1){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,layout:"simple",error:lang.getTranslation("errors.descriptions.closeBeforeAdminMessage"),customTitle:lang.getTranslation("errors.titles.noPermissions")}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//start closing ticket
|
//start closing ticket
|
||||||
if (params.data == "reason"){
|
if (params.data == "reason"){
|
||||||
//close with reason
|
//close with reason
|
||||||
|
|||||||
+48
-20
@@ -5,6 +5,7 @@ import {opendiscord, api, utilities} from "../index"
|
|||||||
import * as discord from "discord.js"
|
import * as discord from "discord.js"
|
||||||
|
|
||||||
const generalConfig = opendiscord.configs.get("opendiscord:general")
|
const generalConfig = opendiscord.configs.get("opendiscord:general")
|
||||||
|
const lang = opendiscord.languages
|
||||||
|
|
||||||
export const registerActions = async () => {
|
export const registerActions = async () => {
|
||||||
opendiscord.actions.add(new api.ODAction("opendiscord:create-ticket"))
|
opendiscord.actions.add(new api.ODAction("opendiscord:create-ticket"))
|
||||||
@@ -19,8 +20,8 @@ export const registerActions = async () => {
|
|||||||
const channelPrefix = option.get("opendiscord:channel-prefix").value
|
const channelPrefix = option.get("opendiscord:channel-prefix").value
|
||||||
const channelCategory = option.get("opendiscord:channel-category").value
|
const channelCategory = option.get("opendiscord:channel-category").value
|
||||||
const channelBackupCategory = option.get("opendiscord:channel-category-backup").value
|
const channelBackupCategory = option.get("opendiscord:channel-category-backup").value
|
||||||
const channelDescription = option.get("opendiscord:channel-description").value
|
const channelTopicText = option.get("opendiscord:channel-topic").value
|
||||||
const channelSuffix = await opendiscord.options.suffix.getSuffixFromOption(option,user)
|
const channelSuffix = await opendiscord.options.suffix.getSuffixFromOption(option,user,guild)
|
||||||
const channelName = channelPrefix+channelSuffix
|
const channelName = channelPrefix+channelSuffix
|
||||||
|
|
||||||
//handle category
|
//handle category
|
||||||
@@ -73,7 +74,7 @@ export const registerActions = async () => {
|
|||||||
permissions.push({
|
permissions.push({
|
||||||
type:discord.OverwriteType.Role,
|
type:discord.OverwriteType.Role,
|
||||||
id:admin,
|
id:admin,
|
||||||
allow:["ViewChannel","SendMessages","AddReactions","AttachFiles","SendPolls","ReadMessageHistory","ManageMessages"],
|
allow:["ViewChannel","SendMessages","AddReactions","AttachFiles","SendPolls","ReadMessageHistory","ManageMessages","PinMessages","EmbedLinks"],
|
||||||
deny:[]
|
deny:[]
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@@ -82,7 +83,7 @@ export const registerActions = async () => {
|
|||||||
permissions.push({
|
permissions.push({
|
||||||
type:discord.OverwriteType.Role,
|
type:discord.OverwriteType.Role,
|
||||||
id:admin,
|
id:admin,
|
||||||
allow:["ViewChannel","SendMessages","AddReactions","AttachFiles","SendPolls","ReadMessageHistory","ManageMessages"],
|
allow:["ViewChannel","SendMessages","AddReactions","AttachFiles","SendPolls","ReadMessageHistory","ManageMessages","PinMessages","EmbedLinks"],
|
||||||
deny:[]
|
deny:[]
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@@ -93,29 +94,16 @@ export const registerActions = async () => {
|
|||||||
type:discord.OverwriteType.Role,
|
type:discord.OverwriteType.Role,
|
||||||
id:admin,
|
id:admin,
|
||||||
allow:["ViewChannel","ReadMessageHistory"],
|
allow:["ViewChannel","ReadMessageHistory"],
|
||||||
deny:["SendMessages","AddReactions","AttachFiles","SendPolls"]
|
deny:["SendMessages","AddReactions","AttachFiles","SendPolls","PinMessages"]
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
permissions.push({
|
permissions.push({
|
||||||
type:discord.OverwriteType.Member,
|
type:discord.OverwriteType.Member,
|
||||||
id:user.id,
|
id:user.id,
|
||||||
allow:["ViewChannel","SendMessages","AddReactions","AttachFiles","SendPolls","ReadMessageHistory"],
|
allow:["ViewChannel","SendMessages","AddReactions","AttachFiles","SendPolls","ReadMessageHistory","EmbedLinks","PinMessages"],
|
||||||
deny:[]
|
deny:[]
|
||||||
})
|
})
|
||||||
|
|
||||||
//create channel
|
|
||||||
const channel = await guild.channels.create({
|
|
||||||
type:discord.ChannelType.GuildText,
|
|
||||||
name:channelName,
|
|
||||||
nsfw:false,
|
|
||||||
topic:channelDescription,
|
|
||||||
parent:category,
|
|
||||||
reason:"Ticket Created By "+user.displayName,
|
|
||||||
permissionOverwrites:permissions
|
|
||||||
})
|
|
||||||
|
|
||||||
await opendiscord.events.get("afterTicketChannelCreated").emit([option,channel,user])
|
|
||||||
|
|
||||||
//create participants
|
//create participants
|
||||||
const participants: {type:"role"|"user",id:string}[] = []
|
const participants: {type:"role"|"user",id:string}[] = []
|
||||||
permissions.forEach((permission,index) => {
|
permissions.forEach((permission,index) => {
|
||||||
@@ -125,12 +113,42 @@ export const registerActions = async () => {
|
|||||||
participants.push({type,id})
|
participants.push({type,id})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
//manage slowmode
|
||||||
|
const slowMode = option.get("opendiscord:slowmode-enabled").value ? option.get("opendiscord:slowmode-seconds").value : undefined
|
||||||
|
|
||||||
|
//handle channel topic
|
||||||
|
const channelTopics: string[] = []
|
||||||
|
if (generalConfig.data.system.channelTopic.showOptionName) channelTopics.push(option.get("opendiscord:name").value)
|
||||||
|
if (generalConfig.data.system.channelTopic.showOptionDescription) channelTopics.push(option.get("opendiscord:description").value)
|
||||||
|
if (generalConfig.data.system.channelTopic.showOptionTopic) channelTopics.push(channelTopicText)
|
||||||
|
if (generalConfig.data.system.channelTopic.showPriority) channelTopics.push("**"+lang.getTranslation("params.uppercase.priority")+":** "+opendiscord.priorities.get("opendiscord:none").renderDisplayName())
|
||||||
|
if (generalConfig.data.system.channelTopic.showClosed) channelTopics.push("**"+lang.getTranslation("params.uppercase.status")+":** "+lang.getTranslation("params.uppercase.open"))
|
||||||
|
if (generalConfig.data.system.channelTopic.showClaimed) channelTopics.push("**"+lang.getTranslation("stats.properties.claimedBy")+":** "+lang.getTranslation("params.uppercase.noone"))
|
||||||
|
if (generalConfig.data.system.channelTopic.showPinned) channelTopics.push("**"+lang.getTranslation("params.uppercase.pinned")+":** "+lang.getTranslation("params.uppercase.no"))
|
||||||
|
if (generalConfig.data.system.channelTopic.showCreator) channelTopics.push("**"+lang.getTranslation("params.uppercase.creator")+":** "+discord.userMention(user.id))
|
||||||
|
if (generalConfig.data.system.channelTopic.showParticipants) channelTopics.push("**"+lang.getTranslation("params.uppercase.participants")+":** "+participants.map((p) => (p.type == "user") ? discord.userMention(p.id) : discord.roleMention(p.id)).join(", "))
|
||||||
|
|
||||||
|
//create channel
|
||||||
|
const channel = await guild.channels.create({
|
||||||
|
type:discord.ChannelType.GuildText,
|
||||||
|
name:channelName,
|
||||||
|
nsfw:false,
|
||||||
|
topic:(channelTopics.length > 0) ? channelTopics.join(" • ") : undefined,
|
||||||
|
parent:category,
|
||||||
|
reason:"Ticket Created By "+user.displayName,
|
||||||
|
permissionOverwrites:permissions,
|
||||||
|
rateLimitPerUser:slowMode
|
||||||
|
})
|
||||||
|
|
||||||
|
await opendiscord.events.get("afterTicketChannelCreated").emit([option,channel,user])
|
||||||
|
|
||||||
//create ticket
|
//create ticket
|
||||||
const ticket = new api.ODTicket(channel.id,option,[
|
const ticket = new api.ODTicket(channel.id,option,[
|
||||||
new api.ODTicketData("opendiscord:busy",false),
|
new api.ODTicketData("opendiscord:busy",false),
|
||||||
new api.ODTicketData("opendiscord:ticket-message",null),
|
new api.ODTicketData("opendiscord:ticket-message",null),
|
||||||
new api.ODTicketData("opendiscord:participants",participants),
|
new api.ODTicketData("opendiscord:participants",participants),
|
||||||
new api.ODTicketData("opendiscord:channel-suffix",channelSuffix),
|
new api.ODTicketData("opendiscord:channel-suffix",channelSuffix),
|
||||||
|
new api.ODTicketData("opendiscord:previous-creators",[]),
|
||||||
|
|
||||||
new api.ODTicketData("opendiscord:open",true),
|
new api.ODTicketData("opendiscord:open",true),
|
||||||
new api.ODTicketData("opendiscord:opened-by",user.id),
|
new api.ODTicketData("opendiscord:opened-by",user.id),
|
||||||
@@ -138,6 +156,9 @@ export const registerActions = async () => {
|
|||||||
new api.ODTicketData("opendiscord:closed",false),
|
new api.ODTicketData("opendiscord:closed",false),
|
||||||
new api.ODTicketData("opendiscord:closed-by",null),
|
new api.ODTicketData("opendiscord:closed-by",null),
|
||||||
new api.ODTicketData("opendiscord:closed-on",null),
|
new api.ODTicketData("opendiscord:closed-on",null),
|
||||||
|
new api.ODTicketData("opendiscord:reopened",false),
|
||||||
|
new api.ODTicketData("opendiscord:reopened-by",null),
|
||||||
|
new api.ODTicketData("opendiscord:reopened-on",null),
|
||||||
new api.ODTicketData("opendiscord:claimed",false),
|
new api.ODTicketData("opendiscord:claimed",false),
|
||||||
new api.ODTicketData("opendiscord:claimed-by",null),
|
new api.ODTicketData("opendiscord:claimed-by",null),
|
||||||
new api.ODTicketData("opendiscord:claimed-on",null),
|
new api.ODTicketData("opendiscord:claimed-on",null),
|
||||||
@@ -155,7 +176,11 @@ export const registerActions = async () => {
|
|||||||
new api.ODTicketData("opendiscord:autodelete-enabled",option.get("opendiscord:autodelete-enable-days").value),
|
new api.ODTicketData("opendiscord:autodelete-enabled",option.get("opendiscord:autodelete-enable-days").value),
|
||||||
new api.ODTicketData("opendiscord:autodelete-days",(option.get("opendiscord:autodelete-enable-days").value ? option.get("opendiscord:autodelete-days").value : 0)),
|
new api.ODTicketData("opendiscord:autodelete-days",(option.get("opendiscord:autodelete-enable-days").value ? option.get("opendiscord:autodelete-days").value : 0)),
|
||||||
|
|
||||||
new api.ODTicketData("opendiscord:answers",answers)
|
new api.ODTicketData("opendiscord:answers",answers),
|
||||||
|
new api.ODTicketData("opendiscord:priority",-1),
|
||||||
|
new api.ODTicketData("opendiscord:topic",option.get("opendiscord:channel-topic").value),
|
||||||
|
new api.ODTicketData("opendiscord:message-sent",false),
|
||||||
|
new api.ODTicketData("opendiscord:admin-message-sent",false),
|
||||||
])
|
])
|
||||||
|
|
||||||
//manage stats
|
//manage stats
|
||||||
@@ -186,6 +211,9 @@ export const registerActions = async () => {
|
|||||||
|
|
||||||
ticket.get("opendiscord:ticket-message").value = msg.id
|
ticket.get("opendiscord:ticket-message").value = msg.id
|
||||||
|
|
||||||
|
//pin ticket message (if required)
|
||||||
|
if (generalConfig.data.system.pinFirstTicketMessage && msg.pinnable) await msg.pin("Ticket Message")
|
||||||
|
|
||||||
//manage stats
|
//manage stats
|
||||||
await opendiscord.stats.get("opendiscord:ticket").setStat("opendiscord:messages-sent",ticket.id.value,1,"increase")
|
await opendiscord.stats.get("opendiscord:ticket").setStat("opendiscord:messages-sent",ticket.id.value,1,"increase")
|
||||||
|
|
||||||
|
|||||||
+119
-116
@@ -5,6 +5,7 @@ import {opendiscord, api, utilities} from "../index"
|
|||||||
import * as discord from "discord.js"
|
import * as discord from "discord.js"
|
||||||
|
|
||||||
const generalConfig = opendiscord.configs.get("opendiscord:general")
|
const generalConfig = opendiscord.configs.get("opendiscord:general")
|
||||||
|
const lang = opendiscord.languages
|
||||||
|
|
||||||
export const registerActions = async () => {
|
export const registerActions = async () => {
|
||||||
opendiscord.actions.add(new api.ODAction("opendiscord:delete-ticket"))
|
opendiscord.actions.add(new api.ODAction("opendiscord:delete-ticket"))
|
||||||
@@ -118,56 +119,57 @@ export const registerVerifyBars = async () => {
|
|||||||
//DELETE TICKET TICKET MESSAGE
|
//DELETE TICKET TICKET MESSAGE
|
||||||
opendiscord.verifybars.add(new api.ODVerifyBar("opendiscord:delete-ticket-ticket-message",opendiscord.builders.messages.getSafe("opendiscord:verifybar-ticket-message"),!generalConfig.data.system.disableVerifyBars))
|
opendiscord.verifybars.add(new api.ODVerifyBar("opendiscord:delete-ticket-ticket-message",opendiscord.builders.messages.getSafe("opendiscord:verifybar-ticket-message"),!generalConfig.data.system.disableVerifyBars))
|
||||||
opendiscord.verifybars.get("opendiscord:delete-ticket-ticket-message").success.add([
|
opendiscord.verifybars.get("opendiscord:delete-ticket-ticket-message").success.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:delete-ticket",0,async (instance,params,source,cancel) => {
|
||||||
const permissionMode = generalConfig.data.system.permissions.delete
|
const {user,member,channel,guild} = instance
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
//check permissions
|
||||||
//no permissions
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.delete,"support",user,member,channel,guild)
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild,channel,user,permissions:["support"]}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}else if (permissionMode == "everyone") return
|
}
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
//don't allow deleteWithoutTranscript to non-global-admins when enabled
|
||||||
//no permissions
|
if (params.data == "no-transcript" && generalConfig.data.system.adminOnlyDeleteWithoutTranscript){
|
||||||
|
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild,{allowChannelRoleScope:false,allowChannelUserScope:false,allowGlobalRoleScope:true,allowGlobalUserScope:true}))){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
}
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
}
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
//check is in guild/server
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:delete-ticket",0,async (instance,params,source,cancel) => {
|
|
||||||
const {guild,channel,user} = instance
|
|
||||||
if (!guild){
|
if (!guild){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
const ticket = opendiscord.tickets.get(channel.id)
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
if (!ticket || channel.isDMBased()){
|
if (!ticket || channel.isDMBased()){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when busy
|
//return when busy
|
||||||
if (ticket.get("opendiscord:busy").value){
|
if (ticket.get("opendiscord:busy").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//return when not allowed because of missing messages
|
||||||
|
if (!permsResult.isAdmin && (!generalConfig.data.system.allowCloseBeforeMessage || !generalConfig.data.system.allowCloseBeforeAdminMessage)){
|
||||||
|
const analysis = await opendiscord.transcripts.collector.ticketUserMessagesAnalysis(ticket,guild,channel)
|
||||||
|
if (analysis && !generalConfig.data.system.allowCloseBeforeMessage && analysis.totalMessages < 1){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,layout:"simple",error:lang.getTranslation("errors.descriptions.closeBeforeMessage"),customTitle:lang.getTranslation("errors.titles.noPermissions")}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
if (analysis && !generalConfig.data.system.allowCloseBeforeAdminMessage && analysis.adminMessages < 1){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,layout:"simple",error:lang.getTranslation("errors.descriptions.closeBeforeAdminMessage"),customTitle:lang.getTranslation("errors.titles.noPermissions")}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//start deleting ticket
|
//start deleting ticket
|
||||||
if (params.data == "reason"){
|
if (params.data == "reason"){
|
||||||
//delete with reason
|
//delete with reason
|
||||||
@@ -203,56 +205,57 @@ export const registerVerifyBars = async () => {
|
|||||||
//DELETE TICKET CLOSE MESSAGE
|
//DELETE TICKET CLOSE MESSAGE
|
||||||
opendiscord.verifybars.add(new api.ODVerifyBar("opendiscord:delete-ticket-close-message",opendiscord.builders.messages.getSafe("opendiscord:verifybar-close-message"),!generalConfig.data.system.disableVerifyBars))
|
opendiscord.verifybars.add(new api.ODVerifyBar("opendiscord:delete-ticket-close-message",opendiscord.builders.messages.getSafe("opendiscord:verifybar-close-message"),!generalConfig.data.system.disableVerifyBars))
|
||||||
opendiscord.verifybars.get("opendiscord:delete-ticket-close-message").success.add([
|
opendiscord.verifybars.get("opendiscord:delete-ticket-close-message").success.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:delete-ticket",0,async (instance,params,source,cancel) => {
|
||||||
const permissionMode = generalConfig.data.system.permissions.delete
|
const {user,member,channel,guild} = instance
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
//check permissions
|
||||||
//no permissions
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.delete,"support",user,member,channel,guild)
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild,channel,user,permissions:["support"]}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}else if (permissionMode == "everyone") return
|
}
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
//don't allow deleteWithoutTranscript to non-global-admins when enabled
|
||||||
//no permissions
|
if (params.data == "no-transcript" && generalConfig.data.system.adminOnlyDeleteWithoutTranscript){
|
||||||
|
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild,{allowChannelRoleScope:false,allowChannelUserScope:false,allowGlobalRoleScope:true,allowGlobalUserScope:true}))){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
}
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
}
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
//check is in guild/server
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:delete-ticket",0,async (instance,params,source,cancel) => {
|
|
||||||
const {guild,channel,user} = instance
|
|
||||||
if (!guild){
|
if (!guild){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
const ticket = opendiscord.tickets.get(channel.id)
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
if (!ticket || channel.isDMBased()){
|
if (!ticket || channel.isDMBased()){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when busy
|
//return when busy
|
||||||
if (ticket.get("opendiscord:busy").value){
|
if (ticket.get("opendiscord:busy").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//return when not allowed because of missing messages
|
||||||
|
if (!permsResult.isAdmin && (!generalConfig.data.system.allowCloseBeforeMessage || !generalConfig.data.system.allowCloseBeforeAdminMessage)){
|
||||||
|
const analysis = await opendiscord.transcripts.collector.ticketUserMessagesAnalysis(ticket,guild,channel)
|
||||||
|
if (analysis && !generalConfig.data.system.allowCloseBeforeMessage && analysis.totalMessages < 1){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,layout:"simple",error:lang.getTranslation("errors.descriptions.closeBeforeMessage"),customTitle:lang.getTranslation("errors.titles.noPermissions")}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
if (analysis && !generalConfig.data.system.allowCloseBeforeAdminMessage && analysis.adminMessages < 1){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,layout:"simple",error:lang.getTranslation("errors.descriptions.closeBeforeAdminMessage"),customTitle:lang.getTranslation("errors.titles.noPermissions")}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//start deleting ticket
|
//start deleting ticket
|
||||||
if (params.data == "reason"){
|
if (params.data == "reason"){
|
||||||
//delete with reason
|
//delete with reason
|
||||||
@@ -292,55 +295,55 @@ export const registerVerifyBars = async () => {
|
|||||||
//DELETE TICKET REOPEN MESSAGE
|
//DELETE TICKET REOPEN MESSAGE
|
||||||
opendiscord.verifybars.add(new api.ODVerifyBar("opendiscord:delete-ticket-reopen-message",opendiscord.builders.messages.getSafe("opendiscord:verifybar-reopen-message"),!generalConfig.data.system.disableVerifyBars))
|
opendiscord.verifybars.add(new api.ODVerifyBar("opendiscord:delete-ticket-reopen-message",opendiscord.builders.messages.getSafe("opendiscord:verifybar-reopen-message"),!generalConfig.data.system.disableVerifyBars))
|
||||||
opendiscord.verifybars.get("opendiscord:delete-ticket-reopen-message").success.add([
|
opendiscord.verifybars.get("opendiscord:delete-ticket-reopen-message").success.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:delete-ticket",0,async (instance,params,source,cancel) => {
|
||||||
const permissionMode = generalConfig.data.system.permissions.delete
|
const {user,member,channel,guild} = instance
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
//check permissions
|
||||||
//no permissions
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.delete,"support",user,member,channel,guild)
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild,channel,user,permissions:["support"]}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}else if (permissionMode == "everyone") return
|
}
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
//don't allow deleteWithoutTranscript to non-global-admins when enabled
|
||||||
//no permissions
|
if (params.data == "no-transcript" && generalConfig.data.system.adminOnlyDeleteWithoutTranscript){
|
||||||
|
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild,{allowChannelRoleScope:false,allowChannelUserScope:false,allowGlobalRoleScope:true,allowGlobalUserScope:true}))){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
}
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
}
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
//check is in guild/server
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:delete-ticket",0,async (instance,params,source,cancel) => {
|
|
||||||
const {guild,channel,user} = instance
|
|
||||||
if (!guild){
|
if (!guild){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
const ticket = opendiscord.tickets.get(channel.id)
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
if (!ticket || channel.isDMBased()){
|
if (!ticket || channel.isDMBased()){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when busy
|
//return when busy
|
||||||
if (ticket.get("opendiscord:busy").value){
|
if (ticket.get("opendiscord:busy").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
//return when not allowed because of missing messages
|
||||||
|
if (!permsResult.isAdmin && (!generalConfig.data.system.allowCloseBeforeMessage || !generalConfig.data.system.allowCloseBeforeAdminMessage)){
|
||||||
|
const analysis = await opendiscord.transcripts.collector.ticketUserMessagesAnalysis(ticket,guild,channel)
|
||||||
|
if (analysis && !generalConfig.data.system.allowCloseBeforeMessage && analysis.totalMessages < 1){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,layout:"simple",error:lang.getTranslation("errors.descriptions.closeBeforeMessage"),customTitle:lang.getTranslation("errors.titles.noPermissions")}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
if (analysis && !generalConfig.data.system.allowCloseBeforeAdminMessage && analysis.adminMessages < 1){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,layout:"simple",error:lang.getTranslation("errors.descriptions.closeBeforeAdminMessage"),customTitle:lang.getTranslation("errors.titles.noPermissions")}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//start deleting ticket
|
//start deleting ticket
|
||||||
if (params.data == "reason"){
|
if (params.data == "reason"){
|
||||||
@@ -381,55 +384,55 @@ export const registerVerifyBars = async () => {
|
|||||||
//DELETE TICKET AUTOCLOSE MESSAGE
|
//DELETE TICKET AUTOCLOSE MESSAGE
|
||||||
opendiscord.verifybars.add(new api.ODVerifyBar("opendiscord:delete-ticket-autoclose-message",opendiscord.builders.messages.getSafe("opendiscord:verifybar-autoclose-message"),!generalConfig.data.system.disableVerifyBars))
|
opendiscord.verifybars.add(new api.ODVerifyBar("opendiscord:delete-ticket-autoclose-message",opendiscord.builders.messages.getSafe("opendiscord:verifybar-autoclose-message"),!generalConfig.data.system.disableVerifyBars))
|
||||||
opendiscord.verifybars.get("opendiscord:delete-ticket-autoclose-message").success.add([
|
opendiscord.verifybars.get("opendiscord:delete-ticket-autoclose-message").success.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:delete-ticket",0,async (instance,params,source,cancel) => {
|
||||||
const permissionMode = generalConfig.data.system.permissions.delete
|
const {user,member,channel,guild} = instance
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
//check permissions
|
||||||
//no permissions
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.delete,"support",user,member,channel,guild)
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild,channel,user,permissions:["support"]}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}else if (permissionMode == "everyone") return
|
}
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
//don't allow deleteWithoutTranscript to non-global-admins when enabled
|
||||||
//no permissions
|
if (params.data == "no-transcript" && generalConfig.data.system.adminOnlyDeleteWithoutTranscript){
|
||||||
|
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild,{allowChannelRoleScope:false,allowChannelUserScope:false,allowGlobalRoleScope:true,allowGlobalUserScope:true}))){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
}
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
}
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
//check is in guild/server
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:delete-ticket",0,async (instance,params,source,cancel) => {
|
|
||||||
const {guild,channel,user} = instance
|
|
||||||
if (!guild){
|
if (!guild){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
const ticket = opendiscord.tickets.get(channel.id)
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
if (!ticket || channel.isDMBased()){
|
if (!ticket || channel.isDMBased()){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when busy
|
//return when busy
|
||||||
if (ticket.get("opendiscord:busy").value){
|
if (ticket.get("opendiscord:busy").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
//return when not allowed because of missing messages
|
||||||
|
if (!permsResult.isAdmin && (!generalConfig.data.system.allowCloseBeforeMessage || !generalConfig.data.system.allowCloseBeforeAdminMessage)){
|
||||||
|
const analysis = await opendiscord.transcripts.collector.ticketUserMessagesAnalysis(ticket,guild,channel)
|
||||||
|
if (analysis && !generalConfig.data.system.allowCloseBeforeMessage && analysis.totalMessages < 1){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,layout:"simple",error:lang.getTranslation("errors.descriptions.closeBeforeMessage"),customTitle:lang.getTranslation("errors.titles.noPermissions")}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
if (analysis && !generalConfig.data.system.allowCloseBeforeAdminMessage && analysis.adminMessages < 1){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,layout:"simple",error:lang.getTranslation("errors.descriptions.closeBeforeAdminMessage"),customTitle:lang.getTranslation("errors.titles.noPermissions")}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//start deleting ticket
|
//start deleting ticket
|
||||||
if (params.data == "reason"){
|
if (params.data == "reason"){
|
||||||
|
|||||||
@@ -28,8 +28,7 @@ export const registerActions = async () => {
|
|||||||
const rawClaimCategory = ticket.option.get("opendiscord:channel-categories-claimed").value.find((c) => c.user == user.id)
|
const rawClaimCategory = ticket.option.get("opendiscord:channel-categories-claimed").value.find((c) => c.user == user.id)
|
||||||
const claimCategory = (rawClaimCategory) ? rawClaimCategory.category : null
|
const claimCategory = (rawClaimCategory) ? rawClaimCategory.category : null
|
||||||
const closeCategory = ticket.option.get("opendiscord:channel-category-closed").value
|
const closeCategory = ticket.option.get("opendiscord:channel-category-closed").value
|
||||||
const channelDescription = ticket.option.get("opendiscord:channel-description").value
|
const channelTopic = ticket.option.get("opendiscord:channel-topic").value
|
||||||
const channelName = channelPrefix+channelSuffix
|
|
||||||
|
|
||||||
//handle category
|
//handle category
|
||||||
let category: string|null = null
|
let category: string|null = null
|
||||||
@@ -155,17 +154,18 @@ export const registerActions = async () => {
|
|||||||
ticket.get("opendiscord:participants").refreshDatabase()
|
ticket.get("opendiscord:participants").refreshDatabase()
|
||||||
|
|
||||||
//rename channel (and give error when crashed)
|
//rename channel (and give error when crashed)
|
||||||
|
const pinEmoji = ticket.get("opendiscord:pinned").value ? generalConfig.data.system.pinEmoji : ""
|
||||||
|
const priorityEmoji = opendiscord.priorities.getFromPriorityLevel(ticket.get("opendiscord:priority").value).channelEmoji ?? ""
|
||||||
|
|
||||||
const originalName = channel.name
|
const originalName = channel.name
|
||||||
|
const newName = pinEmoji+priorityEmoji+utilities.trimEmojis(channelPrefix+channelSuffix)
|
||||||
try{
|
try{
|
||||||
await utilities.timedAwait(channel.setName(channelName),2500,(err) => {
|
await utilities.timedAwait(channel.setName(newName),2500,(err) => {
|
||||||
opendiscord.log("Failed to rename channel on ticket move","error")
|
opendiscord.log("Failed to rename channel on ticket move","error")
|
||||||
})
|
})
|
||||||
}catch(err){
|
}catch(err){
|
||||||
await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:error-channel-rename").build("ticket-move",{guild,channel,user,originalName,newName:channelName})).message)
|
await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:error-channel-rename").build("ticket-move",{guild,channel,user,originalName,newName:newName})).message)
|
||||||
}
|
}
|
||||||
try{
|
|
||||||
if (channel.type == discord.ChannelType.GuildText) channel.setTopic(channelDescription)
|
|
||||||
}catch{}
|
|
||||||
|
|
||||||
//update ticket message
|
//update ticket message
|
||||||
const ticketMessage = await opendiscord.tickets.getTicketMessage(ticket)
|
const ticketMessage = await opendiscord.tickets.getTicketMessage(ticket)
|
||||||
@@ -173,7 +173,7 @@ export const registerActions = async () => {
|
|||||||
try{
|
try{
|
||||||
ticketMessage.edit((await opendiscord.builders.messages.getSafe("opendiscord:ticket-message").build("other",{guild,channel,user,ticket})).message)
|
ticketMessage.edit((await opendiscord.builders.messages.getSafe("opendiscord:ticket-message").build("other",{guild,channel,user,ticket})).message)
|
||||||
}catch(e){
|
}catch(e){
|
||||||
opendiscord.log("Unable to edit ticket message on ticket renaming!","error",[
|
opendiscord.log("Unable to edit ticket message on ticket moving!","error",[
|
||||||
{key:"channel",value:"#"+channel.name},
|
{key:"channel",value:"#"+channel.name},
|
||||||
{key:"channelid",value:channel.id,hidden:true},
|
{key:"channelid",value:channel.id,hidden:true},
|
||||||
{key:"messageid",value:ticketMessage.id},
|
{key:"messageid",value:ticketMessage.id},
|
||||||
@@ -187,6 +187,9 @@ export const registerActions = async () => {
|
|||||||
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:move-message").build(source,{guild,channel,user,ticket,reason,data})).message)
|
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:move-message").build(source,{guild,channel,user,ticket,reason,data})).message)
|
||||||
ticket.get("opendiscord:busy").value = false
|
ticket.get("opendiscord:busy").value = false
|
||||||
await opendiscord.events.get("afterTicketMoved").emit([ticket,user,channel,reason])
|
await opendiscord.events.get("afterTicketMoved").emit([ticket,user,channel,reason])
|
||||||
|
|
||||||
|
//update channel topic
|
||||||
|
await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null})
|
||||||
}),
|
}),
|
||||||
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user,ticket,reason,data} = params
|
const {guild,channel,user,ticket,reason,data} = params
|
||||||
|
|||||||
@@ -31,8 +31,11 @@ export const registerActions = async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//rename channel (and give error when crashed)
|
//rename channel (and give error when crashed)
|
||||||
|
const pinEmoji = ticket.get("opendiscord:pinned").value ? generalConfig.data.system.pinEmoji : ""
|
||||||
|
const priorityEmoji = opendiscord.priorities.getFromPriorityLevel(ticket.get("opendiscord:priority").value).channelEmoji ?? ""
|
||||||
|
|
||||||
const originalName = channel.name
|
const originalName = channel.name
|
||||||
const newName = "📌"+channel.name
|
const newName = pinEmoji+priorityEmoji+utilities.trimEmojis(channel.name)
|
||||||
try{
|
try{
|
||||||
await utilities.timedAwait(channel.setName(newName),2500,(err) => {
|
await utilities.timedAwait(channel.setName(newName),2500,(err) => {
|
||||||
opendiscord.log("Failed to rename channel on ticket pin","error")
|
opendiscord.log("Failed to rename channel on ticket pin","error")
|
||||||
@@ -61,6 +64,9 @@ export const registerActions = async () => {
|
|||||||
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:pin-message").build(source,{guild,channel,user,ticket,reason})).message)
|
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:pin-message").build(source,{guild,channel,user,ticket,reason})).message)
|
||||||
ticket.get("opendiscord:busy").value = false
|
ticket.get("opendiscord:busy").value = false
|
||||||
await opendiscord.events.get("afterTicketPinned").emit([ticket,user,channel,reason])
|
await opendiscord.events.get("afterTicketPinned").emit([ticket,user,channel,reason])
|
||||||
|
|
||||||
|
//update channel topic
|
||||||
|
await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null})
|
||||||
}),
|
}),
|
||||||
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user,ticket,reason} = params
|
const {guild,channel,user,ticket,reason} = params
|
||||||
|
|||||||
@@ -4,6 +4,8 @@
|
|||||||
import {opendiscord, api, utilities} from "../index"
|
import {opendiscord, api, utilities} from "../index"
|
||||||
import * as discord from "discord.js"
|
import * as discord from "discord.js"
|
||||||
|
|
||||||
|
const generalConfig = opendiscord.configs.get("opendiscord:general")
|
||||||
|
|
||||||
export const registerActions = async () => {
|
export const registerActions = async () => {
|
||||||
opendiscord.actions.add(new api.ODAction("opendiscord:reaction-role"))
|
opendiscord.actions.add(new api.ODAction("opendiscord:reaction-role"))
|
||||||
opendiscord.actions.get("opendiscord:reaction-role").workers.add([
|
opendiscord.actions.get("opendiscord:reaction-role").workers.add([
|
||||||
@@ -81,6 +83,19 @@ export const registerActions = async () => {
|
|||||||
instance.result = result
|
instance.result = result
|
||||||
await opendiscord.events.get("afterRolesUpdated").emit([user,role])
|
await opendiscord.events.get("afterRolesUpdated").emit([user,role])
|
||||||
}),
|
}),
|
||||||
|
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
||||||
|
const {guild,user,option,overwriteMode} = params
|
||||||
|
if (!instance.role || !instance.result) return
|
||||||
|
|
||||||
|
//to logs
|
||||||
|
if (generalConfig.data.system.logs.enabled && (generalConfig.data.system.messages.reactionRole.logs)){
|
||||||
|
const logChannel = opendiscord.posts.get("opendiscord:logs")
|
||||||
|
if (logChannel) logChannel.send(await opendiscord.builders.messages.getSafe("opendiscord:reaction-role-logs").build(source,{guild,user,role:instance.role,result:instance.result}))
|
||||||
|
}
|
||||||
|
|
||||||
|
//to dm
|
||||||
|
if (generalConfig.data.system.messages.reactionRole.dm) await opendiscord.client.sendUserDm(user,await opendiscord.builders.messages.getSafe("opendiscord:reaction-role-dm").build(source,{guild,user,role:instance.role,result:instance.result}))
|
||||||
|
}),
|
||||||
new api.ODWorker("opendiscord:logs",0,(instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:logs",0,(instance,params,source,cancel) => {
|
||||||
const {guild,user,option} = params
|
const {guild,user,option} = params
|
||||||
opendiscord.log(user.displayName+" updated his roles!","info",[
|
opendiscord.log(user.displayName+" updated his roles!","info",[
|
||||||
|
|||||||
@@ -48,6 +48,9 @@ export const registerActions = async () => {
|
|||||||
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:remove-message").build(source,{guild,channel,user,ticket,reason,data})).message)
|
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:remove-message").build(source,{guild,channel,user,ticket,reason,data})).message)
|
||||||
ticket.get("opendiscord:busy").value = false
|
ticket.get("opendiscord:busy").value = false
|
||||||
await opendiscord.events.get("afterTicketUserRemoved").emit([ticket,user,data,channel,reason])
|
await opendiscord.events.get("afterTicketUserRemoved").emit([ticket,user,data,channel,reason])
|
||||||
|
|
||||||
|
//update channel topic
|
||||||
|
await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null})
|
||||||
}),
|
}),
|
||||||
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user,ticket,reason,data} = params
|
const {guild,channel,user,ticket,reason,data} = params
|
||||||
|
|||||||
@@ -16,9 +16,13 @@ export const registerActions = async () => {
|
|||||||
await opendiscord.events.get("onTicketRename").emit([ticket,user,channel,reason])
|
await opendiscord.events.get("onTicketRename").emit([ticket,user,channel,reason])
|
||||||
|
|
||||||
//rename channel (and give error when crashed)
|
//rename channel (and give error when crashed)
|
||||||
|
const pinEmoji = ticket.get("opendiscord:pinned").value ? generalConfig.data.system.pinEmoji : ""
|
||||||
|
const priorityEmoji = opendiscord.priorities.getFromPriorityLevel(ticket.get("opendiscord:priority").value).channelEmoji ?? ""
|
||||||
|
|
||||||
const originalName = channel.name
|
const originalName = channel.name
|
||||||
|
const newName = pinEmoji+priorityEmoji+utilities.trimEmojis(data)
|
||||||
try{
|
try{
|
||||||
await utilities.timedAwait(channel.setName(data),2500,(err) => {
|
await utilities.timedAwait(channel.setName(newName),2500,(err) => {
|
||||||
opendiscord.log("Failed to rename channel on ticket rename","error")
|
opendiscord.log("Failed to rename channel on ticket rename","error")
|
||||||
})
|
})
|
||||||
}catch(err){
|
}catch(err){
|
||||||
@@ -45,6 +49,9 @@ export const registerActions = async () => {
|
|||||||
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:rename-message").build(source,{guild,channel,user,ticket,reason,data})).message)
|
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:rename-message").build(source,{guild,channel,user,ticket,reason,data})).message)
|
||||||
ticket.get("opendiscord:busy").value = false
|
ticket.get("opendiscord:busy").value = false
|
||||||
await opendiscord.events.get("afterTicketRenamed").emit([ticket,user,channel,reason])
|
await opendiscord.events.get("afterTicketRenamed").emit([ticket,user,channel,reason])
|
||||||
|
|
||||||
|
//update channel topic
|
||||||
|
await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null})
|
||||||
}),
|
}),
|
||||||
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user,ticket,reason,data} = params
|
const {guild,channel,user,ticket,reason,data} = params
|
||||||
|
|||||||
@@ -16,13 +16,24 @@ export const registerActions = async () => {
|
|||||||
await opendiscord.events.get("onTicketReopen").emit([ticket,user,channel,reason])
|
await opendiscord.events.get("onTicketReopen").emit([ticket,user,channel,reason])
|
||||||
|
|
||||||
//update ticket
|
//update ticket
|
||||||
|
ticket.get("opendiscord:reopened").value = true
|
||||||
|
ticket.get("opendiscord:reopened-by").value = user.id
|
||||||
|
ticket.get("opendiscord:reopened-on").value = new Date().getTime()
|
||||||
|
|
||||||
ticket.get("opendiscord:closed").value = false
|
ticket.get("opendiscord:closed").value = false
|
||||||
ticket.get("opendiscord:open").value = true
|
|
||||||
ticket.get("opendiscord:autoclosed").value = false
|
|
||||||
ticket.get("opendiscord:closed-by").value = null
|
ticket.get("opendiscord:closed-by").value = null
|
||||||
ticket.get("opendiscord:closed-on").value = null
|
ticket.get("opendiscord:closed-on").value = null
|
||||||
|
|
||||||
|
ticket.get("opendiscord:autoclosed").value = false
|
||||||
|
ticket.get("opendiscord:open").value = true
|
||||||
ticket.get("opendiscord:busy").value = true
|
ticket.get("opendiscord:busy").value = true
|
||||||
|
|
||||||
|
if (generalConfig.data.system.disableAutocloseAfterReopen){
|
||||||
|
//disable autoclose after reopen
|
||||||
|
ticket.get("opendiscord:autoclose-enabled").value = false
|
||||||
|
ticket.get("opendiscord:autoclose-hours").value = 0
|
||||||
|
}
|
||||||
|
|
||||||
//update stats
|
//update stats
|
||||||
await opendiscord.stats.get("opendiscord:global").setStat("opendiscord:tickets-reopened",1,"increase")
|
await opendiscord.stats.get("opendiscord:global").setStat("opendiscord:tickets-reopened",1,"increase")
|
||||||
await opendiscord.stats.get("opendiscord:user").setStat("opendiscord:tickets-reopened",user.id,1,"increase")
|
await opendiscord.stats.get("opendiscord:user").setStat("opendiscord:tickets-reopened",user.id,1,"increase")
|
||||||
@@ -149,6 +160,9 @@ export const registerActions = async () => {
|
|||||||
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:reopen-message").build(source,{guild,channel,user,ticket,reason})).message)
|
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:reopen-message").build(source,{guild,channel,user,ticket,reason})).message)
|
||||||
ticket.get("opendiscord:busy").value = false
|
ticket.get("opendiscord:busy").value = false
|
||||||
await opendiscord.events.get("afterTicketReopened").emit([ticket,user,channel,reason])
|
await opendiscord.events.get("afterTicketReopened").emit([ticket,user,channel,reason])
|
||||||
|
|
||||||
|
//update channel topic
|
||||||
|
await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null})
|
||||||
}),
|
}),
|
||||||
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user,ticket,reason} = params
|
const {guild,channel,user,ticket,reason} = params
|
||||||
|
|||||||
@@ -0,0 +1,154 @@
|
|||||||
|
///////////////////////////////////////
|
||||||
|
//TICKET TRANSFER SYSTEM
|
||||||
|
///////////////////////////////////////
|
||||||
|
import {opendiscord, api, utilities} from "../index"
|
||||||
|
import * as discord from "discord.js"
|
||||||
|
|
||||||
|
const generalConfig = opendiscord.configs.get("opendiscord:general")
|
||||||
|
|
||||||
|
export const registerActions = async () => {
|
||||||
|
opendiscord.actions.add(new api.ODAction("opendiscord:transfer-ticket"))
|
||||||
|
opendiscord.actions.get("opendiscord:transfer-ticket").workers.add([
|
||||||
|
new api.ODWorker("opendiscord:transfer-ticket",2,async (instance,params,source,cancel) => {
|
||||||
|
const {guild,channel,user,ticket,reason,newCreator} = params
|
||||||
|
if (channel.isThread()) throw new api.ODSystemError("Unable to transfer ticket! Open Ticket doesn't support threads!")
|
||||||
|
|
||||||
|
const oldCreator = await opendiscord.tickets.getTicketUser(ticket,"creator") ?? opendiscord.client.client.user
|
||||||
|
await opendiscord.events.get("onTicketTransfer").emit([ticket,user,channel,oldCreator,newCreator,reason])
|
||||||
|
|
||||||
|
//update ticket
|
||||||
|
const oldCreatorId = ticket.get("opendiscord:opened-by").value
|
||||||
|
if (oldCreatorId){
|
||||||
|
ticket.get("opendiscord:previous-creators").value.push(oldCreatorId)
|
||||||
|
ticket.get("opendiscord:previous-creators").refreshDatabase()
|
||||||
|
}
|
||||||
|
if (!ticket.get("opendiscord:participants").value.find((p) => p.type == "user" && p.id == newCreator.id)){
|
||||||
|
ticket.get("opendiscord:participants").value.push({type:"user",id:newCreator.id})
|
||||||
|
ticket.get("opendiscord:participants").refreshDatabase()
|
||||||
|
}
|
||||||
|
ticket.get("opendiscord:opened-by").value = newCreator.id
|
||||||
|
if (["user-name","user-nickname","user-id"].includes(ticket.option.get("opendiscord:channel-suffix").value)){
|
||||||
|
const newSuffix = await opendiscord.options.suffix.getSuffixFromOption(ticket.option,newCreator,guild)
|
||||||
|
if (newSuffix) ticket.get("opendiscord:channel-suffix").value = newSuffix
|
||||||
|
}
|
||||||
|
|
||||||
|
//update stats
|
||||||
|
await opendiscord.stats.get("opendiscord:global").setStat("opendiscord:tickets-transferred",1,"increase")
|
||||||
|
await opendiscord.stats.get("opendiscord:user").setStat("opendiscord:tickets-transferred",user.id,1,"increase")
|
||||||
|
|
||||||
|
//get new channel properties
|
||||||
|
const channelPrefix = ticket.option.get("opendiscord:channel-prefix").value
|
||||||
|
const channelSuffix = ticket.get("opendiscord:channel-suffix").value
|
||||||
|
|
||||||
|
//handle permissions
|
||||||
|
const permissions: discord.OverwriteResolvable[] = [{
|
||||||
|
type:discord.OverwriteType.Role,
|
||||||
|
id:guild.roles.everyone.id,
|
||||||
|
allow:[],
|
||||||
|
deny:["ViewChannel","SendMessages","ReadMessageHistory"]
|
||||||
|
}]
|
||||||
|
const globalAdmins = opendiscord.configs.get("opendiscord:general").data.globalAdmins
|
||||||
|
const optionAdmins = ticket.option.get("opendiscord:admins").value
|
||||||
|
const readonlyAdmins = ticket.option.get("opendiscord:admins-readonly").value
|
||||||
|
|
||||||
|
globalAdmins.forEach((admin) => {
|
||||||
|
permissions.push({
|
||||||
|
type:discord.OverwriteType.Role,
|
||||||
|
id:admin,
|
||||||
|
allow:["ViewChannel","SendMessages","AddReactions","AttachFiles","SendPolls","ReadMessageHistory","ManageMessages"],
|
||||||
|
deny:[]
|
||||||
|
})
|
||||||
|
})
|
||||||
|
optionAdmins.forEach((admin) => {
|
||||||
|
if (globalAdmins.includes(admin)) return
|
||||||
|
permissions.push({
|
||||||
|
type:discord.OverwriteType.Role,
|
||||||
|
id:admin,
|
||||||
|
allow:["ViewChannel","SendMessages","AddReactions","AttachFiles","SendPolls","ReadMessageHistory","ManageMessages"],
|
||||||
|
deny:[]
|
||||||
|
})
|
||||||
|
})
|
||||||
|
readonlyAdmins.forEach((admin) => {
|
||||||
|
if (globalAdmins.includes(admin)) return
|
||||||
|
if (optionAdmins.includes(admin)) return
|
||||||
|
permissions.push({
|
||||||
|
type:discord.OverwriteType.Role,
|
||||||
|
id:admin,
|
||||||
|
allow:["ViewChannel","ReadMessageHistory"],
|
||||||
|
deny:["SendMessages","AddReactions","AttachFiles","SendPolls"]
|
||||||
|
})
|
||||||
|
})
|
||||||
|
//transfer all old user-participants over to the new ticket (creator & participants)
|
||||||
|
ticket.get("opendiscord:participants").value.forEach((p) => {
|
||||||
|
if (p.type == "user") permissions.push({
|
||||||
|
type:discord.OverwriteType.Member,
|
||||||
|
id:p.id,
|
||||||
|
allow:["ViewChannel","SendMessages","AddReactions","AttachFiles","SendPolls","ReadMessageHistory"],
|
||||||
|
deny:[]
|
||||||
|
})
|
||||||
|
})
|
||||||
|
try{
|
||||||
|
await channel.permissionOverwrites.set(permissions)
|
||||||
|
}catch{
|
||||||
|
opendiscord.log("Failed to reset channel permissions on ticket transfer!","error")
|
||||||
|
}
|
||||||
|
|
||||||
|
//rename channel (and give error when crashed)
|
||||||
|
const pinEmoji = ticket.get("opendiscord:pinned").value ? generalConfig.data.system.pinEmoji : ""
|
||||||
|
const priorityEmoji = opendiscord.priorities.getFromPriorityLevel(ticket.get("opendiscord:priority").value).channelEmoji ?? ""
|
||||||
|
|
||||||
|
const originalName = channel.name
|
||||||
|
const newName = pinEmoji+priorityEmoji+utilities.trimEmojis(channelPrefix+channelSuffix)
|
||||||
|
try{
|
||||||
|
await utilities.timedAwait(channel.setName(newName),2500,(err) => {
|
||||||
|
opendiscord.log("Failed to rename channel on ticket transfer","error")
|
||||||
|
})
|
||||||
|
}catch(err){
|
||||||
|
await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:error-channel-rename").build("ticket-transfer",{guild,channel,user,originalName,newName:newName})).message)
|
||||||
|
}
|
||||||
|
|
||||||
|
//update ticket message
|
||||||
|
const ticketMessage = await opendiscord.tickets.getTicketMessage(ticket)
|
||||||
|
if (ticketMessage){
|
||||||
|
try{
|
||||||
|
ticketMessage.edit((await opendiscord.builders.messages.getSafe("opendiscord:ticket-message").build("other",{guild,channel,user,ticket})).message)
|
||||||
|
}catch(e){
|
||||||
|
opendiscord.log("Unable to edit ticket message on ticket transferring!","error",[
|
||||||
|
{key:"channel",value:"#"+channel.name},
|
||||||
|
{key:"channelid",value:channel.id,hidden:true},
|
||||||
|
{key:"messageid",value:ticketMessage.id},
|
||||||
|
{key:"option",value:ticket.option.id.value}
|
||||||
|
])
|
||||||
|
opendiscord.debugfile.writeErrorMessage(new api.ODError(e,"uncaughtException"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//reply with new message
|
||||||
|
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:transfer-message").build(source,{guild,channel,user,ticket,oldCreator,newCreator,reason})).message)
|
||||||
|
ticket.get("opendiscord:busy").value = false
|
||||||
|
await opendiscord.events.get("afterTicketTransferred").emit([ticket,user,channel,oldCreator,newCreator,reason])
|
||||||
|
|
||||||
|
//update channel topic
|
||||||
|
await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null})
|
||||||
|
}),
|
||||||
|
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
||||||
|
const {guild,channel,user,ticket,newCreator,reason} = params
|
||||||
|
}),
|
||||||
|
new api.ODWorker("opendiscord:logs",0,(instance,params,source,cancel) => {
|
||||||
|
const {guild,channel,user,ticket,newCreator} = params
|
||||||
|
|
||||||
|
opendiscord.log(user.displayName+" transferred a ticket to '"+newCreator.displayName+"'!","info",[
|
||||||
|
{key:"user",value:user.username},
|
||||||
|
{key:"userid",value:user.id,hidden:true},
|
||||||
|
{key:"channel",value:"#"+channel.name},
|
||||||
|
{key:"channelid",value:channel.id,hidden:true},
|
||||||
|
{key:"reason",value:params.reason ?? "/"},
|
||||||
|
{key:"method",value:source}
|
||||||
|
])
|
||||||
|
})
|
||||||
|
])
|
||||||
|
opendiscord.actions.get("opendiscord:transfer-ticket").workers.backupWorker = new api.ODWorker("opendiscord:cancel-busy",0,(instance,params) => {
|
||||||
|
//set busy to false in case of crash or cancel
|
||||||
|
params.ticket.get("opendiscord:busy").value = false
|
||||||
|
})
|
||||||
|
}
|
||||||
@@ -94,6 +94,9 @@ export const registerActions = async () => {
|
|||||||
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:unclaim-message").build(source,{guild,channel,user,ticket,reason})).message)
|
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:unclaim-message").build(source,{guild,channel,user,ticket,reason})).message)
|
||||||
ticket.get("opendiscord:busy").value = false
|
ticket.get("opendiscord:busy").value = false
|
||||||
await opendiscord.events.get("afterTicketUnclaimed").emit([ticket,user,channel,reason])
|
await opendiscord.events.get("afterTicketUnclaimed").emit([ticket,user,channel,reason])
|
||||||
|
|
||||||
|
//update channel topic
|
||||||
|
await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null})
|
||||||
}),
|
}),
|
||||||
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user,ticket,reason} = params
|
const {guild,channel,user,ticket,reason} = params
|
||||||
|
|||||||
@@ -22,9 +22,11 @@ export const registerActions = async () => {
|
|||||||
ticket.get("opendiscord:busy").value = true
|
ticket.get("opendiscord:busy").value = true
|
||||||
|
|
||||||
//rename channel (and give error when crashed)
|
//rename channel (and give error when crashed)
|
||||||
|
const pinEmoji = ticket.get("opendiscord:pinned").value ? generalConfig.data.system.pinEmoji : ""
|
||||||
|
const priorityEmoji = opendiscord.priorities.getFromPriorityLevel(ticket.get("opendiscord:priority").value).channelEmoji ?? ""
|
||||||
|
|
||||||
const originalName = channel.name
|
const originalName = channel.name
|
||||||
if (originalName.startsWith("📌")){
|
const newName = pinEmoji+priorityEmoji+utilities.trimEmojis(channel.name)
|
||||||
const newName = originalName.replace("📌","");
|
|
||||||
try{
|
try{
|
||||||
await utilities.timedAwait(channel.setName(newName),2500,(err) => {
|
await utilities.timedAwait(channel.setName(newName),2500,(err) => {
|
||||||
opendiscord.log("Failed to rename channel on ticket unpin","error")
|
opendiscord.log("Failed to rename channel on ticket unpin","error")
|
||||||
@@ -32,7 +34,6 @@ export const registerActions = async () => {
|
|||||||
}catch(err){
|
}catch(err){
|
||||||
await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:error-channel-rename").build("ticket-unpin",{guild,channel,user,originalName,newName})).message)
|
await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:error-channel-rename").build("ticket-unpin",{guild,channel,user,originalName,newName})).message)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
//update ticket message
|
//update ticket message
|
||||||
const ticketMessage = await opendiscord.tickets.getTicketMessage(ticket)
|
const ticketMessage = await opendiscord.tickets.getTicketMessage(ticket)
|
||||||
@@ -54,6 +55,9 @@ export const registerActions = async () => {
|
|||||||
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:unpin-message").build(source,{guild,channel,user,ticket,reason})).message)
|
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:unpin-message").build(source,{guild,channel,user,ticket,reason})).message)
|
||||||
ticket.get("opendiscord:busy").value = false
|
ticket.get("opendiscord:busy").value = false
|
||||||
await opendiscord.events.get("afterTicketUnpinned").emit([ticket,user,channel,reason])
|
await opendiscord.events.get("afterTicketUnpinned").emit([ticket,user,channel,reason])
|
||||||
|
|
||||||
|
//update channel topic
|
||||||
|
await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null})
|
||||||
}),
|
}),
|
||||||
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user,ticket,reason} = params
|
const {guild,channel,user,ticket,reason} = params
|
||||||
|
|||||||
@@ -0,0 +1,65 @@
|
|||||||
|
///////////////////////////////////////
|
||||||
|
//TICKET TOPIC SYSTEM
|
||||||
|
///////////////////////////////////////
|
||||||
|
import {opendiscord, api, utilities} from "../index"
|
||||||
|
import * as discord from "discord.js"
|
||||||
|
|
||||||
|
const generalConfig = opendiscord.configs.get("opendiscord:general")
|
||||||
|
|
||||||
|
export const registerActions = async () => {
|
||||||
|
opendiscord.actions.add(new api.ODAction("opendiscord:update-ticket-priority"))
|
||||||
|
opendiscord.actions.get("opendiscord:update-ticket-priority").workers.add([
|
||||||
|
new api.ODWorker("opendiscord:update-ticket-priority",2,async (instance,params,source,cancel) => {
|
||||||
|
const {guild,channel,user,ticket,newPriority,reason} = params
|
||||||
|
if (channel.isThread() || !(channel instanceof discord.TextChannel)) throw new api.ODSystemError("Unable to set priority of ticket! Open Ticket doesn't support threads!")
|
||||||
|
|
||||||
|
const oldPriority = opendiscord.priorities.getFromPriorityLevel(ticket.get("opendiscord:priority").value)
|
||||||
|
await opendiscord.events.get("onTicketPriorityChange").emit([ticket,user,channel,oldPriority,newPriority,reason])
|
||||||
|
|
||||||
|
//update ticket
|
||||||
|
ticket.get("opendiscord:busy").value = true
|
||||||
|
if (newPriority) ticket.get("opendiscord:priority").value = newPriority.priority
|
||||||
|
|
||||||
|
//rename channel (and give error when crashed)
|
||||||
|
const pinEmoji = ticket.get("opendiscord:pinned").value ? generalConfig.data.system.pinEmoji : ""
|
||||||
|
const priorityEmoji = newPriority.channelEmoji ?? ""
|
||||||
|
|
||||||
|
const originalName = channel.name
|
||||||
|
const newName = pinEmoji+priorityEmoji+utilities.trimEmojis(channel.name)
|
||||||
|
try{
|
||||||
|
await utilities.timedAwait(channel.setName(newName),2500,(err) => {
|
||||||
|
opendiscord.log("Failed to rename channel on ticket priority update","error")
|
||||||
|
})
|
||||||
|
}catch(err){
|
||||||
|
await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:error-channel-rename").build("ticket-priority",{guild,channel,user,originalName,newName})).message)
|
||||||
|
}
|
||||||
|
|
||||||
|
//reply with new message
|
||||||
|
if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:priority-set").build(source,{guild,channel,user,ticket,priority:newPriority,reason})).message)
|
||||||
|
ticket.get("opendiscord:busy").value = false
|
||||||
|
await opendiscord.events.get("afterTicketPriorityChanged").emit([ticket,user,channel,oldPriority,newPriority,reason])
|
||||||
|
|
||||||
|
//update channel topic
|
||||||
|
await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null})
|
||||||
|
}),
|
||||||
|
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
||||||
|
const {guild,channel,user,ticket} = params
|
||||||
|
}),
|
||||||
|
new api.ODWorker("opendiscord:logs",0,(instance,params,source,cancel) => {
|
||||||
|
const {guild,channel,user,ticket,newPriority} = params
|
||||||
|
|
||||||
|
opendiscord.log(user.displayName+" changed the priority of a ticket!","info",[
|
||||||
|
{key:"user",value:user.username},
|
||||||
|
{key:"userid",value:user.id,hidden:true},
|
||||||
|
{key:"channel",value:"#"+channel.name},
|
||||||
|
{key:"channelid",value:channel.id,hidden:true},
|
||||||
|
{key:"priority",value:newPriority.id.value},
|
||||||
|
{key:"method",value:source}
|
||||||
|
])
|
||||||
|
})
|
||||||
|
])
|
||||||
|
opendiscord.actions.get("opendiscord:update-ticket-priority").workers.backupWorker = new api.ODWorker("opendiscord:cancel-busy",0,(instance,params) => {
|
||||||
|
//set busy to false in case of crash or cancel
|
||||||
|
params.ticket.get("opendiscord:busy").value = false
|
||||||
|
})
|
||||||
|
}
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
///////////////////////////////////////
|
||||||
|
//TICKET TOPIC SYSTEM
|
||||||
|
///////////////////////////////////////
|
||||||
|
import {opendiscord, api, utilities} from "../index"
|
||||||
|
import * as discord from "discord.js"
|
||||||
|
|
||||||
|
const generalConfig = opendiscord.configs.get("opendiscord:general")
|
||||||
|
const lang = opendiscord.languages
|
||||||
|
|
||||||
|
export const registerActions = async () => {
|
||||||
|
opendiscord.actions.add(new api.ODAction("opendiscord:update-ticket-topic"))
|
||||||
|
opendiscord.actions.get("opendiscord:update-ticket-topic").workers.add([
|
||||||
|
new api.ODWorker("opendiscord:update-ticket-topic",2,async (instance,params,source,cancel) => {
|
||||||
|
const {guild,channel,user,ticket,newTopic} = params
|
||||||
|
if (channel.isThread() || !(channel instanceof discord.TextChannel)) throw new api.ODSystemError("Unable to set topic of ticket! Open Ticket doesn't support threads!")
|
||||||
|
|
||||||
|
const oldTopic = ticket.get("opendiscord:topic").value
|
||||||
|
if (newTopic) await opendiscord.events.get("onTicketTopicChange").emit([ticket,user,channel,oldTopic,newTopic])
|
||||||
|
|
||||||
|
//update ticket
|
||||||
|
ticket.get("opendiscord:busy").value = true
|
||||||
|
if (newTopic) ticket.get("opendiscord:topic").value = newTopic
|
||||||
|
|
||||||
|
//get ticket data
|
||||||
|
const closed = ticket.get("opendiscord:closed").value
|
||||||
|
const claimedBy = ticket.get("opendiscord:claimed-by").value
|
||||||
|
const pinned = ticket.get("opendiscord:pinned").value
|
||||||
|
const creator = ticket.get("opendiscord:opened-by").value ?? opendiscord.client.client.user.id
|
||||||
|
|
||||||
|
//handle channel topic
|
||||||
|
const channelTopics: string[] = []
|
||||||
|
if (generalConfig.data.system.channelTopic.showOptionName) channelTopics.push(ticket.option.get("opendiscord:name").value)
|
||||||
|
if (generalConfig.data.system.channelTopic.showOptionDescription) channelTopics.push(ticket.option.get("opendiscord:description").value)
|
||||||
|
if (generalConfig.data.system.channelTopic.showOptionTopic) channelTopics.push(ticket.get("opendiscord:topic").value)
|
||||||
|
if (generalConfig.data.system.channelTopic.showPriority) channelTopics.push("**"+lang.getTranslation("params.uppercase.priority")+":** "+opendiscord.priorities.getFromPriorityLevel(ticket.get("opendiscord:priority").value).renderDisplayName())
|
||||||
|
if (generalConfig.data.system.channelTopic.showClosed) channelTopics.push("**"+lang.getTranslation("params.uppercase.status")+":** "+(closed ? lang.getTranslation("params.uppercase.closed") : lang.getTranslation("params.uppercase.open")))
|
||||||
|
if (generalConfig.data.system.channelTopic.showClaimed) channelTopics.push("**"+lang.getTranslation("stats.properties.claimedBy")+":** "+(claimedBy ? discord.userMention(claimedBy) : lang.getTranslation("params.uppercase.noone")))
|
||||||
|
if (generalConfig.data.system.channelTopic.showPinned) channelTopics.push("**"+lang.getTranslation("params.uppercase.pinned")+":** "+(pinned ? lang.getTranslation("params.uppercase.yes") : lang.getTranslation("params.uppercase.no")))
|
||||||
|
if (generalConfig.data.system.channelTopic.showCreator) channelTopics.push("**"+lang.getTranslation("params.uppercase.creator")+":** "+discord.userMention(creator))
|
||||||
|
if (generalConfig.data.system.channelTopic.showParticipants) channelTopics.push("**"+lang.getTranslation("params.uppercase.participants")+":** "+ticket.get("opendiscord:participants").value.map((p) => (p.type == "user") ? discord.userMention(p.id) : discord.roleMention(p.id)).join(", "))
|
||||||
|
|
||||||
|
//update channel
|
||||||
|
channel.setTopic(channelTopics.join(" • "),"Topic Changed")
|
||||||
|
|
||||||
|
//reply with new message
|
||||||
|
if (params.sendMessage && newTopic) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:topic-set").build(source,{guild,channel,user,ticket,topic:newTopic})).message)
|
||||||
|
ticket.get("opendiscord:busy").value = false
|
||||||
|
if (newTopic) await opendiscord.events.get("afterTicketTopicChanged").emit([ticket,user,channel,oldTopic,newTopic])
|
||||||
|
}),
|
||||||
|
new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => {
|
||||||
|
const {guild,channel,user,ticket} = params
|
||||||
|
}),
|
||||||
|
new api.ODWorker("opendiscord:logs",0,(instance,params,source,cancel) => {
|
||||||
|
const {guild,channel,user,ticket,newTopic} = params
|
||||||
|
|
||||||
|
if (newTopic) opendiscord.log(user.displayName+" changed the topic of a ticket!","info",[
|
||||||
|
{key:"user",value:user.username},
|
||||||
|
{key:"userid",value:user.id,hidden:true},
|
||||||
|
{key:"channel",value:"#"+channel.name},
|
||||||
|
{key:"channelid",value:channel.id,hidden:true},
|
||||||
|
{key:"topic",value:newTopic},
|
||||||
|
{key:"method",value:source}
|
||||||
|
])
|
||||||
|
})
|
||||||
|
])
|
||||||
|
opendiscord.actions.get("opendiscord:update-ticket-topic").workers.backupWorker = new api.ODWorker("opendiscord:cancel-busy",0,(instance,params) => {
|
||||||
|
//set busy to false in case of crash or cancel
|
||||||
|
params.ticket.get("opendiscord:busy").value = false
|
||||||
|
})
|
||||||
|
}
|
||||||
@@ -277,7 +277,7 @@ const ticketButtons = () => {
|
|||||||
instance.setMode("button")
|
instance.setMode("button")
|
||||||
instance.setCustomId("od:pin-ticket_"+source)
|
instance.setCustomId("od:pin-ticket_"+source)
|
||||||
instance.setColor("gray")
|
instance.setColor("gray")
|
||||||
instance.setEmoji("📌")
|
instance.setEmoji(generalConfig.data.system.pinEmoji)
|
||||||
instance.setLabel(lang.getTranslation("actions.buttons.pin"))
|
instance.setLabel(lang.getTranslation("actions.buttons.pin"))
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
@@ -291,7 +291,7 @@ const ticketButtons = () => {
|
|||||||
instance.setMode("button")
|
instance.setMode("button")
|
||||||
instance.setCustomId("od:unpin-ticket_"+source)
|
instance.setCustomId("od:unpin-ticket_"+source)
|
||||||
instance.setColor("gray")
|
instance.setColor("gray")
|
||||||
instance.setEmoji("📌")
|
instance.setEmoji(generalConfig.data.system.pinEmoji)
|
||||||
instance.setLabel(lang.getTranslation("actions.buttons.unpin"))
|
instance.setLabel(lang.getTranslation("actions.buttons.unpin"))
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|||||||
+153
-38
@@ -20,6 +20,7 @@ export const registerAllEmbeds = async () => {
|
|||||||
roleEmbeds()
|
roleEmbeds()
|
||||||
clearEmbeds()
|
clearEmbeds()
|
||||||
autoEmbeds()
|
autoEmbeds()
|
||||||
|
extraEmbeds()
|
||||||
}
|
}
|
||||||
|
|
||||||
/**Utility function to get the translated "method" from the source. Mostly used in error embeds. */
|
/**Utility function to get the translated "method" from the source. Mostly used in error embeds. */
|
||||||
@@ -37,12 +38,12 @@ const errorEmbeds = () => {
|
|||||||
embeds.add(new api.ODEmbed("opendiscord:error"))
|
embeds.add(new api.ODEmbed("opendiscord:error"))
|
||||||
embeds.get("opendiscord:error").workers.add(
|
embeds.get("opendiscord:error").workers.add(
|
||||||
new api.ODWorker("opendiscord:error",0,async (instance,params,source) => {
|
new api.ODWorker("opendiscord:error",0,async (instance,params,source) => {
|
||||||
const {user,error,layout} = params
|
const {user,error,layout,customTitle} = params
|
||||||
|
|
||||||
const method = getMethodFromSource(source)
|
const method = getMethodFromSource(source)
|
||||||
|
|
||||||
instance.setColor(generalConfig.data.system.useRedErrorEmbeds ? "Red" : generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.system.useRedErrorEmbeds ? "Red" : generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("❌",lang.getTranslation("errors.titles.internalError")))
|
instance.setTitle(utilities.emojiTitle("❌",customTitle ?? lang.getTranslation("errors.titles.internalError")))
|
||||||
instance.setAuthor(user.displayName,user.displayAvatarURL())
|
instance.setAuthor(user.displayName,user.displayAvatarURL())
|
||||||
instance.setDescription(lang.getTranslationWithParams("errors.descriptions.internalError",[method]) + (layout == "simple") ? "\n"+error : "")
|
instance.setDescription(lang.getTranslationWithParams("errors.descriptions.internalError",[method]) + (layout == "simple") ? "\n"+error : "")
|
||||||
if (layout == "advanced" && error) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+error+"```"})
|
if (layout == "advanced" && error) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+error+"```"})
|
||||||
@@ -329,7 +330,7 @@ const errorEmbeds = () => {
|
|||||||
new api.ODWorker("opendiscord:error-channel-rename",0,async (instance,params,source) => {
|
new api.ODWorker("opendiscord:error-channel-rename",0,async (instance,params,source) => {
|
||||||
const {channel,user,originalName,newName} = params
|
const {channel,user,originalName,newName} = params
|
||||||
|
|
||||||
const method = (source == "ticket-move" || source == "ticket-pin" || source == "ticket-rename" || source == "ticket-unpin") ? source : getMethodFromSource(source)
|
const method = (source == "ticket-move" || source == "ticket-pin" || source == "ticket-rename" || source == "ticket-unpin" || source == "ticket-priority" || source == "ticket-transfer") ? source : getMethodFromSource(source)
|
||||||
|
|
||||||
instance.setColor(generalConfig.data.system.useRedErrorEmbeds ? "Red" : generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.system.useRedErrorEmbeds ? "Red" : generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("❌",lang.getTranslation("errors.titles.channelRename")))
|
instance.setTitle(utilities.emojiTitle("❌",lang.getTranslation("errors.titles.channelRename")))
|
||||||
@@ -412,14 +413,17 @@ const statsEmbeds = () => {
|
|||||||
|
|
||||||
const scope = opendiscord.stats.get("opendiscord:ticket")
|
const scope = opendiscord.stats.get("opendiscord:ticket")
|
||||||
const participantsScope = opendiscord.stats.get("opendiscord:participants")
|
const participantsScope = opendiscord.stats.get("opendiscord:participants")
|
||||||
if (!scope || !participantsScope) return
|
const messagesScope = opendiscord.stats.get("opendiscord:messages")
|
||||||
|
if (!scope || !participantsScope || !messagesScope) return
|
||||||
const data = await scope.render(scopeData.id.value,guild,channel,user)
|
const data = await scope.render(scopeData.id.value,guild,channel,user)
|
||||||
const participantsData = await participantsScope.render(scopeData.id.value,guild,channel,user)
|
const participantsData = await participantsScope.render(scopeData.id.value,guild,channel,user)
|
||||||
|
const messagesData = await messagesScope.render(scopeData.id.value,guild,channel,user)
|
||||||
|
|
||||||
instance.setColor(generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
instance.setTitle(scope.name)
|
instance.setTitle(scope.name)
|
||||||
instance.setDescription(data)
|
instance.setDescription(data)
|
||||||
instance.addFields({name:participantsScope.name,value:participantsData,inline:false})
|
instance.addFields({name:participantsScope.name,value:participantsData,inline:true})
|
||||||
|
instance.addFields({name:messagesScope.name,value:messagesData,inline:true})
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -594,6 +598,9 @@ const ticketEmbeds = () => {
|
|||||||
if (embedOptions.description) instance.setDescription(embedOptions.description)
|
if (embedOptions.description) instance.setDescription(embedOptions.description)
|
||||||
|
|
||||||
if (ticket.option.get("opendiscord:questions").value.length > 0){
|
if (ticket.option.get("opendiscord:questions").value.length > 0){
|
||||||
|
//show config fields if mixing is allowed
|
||||||
|
if (generalConfig.data.system.displayFieldsWithQuestions) instance.addFields(...embedOptions.fields)
|
||||||
|
|
||||||
const answers = ticket.get("opendiscord:answers").value
|
const answers = ticket.get("opendiscord:answers").value
|
||||||
answers.forEach((answer) => {
|
answers.forEach((answer) => {
|
||||||
if (!answer.value || answer.value.length == 0) return
|
if (!answer.value || answer.value.length == 0) return
|
||||||
@@ -610,7 +617,7 @@ const ticketEmbeds = () => {
|
|||||||
if (ticket.get("opendiscord:claimed").value){
|
if (ticket.get("opendiscord:claimed").value){
|
||||||
const claimUser = await opendiscord.tickets.getTicketUser(ticket,"claimer")
|
const claimUser = await opendiscord.tickets.getTicketUser(ticket,"claimer")
|
||||||
if (!claimUser) return
|
if (!claimUser) return
|
||||||
instance.setAuthor(lang.getTranslationWithParams("params.uppercase.claimedBy",[claimUser.displayName]),claimUser.displayAvatarURL())
|
instance.setAuthor(lang.getTranslation("stats.properties.claimedBy")+" "+claimUser.displayName,claimUser.displayAvatarURL())
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
@@ -625,7 +632,7 @@ const ticketEmbeds = () => {
|
|||||||
instance.setColor(generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("🔒",lang.getTranslation("actions.titles.close")))
|
instance.setTitle(utilities.emojiTitle("🔒",lang.getTranslation("actions.titles.close")))
|
||||||
instance.setDescription(lang.getTranslation("actions.descriptions.close"))
|
instance.setDescription(lang.getTranslation("actions.descriptions.close"))
|
||||||
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```"})
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -639,7 +646,7 @@ const ticketEmbeds = () => {
|
|||||||
instance.setColor(generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("🔓",lang.getTranslation("actions.titles.reopen")))
|
instance.setTitle(utilities.emojiTitle("🔓",lang.getTranslation("actions.titles.reopen")))
|
||||||
instance.setDescription(lang.getTranslation("actions.descriptions.reopen"))
|
instance.setDescription(lang.getTranslation("actions.descriptions.reopen"))
|
||||||
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```"})
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -653,7 +660,7 @@ const ticketEmbeds = () => {
|
|||||||
instance.setColor(generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("🗑️",lang.getTranslation("actions.titles.delete")))
|
instance.setTitle(utilities.emojiTitle("🗑️",lang.getTranslation("actions.titles.delete")))
|
||||||
instance.setDescription(lang.getTranslation("actions.descriptions.delete"))
|
instance.setDescription(lang.getTranslation("actions.descriptions.delete"))
|
||||||
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```"})
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -667,7 +674,7 @@ const ticketEmbeds = () => {
|
|||||||
instance.setColor(generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("👋",lang.getTranslation("actions.titles.claim")))
|
instance.setTitle(utilities.emojiTitle("👋",lang.getTranslation("actions.titles.claim")))
|
||||||
instance.setDescription(lang.getTranslation("actions.descriptions.claim"))
|
instance.setDescription(lang.getTranslation("actions.descriptions.claim"))
|
||||||
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```"})
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -681,7 +688,7 @@ const ticketEmbeds = () => {
|
|||||||
instance.setColor(generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("↩️",lang.getTranslation("actions.titles.unclaim")))
|
instance.setTitle(utilities.emojiTitle("↩️",lang.getTranslation("actions.titles.unclaim")))
|
||||||
instance.setDescription(lang.getTranslation("actions.descriptions.unclaim"))
|
instance.setDescription(lang.getTranslation("actions.descriptions.unclaim"))
|
||||||
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```"})
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -693,9 +700,9 @@ const ticketEmbeds = () => {
|
|||||||
|
|
||||||
instance.setAuthor(user.displayName,user.displayAvatarURL())
|
instance.setAuthor(user.displayName,user.displayAvatarURL())
|
||||||
instance.setColor(generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("📌",lang.getTranslation("actions.titles.pin")))
|
instance.setTitle(utilities.emojiTitle(generalConfig.data.system.pinEmoji,lang.getTranslation("actions.titles.pin")))
|
||||||
instance.setDescription(lang.getTranslation("actions.descriptions.pin"))
|
instance.setDescription(lang.getTranslation("actions.descriptions.pin"))
|
||||||
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```"})
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -707,9 +714,9 @@ const ticketEmbeds = () => {
|
|||||||
|
|
||||||
instance.setAuthor(user.displayName,user.displayAvatarURL())
|
instance.setAuthor(user.displayName,user.displayAvatarURL())
|
||||||
instance.setColor(generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("📌",lang.getTranslation("actions.titles.unpin")))
|
instance.setTitle(utilities.emojiTitle(generalConfig.data.system.pinEmoji,lang.getTranslation("actions.titles.unpin")))
|
||||||
instance.setDescription(lang.getTranslation("actions.descriptions.unpin"))
|
instance.setDescription(lang.getTranslation("actions.descriptions.unpin"))
|
||||||
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```"})
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -723,7 +730,7 @@ const ticketEmbeds = () => {
|
|||||||
instance.setColor(generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("🔄",lang.getTranslation("actions.titles.rename")))
|
instance.setTitle(utilities.emojiTitle("🔄",lang.getTranslation("actions.titles.rename")))
|
||||||
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.rename",["`#"+data+"`"]))
|
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.rename",["`#"+data+"`"]))
|
||||||
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```"})
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -737,7 +744,7 @@ const ticketEmbeds = () => {
|
|||||||
instance.setColor(generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("🔀",lang.getTranslation("actions.titles.move")))
|
instance.setTitle(utilities.emojiTitle("🔀",lang.getTranslation("actions.titles.move")))
|
||||||
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.move",["`"+data.get("opendiscord:name").value+"`"]))
|
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.move",["`"+data.get("opendiscord:name").value+"`"]))
|
||||||
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```"})
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -751,7 +758,7 @@ const ticketEmbeds = () => {
|
|||||||
instance.setColor(generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("👤",lang.getTranslation("actions.titles.add")))
|
instance.setTitle(utilities.emojiTitle("👤",lang.getTranslation("actions.titles.add")))
|
||||||
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.add",[discord.userMention(data.id)]))
|
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.add",[discord.userMention(data.id)]))
|
||||||
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```"})
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -765,7 +772,7 @@ const ticketEmbeds = () => {
|
|||||||
instance.setColor(generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("👤",lang.getTranslation("actions.titles.remove")))
|
instance.setTitle(utilities.emojiTitle("👤",lang.getTranslation("actions.titles.remove")))
|
||||||
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.remove",[discord.userMention(data.id)]))
|
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.remove",[discord.userMention(data.id)]))
|
||||||
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```"})
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -797,10 +804,10 @@ const ticketEmbeds = () => {
|
|||||||
instance.setTitle(utilities.emojiTitle("↩️",lang.getTranslation("actions.titles.unclaim")))
|
instance.setTitle(utilities.emojiTitle("↩️",lang.getTranslation("actions.titles.unclaim")))
|
||||||
instance.setDescription(lang.getTranslation("actions.logs.unclaimDm"))
|
instance.setDescription(lang.getTranslation("actions.logs.unclaimDm"))
|
||||||
}else if (mode == "pin"){
|
}else if (mode == "pin"){
|
||||||
instance.setTitle(utilities.emojiTitle("📌",lang.getTranslation("actions.titles.pin")))
|
instance.setTitle(utilities.emojiTitle(generalConfig.data.system.pinEmoji,lang.getTranslation("actions.titles.pin")))
|
||||||
instance.setDescription(lang.getTranslation("actions.logs.pinDm"))
|
instance.setDescription(lang.getTranslation("actions.logs.pinDm"))
|
||||||
}else if (mode == "unpin"){
|
}else if (mode == "unpin"){
|
||||||
instance.setTitle(utilities.emojiTitle("📌",lang.getTranslation("actions.titles.unpin")))
|
instance.setTitle(utilities.emojiTitle(generalConfig.data.system.pinEmoji,lang.getTranslation("actions.titles.unpin")))
|
||||||
instance.setDescription(lang.getTranslation("actions.logs.unpinDm"))
|
instance.setDescription(lang.getTranslation("actions.logs.unpinDm"))
|
||||||
}else if (mode == "rename"){
|
}else if (mode == "rename"){
|
||||||
instance.setTitle(utilities.emojiTitle("🔄",lang.getTranslation("actions.titles.rename")))
|
instance.setTitle(utilities.emojiTitle("🔄",lang.getTranslation("actions.titles.rename")))
|
||||||
@@ -831,10 +838,9 @@ const ticketEmbeds = () => {
|
|||||||
instance.setTimestamp(new Date())
|
instance.setTimestamp(new Date())
|
||||||
instance.addFields(
|
instance.addFields(
|
||||||
{name:lang.getTranslation("params.uppercase.ticket")+":",value:"```#"+(channel ? channel.name : "<unknown>")+"```",inline:false},
|
{name:lang.getTranslation("params.uppercase.ticket")+":",value:"```#"+(channel ? channel.name : "<unknown>")+"```",inline:false},
|
||||||
//TODO TRANSLATION!!!
|
{name:lang.getTranslation("params.uppercase.option")+":",value:"```"+(ticket.option.get("opendiscord:name").value)+"```",inline:false},
|
||||||
{name:"Option"+":",value:"```"+(ticket.option.get("opendiscord:name").value)+"```",inline:false},
|
|
||||||
)
|
)
|
||||||
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```",inline:false})
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```",inline:false})
|
||||||
|
|
||||||
if (mode == "close"){
|
if (mode == "close"){
|
||||||
instance.setTitle(utilities.emojiTitle("🔒",lang.getTranslation("actions.titles.close")))
|
instance.setTitle(utilities.emojiTitle("🔒",lang.getTranslation("actions.titles.close")))
|
||||||
@@ -852,10 +858,10 @@ const ticketEmbeds = () => {
|
|||||||
instance.setTitle(utilities.emojiTitle("↩️",lang.getTranslation("actions.titles.unclaim")))
|
instance.setTitle(utilities.emojiTitle("↩️",lang.getTranslation("actions.titles.unclaim")))
|
||||||
instance.setDescription(lang.getTranslationWithParams("actions.logs.unclaimLog",[discord.userMention(user.id)]))
|
instance.setDescription(lang.getTranslationWithParams("actions.logs.unclaimLog",[discord.userMention(user.id)]))
|
||||||
}else if (mode == "pin"){
|
}else if (mode == "pin"){
|
||||||
instance.setTitle(utilities.emojiTitle("📌",lang.getTranslation("actions.titles.pin")))
|
instance.setTitle(utilities.emojiTitle(generalConfig.data.system.pinEmoji,lang.getTranslation("actions.titles.pin")))
|
||||||
instance.setDescription(lang.getTranslationWithParams("actions.logs.pinLog",[discord.userMention(user.id)]))
|
instance.setDescription(lang.getTranslationWithParams("actions.logs.pinLog",[discord.userMention(user.id)]))
|
||||||
}else if (mode == "unpin"){
|
}else if (mode == "unpin"){
|
||||||
instance.setTitle(utilities.emojiTitle("📌",lang.getTranslation("actions.titles.unpin")))
|
instance.setTitle(utilities.emojiTitle(generalConfig.data.system.pinEmoji,lang.getTranslation("actions.titles.unpin")))
|
||||||
instance.setDescription(lang.getTranslationWithParams("actions.logs.unpinLog",[discord.userMention(user.id)]))
|
instance.setDescription(lang.getTranslationWithParams("actions.logs.unpinLog",[discord.userMention(user.id)]))
|
||||||
}else if (mode == "rename"){
|
}else if (mode == "rename"){
|
||||||
instance.setTitle(utilities.emojiTitle("🔄",lang.getTranslation("actions.titles.rename")))
|
instance.setTitle(utilities.emojiTitle("🔄",lang.getTranslation("actions.titles.rename")))
|
||||||
@@ -908,7 +914,7 @@ const blacklistEmbeds = () => {
|
|||||||
|
|
||||||
if (blacklist){
|
if (blacklist){
|
||||||
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.blacklistGetSuccess",[discord.userMention(data.id)]))
|
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.blacklistGetSuccess",[discord.userMention(data.id)]))
|
||||||
if (blacklist.reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+blacklist.reason+"```"})
|
if (blacklist.reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(blacklist.reason ?? "/")+"```"})
|
||||||
|
|
||||||
}else instance.setDescription("*"+lang.getTranslationWithParams("actions.descriptions.blacklistGetEmpty",[discord.userMention(data.id)])+"*")
|
}else instance.setDescription("*"+lang.getTranslationWithParams("actions.descriptions.blacklistGetEmpty",[discord.userMention(data.id)])+"*")
|
||||||
})
|
})
|
||||||
@@ -924,7 +930,7 @@ const blacklistEmbeds = () => {
|
|||||||
instance.setColor(generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("🚫",lang.getTranslation("actions.titles.blacklistAdd")))
|
instance.setTitle(utilities.emojiTitle("🚫",lang.getTranslation("actions.titles.blacklistAdd")))
|
||||||
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.blacklistAdd",[discord.userMention(data.id)]))
|
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.blacklistAdd",[discord.userMention(data.id)]))
|
||||||
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```"})
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -938,7 +944,7 @@ const blacklistEmbeds = () => {
|
|||||||
instance.setColor(generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("🆓",lang.getTranslation("actions.titles.blacklistRemove")))
|
instance.setTitle(utilities.emojiTitle("🆓",lang.getTranslation("actions.titles.blacklistRemove")))
|
||||||
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.blacklistRemove",[discord.userMention(data.id)]))
|
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.blacklistRemove",[discord.userMention(data.id)]))
|
||||||
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```"})
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -955,7 +961,7 @@ const blacklistEmbeds = () => {
|
|||||||
instance.setTitle(utilities.emojiTitle((mode == "add") ? "🚫" : "🆓",title))
|
instance.setTitle(utilities.emojiTitle((mode == "add") ? "🚫" : "🆓",title))
|
||||||
instance.setTimestamp(new Date())
|
instance.setTimestamp(new Date())
|
||||||
instance.setDescription(text)
|
instance.setDescription(text)
|
||||||
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```",inline:false})
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -974,7 +980,7 @@ const blacklistEmbeds = () => {
|
|||||||
instance.setAuthor(user.displayName,user.displayAvatarURL())
|
instance.setAuthor(user.displayName,user.displayAvatarURL())
|
||||||
instance.setTimestamp(new Date())
|
instance.setTimestamp(new Date())
|
||||||
instance.setDescription(text)
|
instance.setDescription(text)
|
||||||
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```",inline:false})
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -1074,11 +1080,11 @@ const transcriptEmbeds = () => {
|
|||||||
const {guild,channel,user,ticket,compiler,reason} = params
|
const {guild,channel,user,ticket,compiler,reason} = params
|
||||||
|
|
||||||
instance.setColor(generalConfig.data.system.useRedErrorEmbeds ? "Red" : generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.system.useRedErrorEmbeds ? "Red" : generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("❌","Transcript Error")) //TODO TRANSLATION!!!
|
instance.setTitle(utilities.emojiTitle("❌",lang.getTranslation("transcripts.errors.title")))
|
||||||
instance.setTimestamp(new Date())
|
instance.setTimestamp(new Date())
|
||||||
instance.setDescription(lang.getTranslation("transcripts.errors.error"))
|
instance.setDescription(lang.getTranslation("transcripts.errors.error"))
|
||||||
instance.setFooter(lang.getTranslation("errors.descriptions.askForInfo"))
|
instance.setFooter(lang.getTranslation("errors.descriptions.askForInfo"))
|
||||||
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```",inline:false})
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -1107,6 +1113,58 @@ const roleEmbeds = () => {
|
|||||||
else instance.setDescription(lang.getTranslation("actions.descriptions.rolesEmpty"))
|
else instance.setDescription(lang.getTranslation("actions.descriptions.rolesEmpty"))
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
|
//REACTION ROLE DM
|
||||||
|
embeds.add(new api.ODEmbed("opendiscord:reaction-role-dm"))
|
||||||
|
embeds.get("opendiscord:reaction-role-dm").workers.add(
|
||||||
|
new api.ODWorker("opendiscord:reaction-role-dm",0,async (instance,params,source) => {
|
||||||
|
const {guild,user,role,result} = params
|
||||||
|
|
||||||
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
|
instance.setTitle(utilities.emojiTitle("🎨",lang.getTranslation("actions.titles.roles")))
|
||||||
|
instance.setAuthor(user.displayName,user.displayAvatarURL())
|
||||||
|
instance.setTimestamp(new Date())
|
||||||
|
|
||||||
|
const newResult = result.filter((r) => r.action != null).sort((a,b) => {
|
||||||
|
if (a.action == "added" && b.action == "removed") return -1
|
||||||
|
else if (a.action == "removed" && b.action == "added") return 1
|
||||||
|
else return 0
|
||||||
|
}).map((r) => {
|
||||||
|
return (r.action == "added") ? "🟢 "+lang.getTranslation("params.uppercase.added")+" @"+r.role.name : "🔴 "+lang.getTranslation("params.uppercase.removed")+" @"+r.role.name
|
||||||
|
})
|
||||||
|
|
||||||
|
const baseDescription = lang.getTranslation("actions.logs.roleUpdateDm")
|
||||||
|
|
||||||
|
if (newResult.length > 0) instance.setDescription(baseDescription+"\n\n"+newResult.join("\n"))
|
||||||
|
else instance.setDescription(baseDescription+"\n"+lang.getTranslation("actions.descriptions.rolesEmpty"))
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
|
//REACTION ROLE LOGS
|
||||||
|
embeds.add(new api.ODEmbed("opendiscord:reaction-role-logs"))
|
||||||
|
embeds.get("opendiscord:reaction-role-logs").workers.add(
|
||||||
|
new api.ODWorker("opendiscord:reaction-role-logs",0,async (instance,params,source) => {
|
||||||
|
const {guild,user,role,result} = params
|
||||||
|
|
||||||
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
|
instance.setTitle(utilities.emojiTitle("🎨",lang.getTranslation("actions.titles.roles")))
|
||||||
|
instance.setAuthor(user.displayName,user.displayAvatarURL())
|
||||||
|
instance.setTimestamp(new Date())
|
||||||
|
|
||||||
|
const newResult = result.filter((r) => r.action != null).sort((a,b) => {
|
||||||
|
if (a.action == "added" && b.action == "removed") return -1
|
||||||
|
else if (a.action == "removed" && b.action == "added") return 1
|
||||||
|
else return 0
|
||||||
|
}).map((r) => {
|
||||||
|
return (r.action == "added") ? "🟢 "+lang.getTranslation("params.uppercase.added")+" "+discord.roleMention(r.role.id) : "🔴 "+lang.getTranslation("params.uppercase.removed")+" "+discord.roleMention(r.role.id)
|
||||||
|
})
|
||||||
|
|
||||||
|
const baseDescription = lang.getTranslationWithParams("actions.logs.roleUpdateLog",[discord.userMention(user.id)])
|
||||||
|
|
||||||
|
if (newResult.length > 0) instance.setDescription(baseDescription+"\n\n"+newResult.join("\n"))
|
||||||
|
else instance.setDescription(baseDescription+"\n"+lang.getTranslation("actions.descriptions.rolesEmpty"))
|
||||||
|
})
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
const clearEmbeds = () => {
|
const clearEmbeds = () => {
|
||||||
@@ -1117,7 +1175,7 @@ const clearEmbeds = () => {
|
|||||||
const {guild,channel,user,filter,list} = params
|
const {guild,channel,user,filter,list} = params
|
||||||
|
|
||||||
instance.setColor(generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("⚠️","Clear Tickets")) //TODO TRANSLATION!!!
|
instance.setTitle(utilities.emojiTitle("⚠️",lang.getTranslation("actions.titles.clearTickets")))
|
||||||
instance.setAuthor(user.displayName,user.displayAvatarURL())
|
instance.setAuthor(user.displayName,user.displayAvatarURL())
|
||||||
instance.setTimestamp(new Date())
|
instance.setTimestamp(new Date())
|
||||||
instance.setDescription(lang.getTranslation("actions.descriptions.clearVerify"))
|
instance.setDescription(lang.getTranslation("actions.descriptions.clearVerify"))
|
||||||
@@ -1207,7 +1265,7 @@ const autoEmbeds = () => {
|
|||||||
instance.setColor(generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("⏱️",lang.getTranslation("actions.titles.autocloseEnabled")))
|
instance.setTitle(utilities.emojiTitle("⏱️",lang.getTranslation("actions.titles.autocloseEnabled")))
|
||||||
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.autocloseEnabled",[time.toString()]))
|
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.autocloseEnabled",[time.toString()]))
|
||||||
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```"})
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1221,7 +1279,7 @@ const autoEmbeds = () => {
|
|||||||
instance.setColor(generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("⏱️",lang.getTranslation("actions.titles.autodeleteEnabled")))
|
instance.setTitle(utilities.emojiTitle("⏱️",lang.getTranslation("actions.titles.autodeleteEnabled")))
|
||||||
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.autodeleteEnabled",[time.toString()]))
|
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.autodeleteEnabled",[time.toString()]))
|
||||||
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```"})
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1235,7 +1293,7 @@ const autoEmbeds = () => {
|
|||||||
instance.setColor(generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("⏱️",lang.getTranslation("actions.titles.autocloseDisabled")))
|
instance.setTitle(utilities.emojiTitle("⏱️",lang.getTranslation("actions.titles.autocloseDisabled")))
|
||||||
instance.setDescription(lang.getTranslation("actions.descriptions.autocloseDisabled"))
|
instance.setDescription(lang.getTranslation("actions.descriptions.autocloseDisabled"))
|
||||||
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```"})
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1249,7 +1307,64 @@ const autoEmbeds = () => {
|
|||||||
instance.setColor(generalConfig.data.mainColor)
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
instance.setTitle(utilities.emojiTitle("⏱️",lang.getTranslation("actions.titles.autodeleteDisabled")))
|
instance.setTitle(utilities.emojiTitle("⏱️",lang.getTranslation("actions.titles.autodeleteDisabled")))
|
||||||
instance.setDescription(lang.getTranslation("actions.descriptions.autodeleteDisabled"))
|
instance.setDescription(lang.getTranslation("actions.descriptions.autodeleteDisabled"))
|
||||||
if (reason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+reason+"```"})
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
|
})
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
const extraEmbeds = () => {
|
||||||
|
//TOPIC SET
|
||||||
|
embeds.add(new api.ODEmbed("opendiscord:topic-set"))
|
||||||
|
embeds.get("opendiscord:topic-set").workers.add(
|
||||||
|
new api.ODWorker("opendiscord:topic-set",0,async (instance,params,source) => {
|
||||||
|
const {user,topic} = params
|
||||||
|
|
||||||
|
instance.setAuthor(user.displayName,user.displayAvatarURL())
|
||||||
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
|
instance.setTitle(utilities.emojiTitle("ℹ️",lang.getTranslation("actions.titles.topicSet")))
|
||||||
|
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.topicSet",[discord.userMention(user.id)]))
|
||||||
|
if (topic) instance.addFields({name:lang.getTranslation("params.uppercase.topic")+":",value:"```"+topic+"```"})
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
|
//PRIORITY SET
|
||||||
|
embeds.add(new api.ODEmbed("opendiscord:priority-set"))
|
||||||
|
embeds.get("opendiscord:priority-set").workers.add(
|
||||||
|
new api.ODWorker("opendiscord:priority-set",0,async (instance,params,source) => {
|
||||||
|
const {user,priority,reason} = params
|
||||||
|
|
||||||
|
instance.setAuthor(user.displayName,user.displayAvatarURL())
|
||||||
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
|
instance.setTitle(utilities.emojiTitle("🚨",lang.getTranslation("actions.titles.prioritySet")))
|
||||||
|
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.prioritySet",["**"+priority.renderDisplayName()+"**",discord.userMention(user.id)]))
|
||||||
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
|
//PRIORITY GET
|
||||||
|
embeds.add(new api.ODEmbed("opendiscord:priority-get"))
|
||||||
|
embeds.get("opendiscord:priority-get").workers.add(
|
||||||
|
new api.ODWorker("opendiscord:priority-get",0,async (instance,params,source) => {
|
||||||
|
const {user,priority} = params
|
||||||
|
|
||||||
|
instance.setAuthor(user.displayName,user.displayAvatarURL())
|
||||||
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
|
instance.setTitle(utilities.emojiTitle("🚨",lang.getTranslation("actions.titles.priorityGet")))
|
||||||
|
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.priorityGet",["**"+priority.renderDisplayName()+"**"]))
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
|
//TRANSFER MESSAGE
|
||||||
|
embeds.add(new api.ODEmbed("opendiscord:transfer-message"))
|
||||||
|
embeds.get("opendiscord:transfer-message").workers.add(
|
||||||
|
new api.ODWorker("opendiscord:transfer-message",0,async (instance,params,source) => {
|
||||||
|
const {user,oldCreator,newCreator,reason} = params
|
||||||
|
|
||||||
|
instance.setAuthor(user.displayName,user.displayAvatarURL())
|
||||||
|
instance.setColor(generalConfig.data.mainColor)
|
||||||
|
instance.setTitle(utilities.emojiTitle("🔀",lang.getTranslation("actions.titles.transfer")))
|
||||||
|
instance.setDescription(lang.getTranslationWithParams("actions.descriptions.transfer",[discord.userMention(oldCreator.id),discord.userMention(newCreator.id),discord.userMention(user.id)]))
|
||||||
|
if (reason || generalConfig.data.system.alwaysShowReason) instance.addFields({name:lang.getTranslation("params.uppercase.reason")+":",value:"```"+(reason ?? "/")+"```"})
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -24,6 +24,7 @@ export const registerAllMessages = async () => {
|
|||||||
roleMessages()
|
roleMessages()
|
||||||
clearMessages()
|
clearMessages()
|
||||||
autoMessages()
|
autoMessages()
|
||||||
|
extraMessages()
|
||||||
}
|
}
|
||||||
|
|
||||||
const verifyBarMessages = () => {
|
const verifyBarMessages = () => {
|
||||||
@@ -332,8 +333,8 @@ const errorMessages = () => {
|
|||||||
messages.add(new api.ODMessage("opendiscord:error"))
|
messages.add(new api.ODMessage("opendiscord:error"))
|
||||||
messages.get("opendiscord:error").workers.add(
|
messages.get("opendiscord:error").workers.add(
|
||||||
new api.ODWorker("opendiscord:error",0,async (instance,params,source) => {
|
new api.ODWorker("opendiscord:error",0,async (instance,params,source) => {
|
||||||
const {guild,channel,user,error,layout} = params
|
const {guild,channel,user,error,layout,customTitle} = params
|
||||||
instance.addEmbed(await embeds.getSafe("opendiscord:error").build(source,{guild,channel,user,error,layout}))
|
instance.addEmbed(await embeds.getSafe("opendiscord:error").build(source,{guild,channel,user,error,layout,customTitle}))
|
||||||
instance.setEphemeral(true)
|
instance.setEphemeral(true)
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
@@ -964,6 +965,24 @@ const roleMessages = () => {
|
|||||||
instance.setEphemeral(true)
|
instance.setEphemeral(true)
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
|
//REACTION ROLE DM
|
||||||
|
messages.add(new api.ODMessage("opendiscord:reaction-role-dm"))
|
||||||
|
messages.get("opendiscord:reaction-role-dm").workers.add(
|
||||||
|
new api.ODWorker("opendiscord:reaction-role-dm",0,async (instance,params,source) => {
|
||||||
|
const {guild,user,role,result} = params
|
||||||
|
instance.addEmbed(await embeds.getSafe("opendiscord:reaction-role-dm").build(source,{guild,user,role,result}))
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
|
//REACTION ROLE LOGS
|
||||||
|
messages.add(new api.ODMessage("opendiscord:reaction-role-logs"))
|
||||||
|
messages.get("opendiscord:reaction-role-logs").workers.add(
|
||||||
|
new api.ODWorker("opendiscord:reaction-role-logs",0,async (instance,params,source) => {
|
||||||
|
const {guild,user,role,result} = params
|
||||||
|
instance.addEmbed(await embeds.getSafe("opendiscord:reaction-role-logs").build(source,{guild,user,role,result}))
|
||||||
|
})
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
const clearMessages = () => {
|
const clearMessages = () => {
|
||||||
@@ -1055,3 +1074,41 @@ const autoMessages = () => {
|
|||||||
})
|
})
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const extraMessages = () => {
|
||||||
|
//TOPIC SET
|
||||||
|
messages.add(new api.ODMessage("opendiscord:topic-set"))
|
||||||
|
messages.get("opendiscord:topic-set").workers.add(
|
||||||
|
new api.ODWorker("opendiscord:topic-set",0,async (instance,params,source) => {
|
||||||
|
const {guild,channel,user,ticket,topic} = params
|
||||||
|
instance.addEmbed(await embeds.getSafe("opendiscord:topic-set").build(source,{guild,channel,user,ticket,topic}))
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
|
//PRIORITY SET
|
||||||
|
messages.add(new api.ODMessage("opendiscord:priority-set"))
|
||||||
|
messages.get("opendiscord:priority-set").workers.add(
|
||||||
|
new api.ODWorker("opendiscord:priority-set",0,async (instance,params,source) => {
|
||||||
|
const {guild,channel,user,ticket,priority,reason} = params
|
||||||
|
instance.addEmbed(await embeds.getSafe("opendiscord:priority-set").build(source,{guild,channel,user,ticket,priority,reason}))
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
|
//PRIORITY GET
|
||||||
|
messages.add(new api.ODMessage("opendiscord:priority-get"))
|
||||||
|
messages.get("opendiscord:priority-get").workers.add(
|
||||||
|
new api.ODWorker("opendiscord:priority-get",0,async (instance,params,source) => {
|
||||||
|
const {guild,channel,user,ticket,priority} = params
|
||||||
|
instance.addEmbed(await embeds.getSafe("opendiscord:priority-get").build(source,{guild,channel,user,ticket,priority}))
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
|
//TRANSFER MESSAGE
|
||||||
|
messages.add(new api.ODMessage("opendiscord:transfer-message"))
|
||||||
|
messages.get("opendiscord:transfer-message").workers.add(
|
||||||
|
new api.ODWorker("opendiscord:transfer-message",0,async (instance,params,source) => {
|
||||||
|
const {guild,channel,user,ticket,oldCreator,newCreator,reason} = params
|
||||||
|
instance.addEmbed(await embeds.getSafe("opendiscord:transfer-message").build(source,{guild,channel,user,ticket,oldCreator,newCreator,reason}))
|
||||||
|
})
|
||||||
|
)
|
||||||
|
}
|
||||||
+14
-34
@@ -10,50 +10,30 @@ export const registerCommandResponders = async () => {
|
|||||||
//ADD COMMAND RESPONDER
|
//ADD COMMAND RESPONDER
|
||||||
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:add",generalConfig.data.prefix,"add"))
|
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:add",generalConfig.data.prefix,"add"))
|
||||||
opendiscord.responders.commands.get("opendiscord:add").workers.add([
|
opendiscord.responders.commands.get("opendiscord:add").workers.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
|
||||||
const permissionMode = generalConfig.data.system.permissions.add
|
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else if (permissionMode == "everyone") return
|
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:add",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:add",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {guild,channel,user,member} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.add,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check if in guild/Server
|
||||||
if (!guild){
|
if (!guild){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
const ticket = opendiscord.tickets.get(channel.id)
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
if (!ticket || channel.isDMBased()){
|
if (!ticket || channel.isDMBased()){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when busy
|
//return when busy
|
||||||
if (ticket.get("opendiscord:busy").value){
|
if (ticket.get("opendiscord:busy").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
||||||
|
|||||||
+16
-35
@@ -10,62 +10,43 @@ export const registerCommandResponders = async () => {
|
|||||||
//AUTOCLOSE COMMAND RESPONDER
|
//AUTOCLOSE COMMAND RESPONDER
|
||||||
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:autoclose",generalConfig.data.prefix,/^autoclose/))
|
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:autoclose",generalConfig.data.prefix,/^autoclose/))
|
||||||
opendiscord.responders.commands.get("opendiscord:autoclose").workers.add([
|
opendiscord.responders.commands.get("opendiscord:autoclose").workers.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
|
||||||
const permissionMode = generalConfig.data.system.permissions.autoclose
|
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else if (permissionMode == "everyone") return
|
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:autoclose",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:autoclose",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {guild,channel,user,member} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.autoclose,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check is in guild/server
|
||||||
if (!guild){
|
if (!guild){
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build(source,{channel:instance.channel,user:instance.user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build(source,{channel:instance.channel,user:instance.user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
const ticket = opendiscord.tickets.get(channel.id)
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
if (!ticket || channel.isDMBased()){
|
if (!ticket || channel.isDMBased()){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when already closed
|
//return when already closed
|
||||||
if (ticket.get("opendiscord:closed").value){
|
if (ticket.get("opendiscord:closed").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,error:opendiscord.languages.getTranslation("errors.actionInvalid.close"),layout:"simple"}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,error:opendiscord.languages.getTranslation("errors.actionInvalid.close"),layout:"simple"}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when busy
|
//return when busy
|
||||||
if (ticket.get("opendiscord:busy").value){
|
if (ticket.get("opendiscord:busy").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//subcommands
|
||||||
const scope = instance.options.getSubCommand()
|
const scope = instance.options.getSubCommand()
|
||||||
if (!scope || (scope != "disable" && scope != "enable")) return
|
if (!scope || (scope != "disable" && scope != "enable")) return
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
///////////////////////////////////////
|
||||||
|
//AUTOCOMPLETE COMMAND UTILS
|
||||||
|
///////////////////////////////////////
|
||||||
|
import {opendiscord, api, utilities} from "../index"
|
||||||
|
import * as discord from "discord.js"
|
||||||
|
|
||||||
|
export const registerAutocompleteResponders = async () => {
|
||||||
|
//PANEL ID AUTOCOMPLETE
|
||||||
|
opendiscord.responders.autocomplete.add(new api.ODAutocompleteResponder("opendiscord:panel-id","panel","id"))
|
||||||
|
opendiscord.responders.autocomplete.get("opendiscord:panel-id").workers.add(new api.ODWorker("opendiscord:panel-id",0,async (instance,params,source,cancel) => {
|
||||||
|
//create panel choices
|
||||||
|
const panelChoices : {name:string, value:string}[] = []
|
||||||
|
opendiscord.configs.get("opendiscord:panels").data.forEach((panel) => {
|
||||||
|
panelChoices.push({name:panel.name, value:panel.id})
|
||||||
|
})
|
||||||
|
|
||||||
|
await instance.filteredAutocomplete(panelChoices)
|
||||||
|
}))
|
||||||
|
|
||||||
|
//OPTION ID AUTOCOMPLETE
|
||||||
|
opendiscord.responders.autocomplete.add(new api.ODAutocompleteResponder("opendiscord:option-id",/ticket|move/,"id"))
|
||||||
|
opendiscord.responders.autocomplete.get("opendiscord:option-id").workers.add(new api.ODWorker("opendiscord:option-id",0,async (instance,params,source,cancel) => {
|
||||||
|
//create ticket choices
|
||||||
|
const ticketChoices : {name:string, value:string}[] = []
|
||||||
|
opendiscord.configs.get("opendiscord:options").data.forEach((option) => {
|
||||||
|
if (option.type != "ticket") return
|
||||||
|
ticketChoices.push({name:option.name, value:option.id})
|
||||||
|
})
|
||||||
|
|
||||||
|
instance.filteredAutocomplete(ticketChoices)
|
||||||
|
}))
|
||||||
|
}
|
||||||
+15
-34
@@ -10,57 +10,38 @@ export const registerCommandResponders = async () => {
|
|||||||
//AUTODELETE COMMAND RESPONDER
|
//AUTODELETE COMMAND RESPONDER
|
||||||
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:autodelete",generalConfig.data.prefix,/^autodelete/))
|
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:autodelete",generalConfig.data.prefix,/^autodelete/))
|
||||||
opendiscord.responders.commands.get("opendiscord:autodelete").workers.add([
|
opendiscord.responders.commands.get("opendiscord:autodelete").workers.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
|
||||||
const permissionMode = generalConfig.data.system.permissions.autodelete
|
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else if (permissionMode == "everyone") return
|
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:autodelete",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:autodelete",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {guild,channel,user,member} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.autodelete,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check is in guild/server
|
||||||
if (!guild){
|
if (!guild){
|
||||||
//error
|
//error
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build(source,{channel:instance.channel,user:instance.user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build(source,{channel:instance.channel,user:instance.user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
const ticket = opendiscord.tickets.get(channel.id)
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
if (!ticket || channel.isDMBased()){
|
if (!ticket || channel.isDMBased()){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when busy
|
//return when busy
|
||||||
if (ticket.get("opendiscord:busy").value){
|
if (ticket.get("opendiscord:busy").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//subcommands
|
||||||
const scope = instance.options.getSubCommand()
|
const scope = instance.options.getSubCommand()
|
||||||
if (!scope || (scope != "disable" && scope != "enable")) return
|
if (!scope || (scope != "disable" && scope != "enable")) return
|
||||||
|
|
||||||
|
|||||||
+13
-36
@@ -10,49 +10,26 @@ export const registerCommandResponders = async () => {
|
|||||||
//BLACKLIST COMMAND RESPONDER
|
//BLACKLIST COMMAND RESPONDER
|
||||||
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:blacklist",generalConfig.data.prefix,/^blacklist/))
|
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:blacklist",generalConfig.data.prefix,/^blacklist/))
|
||||||
opendiscord.responders.commands.get("opendiscord:blacklist").workers.add([
|
opendiscord.responders.commands.get("opendiscord:blacklist").workers.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
|
||||||
const permissionMode = generalConfig.data.system.permissions.blacklist
|
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else if (permissionMode == "everyone") return
|
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:blacklist",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:blacklist",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {guild,channel,user,member} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.blacklist,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check is in guild/server
|
||||||
if (!guild){
|
if (!guild){
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build(source,{channel:instance.channel,user:instance.user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build(source,{channel:instance.channel,user:instance.user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//subcommands
|
||||||
const scope = instance.options.getSubCommand()
|
const scope = instance.options.getSubCommand()
|
||||||
if (!scope || (scope != "add" && scope != "get" && scope != "remove" && scope != "view")) return
|
if (!scope || (scope != "add" && scope != "get" && scope != "remove" && scope != "view")) return
|
||||||
|
|
||||||
if (scope == "view"){
|
if (scope == "view"){
|
||||||
await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:blacklist-view").build(source,{guild,channel,user}))
|
await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:blacklist-view").build(source,{guild,channel,user}))
|
||||||
|
|
||||||
|
|||||||
+15
-34
@@ -10,55 +10,36 @@ export const registerCommandResponders = async () => {
|
|||||||
//CLAIM COMMAND RESPONDER
|
//CLAIM COMMAND RESPONDER
|
||||||
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:claim",generalConfig.data.prefix,"claim"))
|
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:claim",generalConfig.data.prefix,"claim"))
|
||||||
opendiscord.responders.commands.get("opendiscord:claim").workers.add([
|
opendiscord.responders.commands.get("opendiscord:claim").workers.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
|
||||||
const permissionMode = generalConfig.data.system.permissions.claim
|
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else if (permissionMode == "everyone") return
|
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:claim",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:claim",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {guild,channel,user,member} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.claim,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check is in guild/server
|
||||||
if (!guild){
|
if (!guild){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
const ticket = opendiscord.tickets.get(channel.id)
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
if (!ticket || channel.isDMBased()){
|
if (!ticket || channel.isDMBased()){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when already claimed
|
//return when already claimed
|
||||||
if (ticket.get("opendiscord:claimed").value){
|
if (ticket.get("opendiscord:claimed").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,error:opendiscord.languages.getTranslation("errors.actionInvalid.claim"),layout:"simple"}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,error:opendiscord.languages.getTranslation("errors.actionInvalid.claim"),layout:"simple"}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when busy
|
//return when busy
|
||||||
if (ticket.get("opendiscord:busy").value){
|
if (ticket.get("opendiscord:busy").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
||||||
|
|||||||
+11
-35
@@ -10,42 +10,18 @@ export const registerCommandResponders = async () => {
|
|||||||
//CLEAR COMMAND RESPONDER
|
//CLEAR COMMAND RESPONDER
|
||||||
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:clear",generalConfig.data.prefix,"clear"))
|
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:clear",generalConfig.data.prefix,"clear"))
|
||||||
opendiscord.responders.commands.get("opendiscord:clear").workers.add([
|
opendiscord.responders.commands.get("opendiscord:clear").workers.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
|
||||||
const permissionMode = generalConfig.data.system.permissions.clear
|
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else if (permissionMode == "everyone") return
|
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
//only allow global admins (ticket admins aren't allowed to clear tickets)
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild,{allowChannelUserScope:false,allowChannelRoleScope:false}))){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:clear",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:clear",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {user,member,channel,guild} = instance
|
||||||
|
|
||||||
|
//check permissions (only allow global admins: ticket admins aren't allowed to clear tickets)
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.clear,"support",user,member,channel,guild,{allowChannelUserScope:false,allowChannelRoleScope:false})
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check is in guild/server
|
||||||
if (!guild || channel.isDMBased()){
|
if (!guild || channel.isDMBased()){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
|
|||||||
+29
-35
@@ -5,70 +5,64 @@ import {opendiscord, api, utilities} from "../index"
|
|||||||
import * as discord from "discord.js"
|
import * as discord from "discord.js"
|
||||||
|
|
||||||
const generalConfig = opendiscord.configs.get("opendiscord:general")
|
const generalConfig = opendiscord.configs.get("opendiscord:general")
|
||||||
|
const lang = opendiscord.languages
|
||||||
|
|
||||||
export const registerCommandResponders = async () => {
|
export const registerCommandResponders = async () => {
|
||||||
//CLOSE COMMAND RESPONDER
|
//CLOSE COMMAND RESPONDER
|
||||||
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:close",generalConfig.data.prefix,"close"))
|
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:close",generalConfig.data.prefix,"close"))
|
||||||
opendiscord.responders.commands.get("opendiscord:close").workers.add([
|
opendiscord.responders.commands.get("opendiscord:close").workers.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
|
||||||
const permissionMode = generalConfig.data.system.permissions.close
|
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else if (permissionMode == "everyone") return
|
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:close",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:close",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {user,member,channel,guild} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.close,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check is in guild/server
|
||||||
if (!guild){
|
if (!guild){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
const ticket = opendiscord.tickets.get(channel.id)
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
if (!ticket || channel.isDMBased()){
|
if (!ticket || channel.isDMBased()){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when already closed
|
//return when already closed
|
||||||
if (ticket.get("opendiscord:closed").value){
|
if (ticket.get("opendiscord:closed").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,error:opendiscord.languages.getTranslation("errors.actionInvalid.close"),layout:"simple"}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,error:opendiscord.languages.getTranslation("errors.actionInvalid.close"),layout:"simple"}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when busy
|
//return when busy
|
||||||
if (ticket.get("opendiscord:busy").value){
|
if (ticket.get("opendiscord:busy").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
const reason = instance.options.getString("reason",false)
|
//return when not allowed because of missing messages
|
||||||
|
if (!permsResult.isAdmin && (!generalConfig.data.system.allowCloseBeforeMessage || !generalConfig.data.system.allowCloseBeforeAdminMessage)){
|
||||||
|
const analysis = await opendiscord.transcripts.collector.ticketUserMessagesAnalysis(ticket,guild,channel)
|
||||||
|
if (analysis && !generalConfig.data.system.allowCloseBeforeMessage && analysis.totalMessages < 1){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,layout:"simple",error:lang.getTranslation("errors.descriptions.closeBeforeMessage"),customTitle:lang.getTranslation("errors.titles.noPermissions")}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
if (analysis && !generalConfig.data.system.allowCloseBeforeAdminMessage && analysis.adminMessages < 1){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,layout:"simple",error:lang.getTranslation("errors.descriptions.closeBeforeAdminMessage"),customTitle:lang.getTranslation("errors.titles.noPermissions")}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//start closing ticket
|
//start closing ticket
|
||||||
await instance.defer(false)
|
await instance.defer(false)
|
||||||
|
const reason = instance.options.getString("reason",false)
|
||||||
await opendiscord.actions.get("opendiscord:close-ticket").run(source,{guild,channel,user,ticket,reason,sendMessage:false})
|
await opendiscord.actions.get("opendiscord:close-ticket").run(source,{guild,channel,user,ticket,reason,sendMessage:false})
|
||||||
await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:close-message").build(source,{guild,channel,user,ticket,reason}))
|
await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:close-message").build(source,{guild,channel,user,ticket,reason}))
|
||||||
}),
|
}),
|
||||||
|
|||||||
+36
-34
@@ -5,64 +5,66 @@ import {opendiscord, api, utilities} from "../index"
|
|||||||
import * as discord from "discord.js"
|
import * as discord from "discord.js"
|
||||||
|
|
||||||
const generalConfig = opendiscord.configs.get("opendiscord:general")
|
const generalConfig = opendiscord.configs.get("opendiscord:general")
|
||||||
|
const lang = opendiscord.languages
|
||||||
|
|
||||||
export const registerCommandResponders = async () => {
|
export const registerCommandResponders = async () => {
|
||||||
//DELETE COMMAND RESPONDER
|
//DELETE COMMAND RESPONDER
|
||||||
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:delete",generalConfig.data.prefix,"delete"))
|
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:delete",generalConfig.data.prefix,"delete"))
|
||||||
opendiscord.responders.commands.get("opendiscord:delete").workers.add([
|
opendiscord.responders.commands.get("opendiscord:delete").workers.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
|
||||||
const permissionMode = generalConfig.data.system.permissions.delete
|
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else if (permissionMode == "everyone") return
|
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:delete",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:delete",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {user,member,channel,guild} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.delete,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check is in guild/server
|
||||||
if (!guild){
|
if (!guild){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
const ticket = opendiscord.tickets.get(channel.id)
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
if (!ticket || channel.isDMBased()){
|
if (!ticket || channel.isDMBased()){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when busy
|
//return when busy
|
||||||
if (ticket.get("opendiscord:busy").value){
|
if (ticket.get("opendiscord:busy").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//return when not allowed because of missing messages
|
||||||
|
if (!permsResult.isAdmin && (!generalConfig.data.system.allowCloseBeforeMessage || !generalConfig.data.system.allowCloseBeforeAdminMessage)){
|
||||||
|
const analysis = await opendiscord.transcripts.collector.ticketUserMessagesAnalysis(ticket,guild,channel)
|
||||||
|
if (analysis && !generalConfig.data.system.allowCloseBeforeMessage && analysis.totalMessages < 1){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,layout:"simple",error:lang.getTranslation("errors.descriptions.closeBeforeMessage"),customTitle:lang.getTranslation("errors.titles.noPermissions")}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
if (analysis && !generalConfig.data.system.allowCloseBeforeAdminMessage && analysis.adminMessages < 1){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,layout:"simple",error:lang.getTranslation("errors.descriptions.closeBeforeAdminMessage"),customTitle:lang.getTranslation("errors.titles.noPermissions")}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const reason = instance.options.getString("reason",false)
|
const reason = instance.options.getString("reason",false)
|
||||||
const withoutTranscript = instance.options.getBoolean("notranscript",false) ?? false
|
const withoutTranscript = instance.options.getBoolean("notranscript",false) ?? false
|
||||||
|
|
||||||
|
//don't allow deleteWithoutTranscript to non-global-admins when enabled
|
||||||
|
if (withoutTranscript && generalConfig.data.system.adminOnlyDeleteWithoutTranscript){
|
||||||
|
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild,{allowChannelRoleScope:false,allowChannelUserScope:false,allowGlobalRoleScope:true,allowGlobalUserScope:true}))){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//start deleting ticket
|
//start deleting ticket
|
||||||
await instance.defer(false)
|
await instance.defer(false)
|
||||||
await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:delete-message").build(source,{guild,channel,user,ticket,reason}))
|
await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:delete-message").build(source,{guild,channel,user,ticket,reason}))
|
||||||
|
|||||||
+12
-38
@@ -10,47 +10,21 @@ export const registerCommandResponders = async () => {
|
|||||||
//HELP COMMAND RESPONDER
|
//HELP COMMAND RESPONDER
|
||||||
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:help",generalConfig.data.prefix,"help"))
|
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:help",generalConfig.data.prefix,"help"))
|
||||||
opendiscord.responders.commands.get("opendiscord:help").workers.add([
|
opendiscord.responders.commands.get("opendiscord:help").workers.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
|
||||||
const permissionMode = generalConfig.data.system.permissions.help
|
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else if (permissionMode == "everyone") return
|
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:help",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:help",0,async (instance,params,source,cancel) => {
|
||||||
const preferSlashOverText = generalConfig.data.system.preferSlashOverText
|
const {guild,channel,user,member} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.help,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//calculate slash/text mode for help menu
|
||||||
let mode: "slash"|"text"
|
let mode: "slash"|"text"
|
||||||
if (generalConfig.data.slashCommands && generalConfig.data.textCommands){
|
if (generalConfig.data.slashCommands && generalConfig.data.textCommands) mode = (generalConfig.data.system.preferSlashOverText) ? "slash" : "text"
|
||||||
mode = (preferSlashOverText) ? "slash" : "text"
|
else if (!generalConfig.data.slashCommands) mode = "text"
|
||||||
|
|
||||||
}else if (!generalConfig.data.slashCommands) mode = "text"
|
|
||||||
else mode = "slash"
|
else mode = "slash"
|
||||||
|
|
||||||
await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:help-menu").build(source,{mode,page:0}))
|
await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:help-menu").build(source,{mode,page:0}))
|
||||||
|
|||||||
+13
-34
@@ -10,45 +10,24 @@ export const registerCommandResponders = async () => {
|
|||||||
//MOVE COMMAND RESPONDER
|
//MOVE COMMAND RESPONDER
|
||||||
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:move",generalConfig.data.prefix,"move"))
|
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:move",generalConfig.data.prefix,"move"))
|
||||||
opendiscord.responders.commands.get("opendiscord:move").workers.add([
|
opendiscord.responders.commands.get("opendiscord:move").workers.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
|
||||||
const permissionMode = generalConfig.data.system.permissions.move
|
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else if (permissionMode == "everyone") return
|
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:move",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:move",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {guild,channel,user,member} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.move,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check if in guild/server
|
||||||
if (!guild){
|
if (!guild){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
const ticket = opendiscord.tickets.get(channel.id)
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
if (!ticket || channel.isDMBased()){
|
if (!ticket || channel.isDMBased()){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
|
|||||||
+12
-38
@@ -10,53 +10,27 @@ export const registerCommandResponders = async () => {
|
|||||||
//PANEL COMMAND RESPONDER
|
//PANEL COMMAND RESPONDER
|
||||||
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:panel",generalConfig.data.prefix,/^panel/))
|
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:panel",generalConfig.data.prefix,/^panel/))
|
||||||
opendiscord.responders.commands.get("opendiscord:panel").workers.add([
|
opendiscord.responders.commands.get("opendiscord:panel").workers.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
|
||||||
const permissionMode = generalConfig.data.system.permissions.panel
|
|
||||||
|
|
||||||
//command is disabled
|
|
||||||
if (permissionMode == "none"){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else if (permissionMode == "everyone") return
|
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:panel",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:panel",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {guild,channel,user,member} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.panel,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check is in guild/server
|
||||||
if (!guild || instance.channel.type == discord.ChannelType.GroupDM){
|
if (!guild || instance.channel.type == discord.ChannelType.GroupDM){
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build(source,{channel:instance.channel,user:instance.user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build(source,{channel:instance.channel,user:instance.user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//get panel data
|
||||||
const id = instance.options.getString("id",true)
|
const id = instance.options.getString("id",true)
|
||||||
const panel = opendiscord.panels.get(id)
|
const panel = opendiscord.panels.get(id)
|
||||||
|
|
||||||
if (!panel){
|
if (!panel){
|
||||||
//invalid panel
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-panel-unknown").build(source,{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-panel-unknown").build(source,{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|||||||
+15
-1
@@ -44,21 +44,35 @@ export const registerCommandResponders = async () => {
|
|||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
new api.ODWorker("opendiscord:pin",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:pin",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {guild,channel,user,member} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.pin,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check is in guild/server
|
||||||
if (!guild){
|
if (!guild){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
const ticket = opendiscord.tickets.get(channel.id)
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
if (!ticket || channel.isDMBased()){
|
if (!ticket || channel.isDMBased()){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when already pinned
|
//return when already pinned
|
||||||
if (ticket.get("opendiscord:pinned").value){
|
if (ticket.get("opendiscord:pinned").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,error:opendiscord.languages.getTranslation("errors.actionInvalid.pin"),layout:"simple"}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,error:opendiscord.languages.getTranslation("errors.actionInvalid.pin"),layout:"simple"}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when busy
|
//return when busy
|
||||||
if (ticket.get("opendiscord:busy").value){
|
if (ticket.get("opendiscord:busy").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
||||||
|
|||||||
@@ -0,0 +1,77 @@
|
|||||||
|
///////////////////////////////////////
|
||||||
|
//PRIORITY COMMAND
|
||||||
|
///////////////////////////////////////
|
||||||
|
import {opendiscord, api, utilities} from "../index"
|
||||||
|
import * as discord from "discord.js"
|
||||||
|
|
||||||
|
const generalConfig = opendiscord.configs.get("opendiscord:general")
|
||||||
|
|
||||||
|
export const registerCommandResponders = async () => {
|
||||||
|
//PRIORITY COMMAND RESPONDER
|
||||||
|
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:priority",generalConfig.data.prefix,"priority"))
|
||||||
|
opendiscord.responders.commands.get("opendiscord:priority").workers.add([
|
||||||
|
new api.ODWorker("opendiscord:priority",0,async (instance,params,source,cancel) => {
|
||||||
|
const {guild,channel,user,member} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.priority,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check is in guild/server
|
||||||
|
if (!guild){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
|
if (!ticket || channel.isDMBased()){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//return when busy
|
||||||
|
if (ticket.get("opendiscord:busy").value){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//subcommands
|
||||||
|
const scope = instance.options.getSubCommand()
|
||||||
|
if (!scope || (scope != "set" && scope != "get")) return
|
||||||
|
|
||||||
|
if (scope == "set"){
|
||||||
|
const priorityName = instance.options.getString("priority",true)
|
||||||
|
const reason = instance.options.getString("reason",false)
|
||||||
|
|
||||||
|
const priority = opendiscord.priorities.getAll().find((lvl) => lvl.rawName === priorityName) ?? null
|
||||||
|
if (!priority){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,layout:"simple",error:"Please provide a valid priority level.",customTitle:"Unknown Priority Level"}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//start changing ticket priority
|
||||||
|
await instance.defer(false)
|
||||||
|
await opendiscord.actions.get("opendiscord:update-ticket-priority").run(source,{guild,channel,user,ticket,newPriority:priority,sendMessage:false,reason})
|
||||||
|
await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:priority-set").build(source,{guild,channel,user,ticket,priority,reason}))
|
||||||
|
|
||||||
|
}else if (scope == "get"){
|
||||||
|
const priority = opendiscord.priorities.getFromPriorityLevel(ticket.get("opendiscord:priority").value)
|
||||||
|
await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:priority-get").build(source,{guild,channel,user,ticket,priority}))
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
new api.ODWorker("opendiscord:logs",-1,(instance,params,source,cancel) => {
|
||||||
|
const scope = instance.options.getSubCommand()
|
||||||
|
opendiscord.log(instance.user.displayName+" used the 'priority "+scope+"' command!","info",[
|
||||||
|
{key:"user",value:instance.user.username},
|
||||||
|
{key:"userid",value:instance.user.id,hidden:true},
|
||||||
|
{key:"channelid",value:instance.channel.id,hidden:true},
|
||||||
|
{key:"method",value:source}
|
||||||
|
])
|
||||||
|
})
|
||||||
|
])
|
||||||
|
}
|
||||||
+14
-34
@@ -10,50 +10,30 @@ export const registerCommandResponders = async () => {
|
|||||||
//REMOVE COMMAND RESPONDER
|
//REMOVE COMMAND RESPONDER
|
||||||
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:remove",generalConfig.data.prefix,"remove"))
|
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:remove",generalConfig.data.prefix,"remove"))
|
||||||
opendiscord.responders.commands.get("opendiscord:remove").workers.add([
|
opendiscord.responders.commands.get("opendiscord:remove").workers.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
|
||||||
const permissionMode = generalConfig.data.system.permissions.remove
|
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else if (permissionMode == "everyone") return
|
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:remove",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:remove",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {guild,channel,user,member} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.remove,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check is in guild/server
|
||||||
if (!guild){
|
if (!guild){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
const ticket = opendiscord.tickets.get(channel.id)
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
if (!ticket || channel.isDMBased()){
|
if (!ticket || channel.isDMBased()){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when busy
|
//return when busy
|
||||||
if (ticket.get("opendiscord:busy").value){
|
if (ticket.get("opendiscord:busy").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
||||||
|
|||||||
+14
-34
@@ -10,50 +10,30 @@ export const registerCommandResponders = async () => {
|
|||||||
//RENAME COMMAND RESPONDER
|
//RENAME COMMAND RESPONDER
|
||||||
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:rename",generalConfig.data.prefix,"rename"))
|
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:rename",generalConfig.data.prefix,"rename"))
|
||||||
opendiscord.responders.commands.get("opendiscord:rename").workers.add([
|
opendiscord.responders.commands.get("opendiscord:rename").workers.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
|
||||||
const permissionMode = generalConfig.data.system.permissions.rename
|
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else if (permissionMode == "everyone") return
|
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:rename",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:rename",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {guild,channel,user,member} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.rename,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check is in guild/server
|
||||||
if (!guild){
|
if (!guild){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
const ticket = opendiscord.tickets.get(channel.id)
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
if (!ticket || channel.isDMBased()){
|
if (!ticket || channel.isDMBased()){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when busy
|
//return when busy
|
||||||
if (ticket.get("opendiscord:busy").value){
|
if (ticket.get("opendiscord:busy").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
||||||
|
|||||||
+15
-34
@@ -10,55 +10,36 @@ export const registerCommandResponders = async () => {
|
|||||||
//REOPEN COMMAND RESPONDER
|
//REOPEN COMMAND RESPONDER
|
||||||
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:reopen",generalConfig.data.prefix,"reopen"))
|
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:reopen",generalConfig.data.prefix,"reopen"))
|
||||||
opendiscord.responders.commands.get("opendiscord:reopen").workers.add([
|
opendiscord.responders.commands.get("opendiscord:reopen").workers.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
|
||||||
const permissionMode = generalConfig.data.system.permissions.reopen
|
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else if (permissionMode == "everyone") return
|
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:reopen",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:reopen",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {guild,channel,user,member} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.reopen,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check is in guild/server
|
||||||
if (!guild){
|
if (!guild){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
const ticket = opendiscord.tickets.get(channel.id)
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
if (!ticket || channel.isDMBased()){
|
if (!ticket || channel.isDMBased()){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when not closed
|
//return when not closed
|
||||||
if (!ticket.get("opendiscord:closed").value){
|
if (!ticket.get("opendiscord:closed").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,error:opendiscord.languages.getTranslation("errors.actionInvalid.reopen"),layout:"simple"}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,error:opendiscord.languages.getTranslation("errors.actionInvalid.reopen"),layout:"simple"}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when busy
|
//return when busy
|
||||||
if (ticket.get("opendiscord:busy").value){
|
if (ticket.get("opendiscord:busy").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
||||||
|
|||||||
@@ -12,13 +12,14 @@ export const registerButtonResponders = async () => {
|
|||||||
opendiscord.responders.buttons.get("opendiscord:role-option").workers.add(
|
opendiscord.responders.buttons.get("opendiscord:role-option").workers.add(
|
||||||
new api.ODWorker("opendiscord:role-option",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:role-option",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {guild,channel,user} = instance
|
||||||
|
|
||||||
|
//check is in guild/server
|
||||||
if (!guild){
|
if (!guild){
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build(source,{channel:instance.channel,user:instance.user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build(source,{channel:instance.channel,user:instance.user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//get option
|
//get option data
|
||||||
const optionId = instance.interaction.customId.split("_")[2]
|
const optionId = instance.interaction.customId.split("_")[2]
|
||||||
const option = opendiscord.options.get(optionId)
|
const option = opendiscord.options.get(optionId)
|
||||||
if (!option || !(option instanceof api.ODRoleOption)){
|
if (!option || !(option instanceof api.ODRoleOption)){
|
||||||
|
|||||||
+26
-2
@@ -57,12 +57,36 @@ export const registerCommandResponders = async () => {
|
|||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
new api.ODWorker("opendiscord:stats",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:stats",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {user,member,channel,guild} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
if (generalConfig.data.system.permissions.stats === "none"){
|
||||||
|
//command is disabled
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
||||||
|
return cancel()
|
||||||
|
|
||||||
|
}else if (instance.options.getSubCommand() === "reset" && !opendiscord.permissions.hasPermissions("owner",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
||||||
|
//reset --> owner/developer role is required
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["owner","developer"]}))
|
||||||
|
return cancel()
|
||||||
|
|
||||||
|
}else{
|
||||||
|
//default permissions check
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.stats,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//check is in guild/server
|
||||||
if (!guild){
|
if (!guild){
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build(source,{channel:instance.channel,user:instance.user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build(source,{channel:instance.channel,user:instance.user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//subcommands
|
||||||
const scope = instance.options.getSubCommand()
|
const scope = instance.options.getSubCommand()
|
||||||
if (!scope || (scope != "global" && scope != "ticket" && scope != "user" && scope != "reset")) return
|
if (!scope || (scope != "global" && scope != "ticket" && scope != "user" && scope != "reset")) return
|
||||||
|
|
||||||
|
|||||||
+44
-80
@@ -5,53 +5,48 @@ import {opendiscord, api, utilities} from "../index"
|
|||||||
import * as discord from "discord.js"
|
import * as discord from "discord.js"
|
||||||
|
|
||||||
const generalConfig = opendiscord.configs.get("opendiscord:general")
|
const generalConfig = opendiscord.configs.get("opendiscord:general")
|
||||||
|
const lang = opendiscord.languages
|
||||||
|
|
||||||
|
async function checkTicketCreationPerms(instance:api.ODButtonResponderInstance|api.ODDropdownResponderInstance|api.ODModalResponderInstance|api.ODCommandResponderInstance,source:api.ODActionManagerIds_Default["opendiscord:create-ticket-permissions"]["source"],guild:discord.Guild,user:discord.User,option:api.ODTicketOption){
|
||||||
|
//check ticket permissions
|
||||||
|
const permsRes = await opendiscord.actions.get("opendiscord:create-ticket-permissions").run(source,{guild,user,option})
|
||||||
|
if (!permsRes.valid && instance.channel){
|
||||||
|
//error
|
||||||
|
const newSource = (source === "slash" || source === "text") ? source : "other"
|
||||||
|
if (permsRes.reason == "blacklist") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-blacklisted").build(newSource,{guild:instance.guild,channel:instance.channel,user:instance.user}))
|
||||||
|
else if (permsRes.reason == "cooldown") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-cooldown").build(newSource,{guild:instance.guild,channel:instance.channel,user:instance.user,until:permsRes.cooldownUntil}))
|
||||||
|
else if (permsRes.reason == "global-limit") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-limits").build(newSource,{guild:instance.guild,channel:instance.channel,user:instance.user,limit:"global"}))
|
||||||
|
else if (permsRes.reason == "global-user-limit") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-limits").build(newSource,{guild:instance.guild,channel:instance.channel,user:instance.user,limit:"global-user"}))
|
||||||
|
else if (permsRes.reason == "option-limit") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-limits").build(newSource,{guild:instance.guild,channel:instance.channel,user:instance.user,limit:"option"}))
|
||||||
|
else if (permsRes.reason == "option-user-limit") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-limits").build(newSource,{guild:instance.guild,channel:instance.channel,user:instance.user,limit:"option-user"}))
|
||||||
|
else if (permsRes.reason == "custom") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(newSource,{guild:instance.guild,channel:instance.channel,user:instance.user,layout:"simple",error:permsRes.customReason ?? lang.getTranslation("errors.descriptions.unableToCreateTicket")+" `Unknown invalid_permission_reason => no reason specified by plugin`",customTitle:lang.getTranslation("errors.titles.permissionError")}))
|
||||||
|
else instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(newSource,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Unknown invalid_permission reason => calculation failed #1",layout:"advanced"}))
|
||||||
|
return false
|
||||||
|
}else return true
|
||||||
|
}
|
||||||
|
|
||||||
export const registerCommandResponders = async () => {
|
export const registerCommandResponders = async () => {
|
||||||
//TICKET COMMAND RESPONDER
|
//TICKET COMMAND RESPONDER
|
||||||
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:ticket",generalConfig.data.prefix,/^ticket/))
|
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:ticket",generalConfig.data.prefix,/^ticket/))
|
||||||
opendiscord.responders.commands.get("opendiscord:ticket").workers.add([
|
opendiscord.responders.commands.get("opendiscord:ticket").workers.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
|
||||||
const permissionMode = generalConfig.data.system.permissions.ticket
|
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else if (permissionMode == "everyone") return
|
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:ticket",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:ticket",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {user,member,channel,guild} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.ticket,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check is in guild/server
|
||||||
if (!guild){
|
if (!guild){
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build(source,{channel:instance.channel,user:instance.user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build(source,{channel:instance.channel,user:instance.user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//get option
|
//get option data
|
||||||
const optionId = instance.options.getString("id",true)
|
const optionId = instance.options.getString("id",true)
|
||||||
const option = opendiscord.options.get(optionId)
|
const option = opendiscord.options.get(optionId)
|
||||||
if (!option || !(option instanceof api.ODTicketOption)){
|
if (!option || !(option instanceof api.ODTicketOption)){
|
||||||
@@ -60,25 +55,14 @@ export const registerCommandResponders = async () => {
|
|||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//check ticket permissions
|
|
||||||
const res = await opendiscord.actions.get("opendiscord:create-ticket-permissions").run(source,{guild,user,option})
|
|
||||||
if (!res.valid){
|
|
||||||
//error
|
|
||||||
if (res.reason == "blacklist") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-blacklisted").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user}))
|
|
||||||
else if (res.reason == "cooldown") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-cooldown").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,until:res.cooldownUntil}))
|
|
||||||
else if (res.reason == "global-limit") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-limits").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,limit:"global"}))
|
|
||||||
else if (res.reason == "global-user-limit") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-limits").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,limit:"global-user"}))
|
|
||||||
else if (res.reason == "option-limit") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-limits").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,limit:"option"}))
|
|
||||||
else if (res.reason == "option-user-limit") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-limits").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,limit:"option-user"}))
|
|
||||||
else instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Unknown invalid_permission reason => calculation failed #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
|
|
||||||
//start ticket creation
|
//start ticket creation
|
||||||
if (option.exists("opendiscord:questions") && option.get("opendiscord:questions").value.length > 0){
|
if (option.exists("opendiscord:questions") && option.get("opendiscord:questions").value.length > 0){
|
||||||
//send modal
|
//send modal
|
||||||
instance.modal(await opendiscord.builders.modals.getSafe("opendiscord:ticket-questions").build(source,{guild,channel,user,option}))
|
instance.modal(await opendiscord.builders.modals.getSafe("opendiscord:ticket-questions").build(source,{guild,channel,user,option}))
|
||||||
}else{
|
}else{
|
||||||
|
//check ticket permissions
|
||||||
|
if (!(await checkTicketCreationPerms(instance,source,guild,user,option))) return cancel()
|
||||||
|
|
||||||
//create ticket
|
//create ticket
|
||||||
await instance.defer(true)
|
await instance.defer(true)
|
||||||
const res = await opendiscord.actions.get("opendiscord:create-ticket").run(source,{guild,user,answers:[],option})
|
const res = await opendiscord.actions.get("opendiscord:create-ticket").run(source,{guild,user,answers:[],option})
|
||||||
@@ -122,25 +106,14 @@ export const registerButtonResponders = async () => {
|
|||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//check ticket permissions
|
|
||||||
const res = await opendiscord.actions.get("opendiscord:create-ticket-permissions").run("panel-button",{guild,user,option})
|
|
||||||
if (!res.valid){
|
|
||||||
//error
|
|
||||||
if (res.reason == "blacklist") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-blacklisted").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user}))
|
|
||||||
else if (res.reason == "cooldown") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-cooldown").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,until:res.cooldownUntil}))
|
|
||||||
else if (res.reason == "global-limit") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-limits").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,limit:"global"}))
|
|
||||||
else if (res.reason == "global-user-limit") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-limits").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,limit:"global-user"}))
|
|
||||||
else if (res.reason == "option-limit") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-limits").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,limit:"option"}))
|
|
||||||
else if (res.reason == "option-user-limit") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-limits").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,limit:"option-user"}))
|
|
||||||
else instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Unknown invalid_permission reason => calculation failed #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
|
|
||||||
//start ticket creation
|
//start ticket creation
|
||||||
if (option.exists("opendiscord:questions") && option.get("opendiscord:questions").value.length > 0){
|
if (option.exists("opendiscord:questions") && option.get("opendiscord:questions").value.length > 0){
|
||||||
//send modal
|
//send modal
|
||||||
instance.modal(await opendiscord.builders.modals.getSafe("opendiscord:ticket-questions").build("panel-button",{guild,channel,user,option}))
|
instance.modal(await opendiscord.builders.modals.getSafe("opendiscord:ticket-questions").build("panel-button",{guild,channel,user,option}))
|
||||||
}else{
|
}else{
|
||||||
|
//check ticket permissions
|
||||||
|
if (!(await checkTicketCreationPerms(instance,"panel-button",guild,user,option))) return cancel()
|
||||||
|
|
||||||
//create ticket
|
//create ticket
|
||||||
await instance.defer((generalConfig.data.system.replyOnTicketCreation) ? "reply" : "update",true)
|
await instance.defer((generalConfig.data.system.replyOnTicketCreation) ? "reply" : "update",true)
|
||||||
|
|
||||||
@@ -177,25 +150,14 @@ export const registerDropdownResponders = async () => {
|
|||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//check ticket permissions
|
|
||||||
const res = await opendiscord.actions.get("opendiscord:create-ticket-permissions").run("panel-dropdown",{guild,user,option})
|
|
||||||
if (!res.valid){
|
|
||||||
//error
|
|
||||||
if (res.reason == "blacklist") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-blacklisted").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user}))
|
|
||||||
else if (res.reason == "cooldown") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-cooldown").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,until:res.cooldownUntil}))
|
|
||||||
else if (res.reason == "global-limit") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-limits").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,limit:"global"}))
|
|
||||||
else if (res.reason == "global-user-limit") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-limits").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,limit:"global-user"}))
|
|
||||||
else if (res.reason == "option-limit") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-limits").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,limit:"option"}))
|
|
||||||
else if (res.reason == "option-user-limit") instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions-limits").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,limit:"option-user"}))
|
|
||||||
else instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Unknown invalid_permission reason => calculation failed #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
|
|
||||||
//start ticket creation
|
//start ticket creation
|
||||||
if (option.exists("opendiscord:questions") && option.get("opendiscord:questions").value.length > 0){
|
if (option.exists("opendiscord:questions") && option.get("opendiscord:questions").value.length > 0){
|
||||||
//send modal
|
//send modal
|
||||||
instance.modal(await opendiscord.builders.modals.getSafe("opendiscord:ticket-questions").build("panel-dropdown",{guild,channel,user,option}))
|
instance.modal(await opendiscord.builders.modals.getSafe("opendiscord:ticket-questions").build("panel-dropdown",{guild,channel,user,option}))
|
||||||
}else{
|
}else{
|
||||||
|
//check ticket permissions
|
||||||
|
if (!(await checkTicketCreationPerms(instance,"panel-dropdown",guild,user,option))) return cancel()
|
||||||
|
|
||||||
//create ticket
|
//create ticket
|
||||||
await instance.defer((generalConfig.data.system.replyOnTicketCreation) ? "reply" : "update",true)
|
await instance.defer((generalConfig.data.system.replyOnTicketCreation) ? "reply" : "update",true)
|
||||||
|
|
||||||
@@ -225,6 +187,7 @@ export const registerModalResponders = async () => {
|
|||||||
opendiscord.responders.modals.get("opendiscord:ticket-questions").workers.add([
|
opendiscord.responders.modals.get("opendiscord:ticket-questions").workers.add([
|
||||||
new api.ODWorker("opendiscord:ticket-questions",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:ticket-questions",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {guild,channel,user} = instance
|
||||||
|
await instance.defer((generalConfig.data.system.replyOnTicketCreation) ? "reply" : "update",true)
|
||||||
if (!channel) throw new api.ODSystemError("The 'Ticket Questions' modal requires a channel for responding!")
|
if (!channel) throw new api.ODSystemError("The 'Ticket Questions' modal requires a channel for responding!")
|
||||||
if (!guild){
|
if (!guild){
|
||||||
//error
|
//error
|
||||||
@@ -265,9 +228,10 @@ export const registerModalResponders = async () => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
//create ticket
|
//check ticket permissions
|
||||||
await instance.defer((generalConfig.data.system.replyOnTicketCreation) ? "reply" : "update",true)
|
if (!(await checkTicketCreationPerms(instance,originalSource,guild,user,option))) return cancel()
|
||||||
|
|
||||||
|
//create ticket
|
||||||
const res = await opendiscord.actions.get("opendiscord:create-ticket").run(originalSource,{guild,user,answers,option})
|
const res = await opendiscord.actions.get("opendiscord:create-ticket").run(originalSource,{guild,user,answers,option})
|
||||||
if (!res.channel || !res.ticket){
|
if (!res.channel || !res.ticket){
|
||||||
//error
|
//error
|
||||||
|
|||||||
@@ -0,0 +1,64 @@
|
|||||||
|
///////////////////////////////////////
|
||||||
|
//TOPIC COMMAND
|
||||||
|
///////////////////////////////////////
|
||||||
|
import {opendiscord, api, utilities} from "../index"
|
||||||
|
import * as discord from "discord.js"
|
||||||
|
|
||||||
|
const generalConfig = opendiscord.configs.get("opendiscord:general")
|
||||||
|
|
||||||
|
export const registerCommandResponders = async () => {
|
||||||
|
//TOPIC COMMAND RESPONDER
|
||||||
|
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:topic",generalConfig.data.prefix,"topic"))
|
||||||
|
opendiscord.responders.commands.get("opendiscord:topic").workers.add([
|
||||||
|
new api.ODWorker("opendiscord:topic",0,async (instance,params,source,cancel) => {
|
||||||
|
const {user,member,channel,guild} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.topic,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check is in guild/Server
|
||||||
|
if (!guild){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
|
if (!ticket || channel.isDMBased()){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//return when busy
|
||||||
|
if (ticket.get("opendiscord:busy").value){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//subcommands
|
||||||
|
const scope = instance.options.getSubCommand()
|
||||||
|
if (!scope || (scope != "set")) return
|
||||||
|
|
||||||
|
if (scope == "set"){
|
||||||
|
const topic = instance.options.getString("topic",true)
|
||||||
|
//start changing ticket topic
|
||||||
|
await instance.defer(false)
|
||||||
|
await opendiscord.actions.get("opendiscord:update-ticket-topic").run(source,{guild,channel,user,ticket,newTopic:topic,sendMessage:false})
|
||||||
|
await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:topic-set").build(source,{guild,channel,user,ticket,topic}))
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
new api.ODWorker("opendiscord:logs",-1,(instance,params,source,cancel) => {
|
||||||
|
opendiscord.log(instance.user.displayName+" used the 'topic set' command!","info",[
|
||||||
|
{key:"user",value:instance.user.username},
|
||||||
|
{key:"userid",value:instance.user.id,hidden:true},
|
||||||
|
{key:"channelid",value:instance.channel.id,hidden:true},
|
||||||
|
{key:"method",value:source}
|
||||||
|
])
|
||||||
|
})
|
||||||
|
])
|
||||||
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
///////////////////////////////////////
|
||||||
|
//TRANSFER COMMAND
|
||||||
|
///////////////////////////////////////
|
||||||
|
import {opendiscord, api, utilities} from "../index"
|
||||||
|
import * as discord from "discord.js"
|
||||||
|
|
||||||
|
const generalConfig = opendiscord.configs.get("opendiscord:general")
|
||||||
|
|
||||||
|
export const registerCommandResponders = async () => {
|
||||||
|
//TRANSFER COMMAND RESPONDER
|
||||||
|
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:transfer",generalConfig.data.prefix,"transfer"))
|
||||||
|
opendiscord.responders.commands.get("opendiscord:transfer").workers.add([
|
||||||
|
new api.ODWorker("opendiscord:transfer",0,async (instance,params,source,cancel) => {
|
||||||
|
const {user,member,channel,guild} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.transfer,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check is in guild/Server
|
||||||
|
if (!guild){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
|
if (!ticket || channel.isDMBased()){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//return when busy
|
||||||
|
if (ticket.get("opendiscord:busy").value){
|
||||||
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
const oldCreator = await opendiscord.tickets.getTicketUser(ticket,"creator") ?? opendiscord.client.client.user
|
||||||
|
const newCreator = instance.options.getUser("user",true)
|
||||||
|
const reason = instance.options.getString("reason",false)
|
||||||
|
|
||||||
|
//start transferring ticket ownership
|
||||||
|
await instance.defer(false)
|
||||||
|
await opendiscord.actions.get("opendiscord:transfer-ticket").run(source,{guild,channel,user,ticket,reason,sendMessage:false,newCreator})
|
||||||
|
await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:transfer-message").build(source,{guild,channel,user,ticket,oldCreator,newCreator,reason}))
|
||||||
|
}),
|
||||||
|
new api.ODWorker("opendiscord:logs",-1,(instance,params,source,cancel) => {
|
||||||
|
opendiscord.log(instance.user.displayName+" used the 'transfer' command!","info",[
|
||||||
|
{key:"user",value:instance.user.username},
|
||||||
|
{key:"userid",value:instance.user.id,hidden:true},
|
||||||
|
{key:"channelid",value:instance.channel.id,hidden:true},
|
||||||
|
{key:"method",value:source}
|
||||||
|
])
|
||||||
|
})
|
||||||
|
])
|
||||||
|
}
|
||||||
+15
-34
@@ -10,55 +10,36 @@ export const registerCommandResponders = async () => {
|
|||||||
//UNCLAIM COMMAND RESPONDER
|
//UNCLAIM COMMAND RESPONDER
|
||||||
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:unclaim",generalConfig.data.prefix,"unclaim"))
|
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:unclaim",generalConfig.data.prefix,"unclaim"))
|
||||||
opendiscord.responders.commands.get("opendiscord:unclaim").workers.add([
|
opendiscord.responders.commands.get("opendiscord:unclaim").workers.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
|
||||||
const permissionMode = generalConfig.data.system.permissions.unclaim
|
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else if (permissionMode == "everyone") return
|
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:unclaim",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:unclaim",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {user,member,channel,guild} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.unclaim,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check is in guild/Server
|
||||||
if (!guild){
|
if (!guild){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
const ticket = opendiscord.tickets.get(channel.id)
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
if (!ticket || channel.isDMBased()){
|
if (!ticket || channel.isDMBased()){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when not claimed
|
//return when not claimed
|
||||||
if (!ticket.get("opendiscord:claimed").value){
|
if (!ticket.get("opendiscord:claimed").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,error:opendiscord.languages.getTranslation("errors.actionInvalid.unclaim"),layout:"simple"}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,error:opendiscord.languages.getTranslation("errors.actionInvalid.unclaim"),layout:"simple"}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when busy
|
//return when busy
|
||||||
if (ticket.get("opendiscord:busy").value){
|
if (ticket.get("opendiscord:busy").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
||||||
|
|||||||
+15
-34
@@ -10,55 +10,36 @@ export const registerCommandResponders = async () => {
|
|||||||
//UNPIN COMMAND RESPONDER
|
//UNPIN COMMAND RESPONDER
|
||||||
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:unpin",generalConfig.data.prefix,"unpin"))
|
opendiscord.responders.commands.add(new api.ODCommandResponder("opendiscord:unpin",generalConfig.data.prefix,"unpin"))
|
||||||
opendiscord.responders.commands.get("opendiscord:unpin").workers.add([
|
opendiscord.responders.commands.get("opendiscord:unpin").workers.add([
|
||||||
new api.ODWorker("opendiscord:permissions",1,async (instance,params,source,cancel) => {
|
|
||||||
const permissionMode = generalConfig.data.system.permissions.unpin
|
|
||||||
|
|
||||||
if (permissionMode == "none"){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else if (permissionMode == "everyone") return
|
|
||||||
else if (permissionMode == "admin"){
|
|
||||||
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild))){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}else{
|
|
||||||
if (!instance.guild || !instance.member){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #1",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
const role = await opendiscord.client.fetchGuildRole(instance.guild,permissionMode)
|
|
||||||
if (!role){
|
|
||||||
//error
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,error:"Permission Error: Not in Server #2",layout:"advanced"}))
|
|
||||||
return cancel()
|
|
||||||
}
|
|
||||||
if (!role.members.has(instance.member.id)){
|
|
||||||
//no permissions
|
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:[]}))
|
|
||||||
return cancel()
|
|
||||||
}else return
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
new api.ODWorker("opendiscord:unpin",0,async (instance,params,source,cancel) => {
|
new api.ODWorker("opendiscord:unpin",0,async (instance,params,source,cancel) => {
|
||||||
const {guild,channel,user} = instance
|
const {user,member,channel,guild} = instance
|
||||||
|
|
||||||
|
//check permissions
|
||||||
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.unpin,"support",user,member,channel,guild)
|
||||||
|
if (!permsResult.hasPerms){
|
||||||
|
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
|
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(source,{guild,channel,user,permissions:["support"]}))
|
||||||
|
return cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
//check is in guild/Server
|
||||||
if (!guild){
|
if (!guild){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check if ticket exists
|
||||||
const ticket = opendiscord.tickets.get(channel.id)
|
const ticket = opendiscord.tickets.get(channel.id)
|
||||||
if (!ticket || channel.isDMBased()){
|
if (!ticket || channel.isDMBased()){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-unknown").build("button",{guild,channel,user}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when not pinned yet
|
//return when not pinned yet
|
||||||
if (!ticket.get("opendiscord:pinned").value){
|
if (!ticket.get("opendiscord:pinned").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,error:opendiscord.languages.getTranslation("errors.actionInvalid.unpin"),layout:"simple"}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build("button",{guild,channel,user,error:opendiscord.languages.getTranslation("errors.actionInvalid.unpin"),layout:"simple"}))
|
||||||
return cancel()
|
return cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
//return when busy
|
//return when busy
|
||||||
if (ticket.get("opendiscord:busy").value){
|
if (ticket.get("opendiscord:busy").value){
|
||||||
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-ticket-busy").build("button",{guild,channel,user}))
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user