Heisisi

Untitled

Mar 11th, 2025
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 62.56 KB | None | 0 0
  1. $nomention
  2. $nomention
  3. $suppressErrors
  4. $c[ ... system configuration, read the comments. ]
  5. $c[ ... button emojis, "true" to keep them enabled, "false" to disable them. ]
  6. $var[emojis;true]
  7.  
  8. $c[ ... Below you can change button emojis to any desired emojis from your keyboard, such as 🔒. Do not use Discord emoji names like :lock: ]
  9.  
  10. $if[$var[emojis]==true]
  11. $var[solved_emoji;💾]
  12. $var[close_emoji;🔒]
  13. $var[open_emoji;🔓]
  14. $var[sticky_emoji;🗃️]
  15. $var[claim_emoji;🙋‍♂️]
  16. $var[info_emoji;🪪]
  17. $var[back_to_panel_emoji;◀️]
  18. $var[panel_emoji;🛠️]
  19. $var[openticket_emoji;🎫]
  20. $endif
  21.  
  22. $c[ ... general configuration ]
  23. $c[
  24. if you want to know what each setting below do then check this table, do not change these settings without reading first, or it may lead to errors.
  25. https://i.imgur.com/2qEwMVN.png
  26. ]
  27. $var[newticket_ping;true]
  28. $var[branding;true]
  29. $var[hide_on_sticky;true]
  30. $var[webhook;true]
  31. $var[webhook_default_subject;Hey {user}, how can we help you today?]
  32. $var[always_guild;false]
  33. $var[rating;true]
  34. $var[panel_limit;7] $c[number from scale 1-7]
  35. $var[default_image;https://i.imgur.com/AZlgvgi.png] $c[ <== max. 37 characters URL ]
  36. $c[ ... Make sure the hexcode colors you provide are valid to avoid errors. ]
  37. $var[main_color;#1874cb]
  38. $var[neutral_color;#faa81a]
  39. $var[success_color;#08b278]
  40. $var[error_color;#ea003a]
  41.  
  42. $var[rt_msg;To help **{server}** improve their support ticket experience we would like to receive your anonymous feedback.]
  43. $var[rt_footer;How would you rate the support received?]
  44. $var[negative_rate;Sorry to hear that! Thank you for **rating** this server's ticket support experience, your feedback **helps** ``{server}`` **improve** your support experience, we truly **appreciate** your honesty.]
  45. $var[positive_rate;Glad to hear that! Thank you for **rating** this server's ticket support experience, your feedback **helps** ``{server}`` **improve** your support experience, we truly **appreciate** your feedback.]
  46.  
  47. $c[ ... Error message that appears when a user don't have enough permissions to use a button. ]
  48. $var[sf_title;Staff only!]
  49. $var[sf_descr;Sorry, only staff members with special permissions are allowed to do this, you can contact a staff member to do it for you.]
  50.  
  51. $c[ Close ticket button timer, maximal value is 2400 seconds, I just recommend to not touch, time must be in seconds only. ]
  52. $var[close_in;120]
  53.  
  54. $c[
  55. ... Unless you understand the entire system, do not edit the code infrastructure below. You can translate it, but make sure not to remove or edit the name of any function.
  56. ]
  57.  
  58. $var[ticket_message_default;
  59. Hello **{username}**, this is your ticket!
  60. Please, write down below details about your problem. Support will be with you shortly!
  61.  
  62. You are allowed to ping a support member once after 30 minutes of no response, avoid mass-pinging!
  63.  
  64. You can close this ticket at anytime by using the **close** button.
  65. Staff can manage this ticket by using the **panel** button.
  66. ]
  67.  
  68. $if[$checkContains[$message;tkt_mdl_o-]==true]
  69. $stop
  70. $endif
  71. $if[$checkContains[$customID;tkt_mdl_op-]==true]
  72. $stop
  73. $endif
  74.  
  75. $if[$checkContains[$customID;tkt]==true]
  76. $if[$checkContains[$customID;mdl]==false]
  77. $defer
  78. $endif
  79. $endif
  80. $if[$getUserVar[tickets2;$botID]!=]
  81. $textSplit[$getUserVar[tickets2;$botID];-]
  82. $if[$serverChannelExists[$splitText[1]]==true] $var[category;$splitText[1]] $endif
  83. $if[$serverChannelExists[$splitText[2]]==true] $var[logs;$splitText[2]] $endif
  84. $if[$isNumber[$splitText[3]]==true] $var[close_in;$splitText[3]] $endif
  85. $if[$isBoolean[$splitText[4]]==true] $var[rating;$splitText[4]] $endif
  86. $if[$isBoolean[$splitText[5]]==true] $var[webhook;$splitText[5]] $endif
  87. $endif
  88. $textSplit[$getUserVar[tickets3;$botID];≈]
  89. $if[$splitText[1]==] $var[ticket_title;New Ticket!] $else $var[ticket_title;$splitText[1]] $endif
  90. $if[$splitText[2]==]
  91. $var[ticket_message;$var[ticket_message_default]]
  92. $else
  93. $var[ticket_message;$splitText[2]]
  94. $endif
  95. $if[$isValidHex[$splitText[3]]==false]
  96. $var[color;$var[main_color]]
  97. $else
  98. $var[color;$splitText[3]]
  99. $endif
  100. $if[$checkContains[$splitText[4];.png;.jpg;.jpeg;.gif;.webp]==false]
  101. $var[s_image;https://i.imgur.com/YxlQphp.png]
  102. $else
  103. $var[s_image;$splitText[4]]
  104. $endif
  105. $if[$var[branding]==true]
  106. $var[s_thumbnail;https://i.imgur.com/IlZ2w9w.png]
  107. $endif
  108. $textSplit[$getServerVar[tickets3];-]
  109. $var[ts1;$splitText[1]]
  110. $var[ts2;$splitText[2]]
  111. $textSplit[$var[ts1];,]
  112. $try $var[has_staff;$hasRole[$authorID;$splitText[1]]] $endtry
  113. $if[$var[has_staff]!=false]
  114. $try $var[has_staff;$hasRole[$authorID;$splitText[2]]] $endtry
  115. $endif
  116. $if[$var[has_staff]!=false]
  117. $try $var[has_staff;$hasRole[$authorID;$splitText[3]]] $endtry
  118. $endif
  119. $textSplit[$var[ts2];,]
  120. $try $var[is_blacklisted;$hasRole[$authorID;$splitText[1]]] $var[black_role;<@&$splitText[1]>] $endtry
  121. $if[$var[is_blacklisted]!=true]
  122. $try $var[is_blacklisted;$hasRole[$authorID;$splitText[2]]] $var[black_role;<@&$splitText[2]>] $endtry
  123. $endif
  124. $if[$var[is_blacklisted]!=true]
  125. $try $var[is_blacklisted;$hasRole[$authorID;$splitText[3]]] $var[black_role;<@&$splitText[3]>] $endtry
  126. $endif
  127. $if[$var[rating]!=true]
  128. $var[rt_msg;]
  129. $var[rt_footer;]
  130. $endif
  131. $if[$var[has_staff]!=false]
  132. $if[$or[$checkUserPerms[$authorID;ban]==true;$checkUserPerms[$authorID;kick]==true;$checkUserPerms[$authorID;managemessages]==true;$checkUserPerms[$authorID;moderatemembers]==true;$checkUserPerms[$authorID;admin]==true]==true]
  133. $var[is_staff;true]
  134. $else
  135. $var[is_staff;false]
  136. $endif
  137. $else
  138. $var[is_staff;true]
  139. $endif
  140. $if[$checkContains[$customID;tkt_actop-]==true]
  141. $removeButtons
  142. $defer
  143. $if[$var[is_blacklisted]==true]
  144. $title[You can't create tickets!]
  145. $description[Hi **$username[$authorID]**! Unfortunately, one of your roles ($var[black_role]) has been restricted from creating new tickets. If you believe this is a mistake, contact a server manager to have the role removed from the ticket setup command.]
  146. $color[$var[error_color]]
  147. $ephemeral
  148. $stop
  149. $endif
  150. $textSplit[$customID;-]
  151. $var[index;$splitText[2]]
  152. $var[subject;$input[subject]]
  153. $if[$charCount[$replaceText[$var[index];0;;1]]>1]
  154. $var[topic_msg;
  155. **Ticket Panel**
  156. ```$cropText[$var[index];$sub[$charCount[$var[index]];2];]```]
  157. $endif
  158. $if[$optOff[$serverChannelExists[$getUserVar[tickets2;$authorID]]]==true]
  159. $if[$checkContains[$channelName[$getUserVar[tickets2]];solved-]==false]
  160. $description[**$username[$authorID]** You already have an open ticket! Please move to your active ticket <#$getUserVar[tickets2]> instead.]
  161. $color[$var[error_color]]
  162. $ephemeral
  163. $stop
  164. $endif
  165. $endif
  166. $var[subject;$cropText[$var[subject];400;(...)]]
  167. $if[$var[subject]==]
  168. $var[subject;No subject was provided by the user.]
  169. $var[subject_empty;true]
  170. $else
  171. $var[subject_empty;false]
  172. $endif
  173. $var[channel_description;Ticket opened by **$username[$authorID]#$discriminator[$authorID]** <t:$getTimestamp:R> (<t:$getTimestamp:F>)]
  174. $var[ticket_message;$replaceText[$var[ticket_message];{username};$username[$authorID];-1]]
  175. $var[format;ticket-{number}]
  176. $if[$isNumber[$getServerVar[tickets]]==false]
  177. $setServerVar[tickets;0]
  178. $endif
  179. $var[tickets;$sum[$getServerVar[tickets];1]]
  180. $if[$charCount[$var[tickets]]==1]
  181. $var[num;000$var[tickets]]
  182. $endif
  183. $if[$charCount[$var[tickets]]==2]
  184. $var[num;00$var[tickets]]
  185. $endif
  186. $if[$charCount[$var[tickets]]==3]
  187. $var[num;0$var[tickets]]
  188. $endif
  189. $if[$charCount[$var[tickets]]>3]
  190. $var[num;$var[tickets]]
  191. $endif
  192. $var[username_format;$replaceText[$replaceText[$url[encode;$cropText[$username[$authorID];7;]];-;;-1];%;;-1]]
  193. $var[name;$replaceText[$replaceText[$replaceText[$replaceText[$var[format];{number};$var[num];1];{username};$var[username_format];1];{random_number};$random[10000;99999];-1];{discriminator};$discriminator[$authorID];-1]]
  194. $if[$charCount[$var[category]]>14]
  195. $createChannel[$var[name];text;$var[category]]
  196. $else
  197. $createChannel[$var[name];text]
  198. $endif
  199. $setServerVar[tickets;$sum[$getServerVar[tickets];1]]
  200. $var[new_ticket;$findChannel[$var[name]]]
  201. $var[success_open;<@$authorID> You successfully opened the ticket <#$var[new_ticket]>!]
  202. $description[$var[success_open]]
  203. $color[$var[success_color]]
  204. $ephemeral
  205. $setChannelVar[tickets;$authorID;$var[new_ticket]]
  206. $setUserVar[tickets2;$var[new_ticket]]
  207. $modifyChannel[$var[new_ticket];!unchanged;$var[channel_description];false;!unchanged;!unchanged]
  208. $textSplit[$getServerVar[tickets3];-]
  209. $var[ts1;$splitText[1]]
  210. $var[ts2;$splitText[2]]
  211. $textSplit[$var[ts1];,]
  212. $if[$roleExists[$splitText[1]]==true] $try $editChannelPerms[$var[new_ticket];$splitText[1];+sendmessages;+readmessages;+embedlinks;+attachfiles] $endtry $endif
  213. $if[$roleExists[$splitText[2]]==true] $try $editChannelPerms[$var[new_ticket];$splitText[2];+sendmessages;+readmessages;+embedlinks;+attachfiles] $endtry $endif
  214. $if[$roleExists[$splitText[3]]==true] $try $editChannelPerms[$var[new_ticket];$splitText[3];+sendmessages;+readmessages;+embedlinks;+attachfiles] $endtry $endif
  215. $editChannelPerms[$var[new_ticket];$guildID;-readmessages]
  216. $editChannelPerms[$var[new_ticket];$authorID;+sendmessages;+readmessages;+embedlinks;+attachfiles]
  217. $useChannel[$var[new_ticket]]
  218. $try
  219. $if[$var[newticket_ping]==true]
  220. $var[ping_id;$sendMessage[<@$authorID>;yes]]
  221. $deleteMessage[$var[new_ticket];$var[ping_id]]
  222. $endif
  223. $endtry
  224. $if[$isValidHex[$var[color]]==false]
  225. $var[color;$var[main_color]]
  226. $endif
  227. $async[logs_block]
  228. $if[$serverChannelExists[$var[logs]]]
  229. $try
  230. $sendEmbedMessage[$var[logs];;New Ticked Created!;;Ticket ``#$channelName[$var[new_ticket]]`` (<#$var[new_ticket]>) has been **created** by <@$authorID> (**$username[$authorID]#$discriminator[$authorID]**)!
  231. **Subject**
  232. ```$var[subject]```
  233. ;$var[main_color];;;;;;;;no]
  234. $endtry
  235. $endif
  236. $endasync
  237. $var[res_id;$sendEmbedMessage[$var[new_ticket];
  238. ;$var[ticket_title]
  239. ;$getBotInvite
  240. ;$var[ticket_message]$var[topic_msg]
  241. **Ticket Subject**
  242. ```$var[subject]```
  243. ;$var[color]
  244. ;$username[$authorID]#$discriminator[$authorID]
  245. ;$userAvatar[$authorID];;;$var[s_thumbnail]
  246. ;$var[s_image]
  247. ;no
  248. ;yes]]
  249. $addButton[no;tkt_close;Close Ticket;danger;no;$var[close_emoji];$var[res_id]]
  250. $addButton[no;tkt_pnel;Staff Panel;primary;no;$var[panel_emoji];$var[res_id]]
  251. $if[$var[webhook]==true]
  252. $try
  253. $if[$and[$var[subject_empty]==false;$var[always_guild]==false]==true]
  254. $var[webhookURL;$webhookCreate[$var[new_ticket];$username[$authorID];$userAvatar[$authorID]]]
  255. $webhookAvatarURL[$var[webhookURL];$userAvatar[$authorID]]
  256. $webhookContent[$var[webhookURL];$var[subject]]
  257. $else
  258. $var[webhookURL;$webhookCreate[$var[new_ticket];$serverName[$guildID];$serverIcon[$guildID]]]
  259. $webhookAvatarURL[$var[webhookURL];$serverIcon[$guildID]]
  260. $webhookContent[$var[webhookURL];$replaceText[$var[webhook_default_subject];{user};<@$authorID>;-1]]
  261. $endif
  262. $endtry
  263. $endif
  264. $stop $c[s]
  265. $endif
  266. $if[$customID==tkt_mdl_emd]
  267. $if[$or[$var[is_staff]==false;$checkUserPerms[$authorID;manageserver]==false]==true]
  268. $removeButtons
  269. $title[$var[sf_title]]
  270. $description[$var[sf_descr]]
  271. $color[$var[error_color]]
  272. $ephemeral
  273. $stop
  274. $endif
  275. $textSplit[$getUserVar[tickets3;$botID];≈]
  276. $if[$splitText[1]==] $var[e_title;New Ticket!] $else $var[e_title;$splitText[1]] $endif
  277. $if[$splitText[2]==] $var[e_desc;$var[ticket_message]] $else $var[e_desc;$splitText[2]] $endif
  278. $if[$splitText[3]==] $var[e_color;$var[main_color]] $else $var[e_color;$splitText[3]] $endif
  279. $if[$splitText[4]==] $var[e_image;$var[s_image]] $else $var[e_image;$splitText[4]] $endif
  280. $newModal[tkt_emdset;Embed Settings]
  281. $addTextInput[embed_title;short;Embed Title;1;50;no;$var[e_title];Embed title, leave it empty to use the default one.]
  282. $addTextInput[embed_description;paragraph;Embed Description;1;500;no;$var[e_desc];Embed description, leave it empty to use the default one, you can use the {username} placeholder.]
  283. $addTextInput[embed_color;short;Embed Color;6;7;no;$var[e_color];Embed color hexcode, leave it empty to use the default one.]
  284. $addTextInput[embed_image;short;Embed Bottom Image URL;5;100;no;$var[e_image];Embed bottom image URL, leave it empty to use the default one.]
  285. $endif
  286. $if[$customID==tkt_emdset]
  287. $var[pf;0]
  288. $if[$input[embed_color]!=]
  289. $if[$isValidHex[$input[embed_color]]==false]
  290. $var[problems;$var[problems] The embed color hexcode you gave is not valid or I can't recognize it as valid, try using a Hexcode Color Picker online. ]
  291. $var[pf;$sum[$var[pf];1]]
  292. $endif
  293. $endif
  294. $if[$input[embed_image]!=]
  295. $if[$checkContains[$input[embed_image];.png;.jpg;.webp;.gif;.jpeg]==false]
  296. $var[problems;$var[problems] The embed image URL you gave is not valid or I can't recognize it as valid, valid image URLs ends with the image extension such as .jpg, .png, and so on, you can try to upload the image to Discord, copying the link and using it. ]
  297. $var[pf;$sum[$var[pf];1]]
  298. $endif
  299. $endif
  300. > :ballot_box_with_check: *This is a preview, you can dismiss it, **$var[pf]** problems found, **changes saved successfully**.*
  301. $if[$var[pf]>0]
  302. $var[ind;2]
  303. $author[Problems Found;1]
  304. $description[```$replaceText[$replaceText[$var[problems]; ;;1]; ; & ;-1]```;1]
  305. $color[$var[error_color];1]
  306. $else
  307. $var[ind;1]
  308. $endif
  309. $if[$input[embed_title]!=]
  310. $title[$input[embed_title];$var[ind]]
  311. $else
  312. $title[New Ticket!;$var[ind]]
  313. $endif
  314. $embeddedURL[$getBotInvite;$var[ind]]
  315. $if[$input[embed_description]!=]
  316. $description[$replaceText[$input[embed_description];{username};$username[$authorID];-1];$var[ind]]
  317. $else
  318. $description[$replaceText[$var[ticket_message_default];{username};$username[$authorID];-1];$var[ind]]
  319. $endif
  320. $addField[Ticket Panel;```Panel Name would go here.```;no;$var[ind]]
  321. $addField[Ticket Subject;```Ticket Subject would go here.```;no;$var[ind]]
  322. $try $thumbnail[$var[s_thumbnail];$var[ind]] $endtry
  323. $if[$input[embed_image]!=]
  324. $try $image[$input[embed_image];$var[ind]] $catch $try $image[$var[s_image];$var[ind]] $endtry $endtry
  325. $else
  326. $try $image[$var[s_image];$var[ind]] $endtry
  327. $endif
  328. $if[$input[embed_color]!=]
  329. $try $color[$input[embed_color];$var[ind]] $catch $try $color[$var[main_color];$var[ind]] $endtry $endtry
  330. $else
  331. $try $color[$var[main_color];$var[ind]] $endtry
  332. $endif
  333. $try
  334. $setUserVar[tickets3;$replaceText[$input[embed_title];≈;~;-1]≈$replaceText[$input[embed_description];≈;~;-1]≈$replaceText[$input[embed_color];≈;~;-1]≈$replaceText[$input[embed_image];≈;~;-1];$botID]
  335. $catch
  336. > :x: *There has been an error trying to save the embed data correctly, please contact a Developer.*
  337. $endtry
  338. $ephemeral
  339. $stop $c[s]
  340. $endif
  341. $if[$customID==tkt_mdl_gnrl]
  342. $if[$or[$var[is_staff]==false;$checkUserPerms[$authorID;manageserver]==false]==true]
  343. $removeButtons
  344. $title[$var[sf_title]]
  345. $description[$var[sf_descr]]
  346. $color[$var[error_color]]
  347. $ephemeral
  348. $stop
  349. $endif
  350. $textSplit[$getUserVar[tickets2;$botID];-]
  351. $if[$splitText[3]==] $var[split3;$var[close_in]] $else $var[split3;$splitText[3]] $endif
  352. $if[$splitText[4]==] $var[split4;$var[rating]] $else $var[split4;$splitText[4]] $endif
  353. $if[$splitText[5]==] $var[split5;$var[webhook]] $else $var[split5;$splitText[5]] $endif
  354. $newModal[tkt_gnrlset;General Settings]
  355. $addTextInput[category;short;New Tickets Category;1;50;no;$splitText[1];Category ID or name, where tickets will be created.]
  356. $addTextInput[logschannel;short;Ticket Logs Channel;1;50;no;$splitText[2];Channel ID or name, where I will log closed/opened tickets.]
  357. $addTextInput[closein;short;Close Button Time (in seconds);1;5;no;$var[split3]s;There's a timer in the Close Ticket button, value in SECONDS for that timer.]
  358. $addTextInput[rating;short;Should Rating be enabled?;2;5;no;$var[split4];Yes/no or true/false, should the users be able to rate?]
  359. $addTextInput[webhooks;short;Should Webhooks be enabled?;2;5;no;$var[split5];Yes/no or true/false, should I send a webhook message in new tickets?]
  360. $endif
  361. $if[$customID==tkt_mdl_rls]
  362. $if[$or[$var[is_staff]==false;$checkUserPerms[$authorID;manageserver]==false]==true]
  363. $removeButtons
  364. $title[$var[sf_title]]
  365. $description[$var[sf_descr]]
  366. $color[$var[error_color]]
  367. $ephemeral
  368. $stop
  369. $endif
  370. $textSplit[$getServerVar[tickets3];-]
  371. $var[current_sr;$splitText[1]]
  372. $var[current_br;$splitText[2]]
  373. $newModal[tkt_rlsset;Role Settings]
  374. $addTextInput[staffroles;short;Staff Role(s) (Max 3 roles);1;55;no;$var[current_sr];Role(s) name, ID or mention, separable using commas.]
  375. $addTextInput[blacklistedroles;short;Blacklisted Role(s) (Max 3 roles);1;55;no;$var[current_br];Role(s) name, ID or mention, separable using commas.]
  376. $endif
  377. $if[$customID==tkt_mdl_cfg-$authorID]
  378. $if[$or[$var[is_staff]==false;$checkUserPerms[$authorID;manageserver]==false]==true]
  379. $stop
  380. $endif
  381. $newModal[tkt_cfg-$authorID;Embed Customization]
  382. $addTextInput[ticket-title;short;Embed Title;1;40;yes;;Any Title you want to show in the embed here, required.]
  383. $addTextInput[ticket-description;paragraph;Embed Description;1;300;yes;;Any Description you want to show in the embed here, required.]
  384. $addTextInput[ticket-footer;short;Embed Footer;0;50;no;;Any Footer you want to show in the embed here, optional.]
  385. $addTextInput[ticket-color;short;Embed Color Hexcode;6;7;no;;Any color hexcode (e.x "ffffff") or leave it empty, optional.]
  386. $addTextInput[ticket-image;short;Embed Image URL;1;32;no;$var[default_image];Any image URL or leave it empty to use default one, optional.]
  387. $endif
  388. $if[$customID==tkt_pnlact_mdl_add-$authorID]
  389. $if[$or[$var[is_staff]==false;$checkUserPerms[$authorID;manageserver]==false]==true]
  390. $removeButtons
  391. $title[$var[sf_title]]
  392. $description[$var[sf_descr]]
  393. $color[$var[error_color]]
  394. $ephemeral
  395. $stop
  396. $endif
  397. $textSplit[$getChannelVar[tickets];≈]
  398. $var[l;$getTextSplitLength]
  399. $if[$var[l]>$var[panel_limit]]
  400. $removeButtons
  401. $description[You cannot create another Ticket Panel, there's a limit of **$var[panel_limit]** panels! You can either remove a panel or create another ticket menu.]
  402. $color[$var[error_color]]
  403. $ephemeral
  404. $stop
  405. $endif
  406. $newModal[tkt_pnlact_add-$authorID;Create new panel]
  407. $addTextInput[paneltitle;short;Panel Title;1;20;yes;;Title here (ex. "General Support")]
  408. $addTextInput[paneldescription;short;Panel Description;1;40;yes;;Description here (ex. "Get general support")]
  409. $endif
  410. $if[$customID==tkt_pnlact_mdl_edit-$authorID]
  411. $removeButtons
  412. $if[$or[$var[is_staff]==false;$checkUserPerms[$authorID;manageserver]==false]==true]
  413. $removeButtons
  414. $title[$var[sf_title]]
  415. $description[$var[sf_descr]]
  416. $color[$var[error_color]]
  417. $ephemeral
  418. $stop
  419. $endif
  420. $newModal[tkt_pnlact_edit-$authorID;Edit an existing panel]
  421. $addTextInput[panelid;short;Panel ID;1;1;yes;;ID here (ex. "2")]
  422. $addTextInput[paneltitle;short;New Panel Title;1;20;no;;Leave it empty to use the old Title!]
  423. $addTextInput[paneldescription;short;New Panel Description;1;40;no;;Leave it empty to use the old Description!]
  424. $ephemeral
  425. $endif
  426. $if[$customID==tkt_gnrlset]
  427. $var[pf;0]
  428. $if[$input[logschannel]!=]
  429. $var[logs_channel;$findChannel[$input[logschannel]]]
  430. $endif
  431. $if[$input[category]!=]
  432. $var[ticket_category;$findChannel[$input[category]]]
  433. $endif
  434. $if[$and[$var[ticket_category]==;$input[category]!=]==true]
  435. $var[ticket_category;01000010011001010111001001101011]
  436. $endif
  437. $if[$and[$var[logs_channel]==;$input[logschannel]!=]==true]
  438. $var[logs_channel;07082004]
  439. $endif
  440. $var[close_in;$replaceText[$input[closein];s;;-1]]
  441. $if[$input[webhooks]!=]
  442. $if[$isBoolean[$input[webhooks]]==true]
  443. $if[$checkContains[$toLowercase[$input[webhooks]];true;yes]==true]
  444. $addField[Webhooks;```Enabled ($input[webhooks])```;yes]
  445. $var[input_webhooks;true]
  446. $else
  447. $addField[Webhooks;```Disabled ($input[webhooks])```;yes]
  448. $var[input_webhooks;false]
  449. $endif
  450. $else
  451. $var[problems;$var[problems] The value you gave for the "Webhooks" option is invalid, it must be yes/no, or true/false. ]
  452. $var[pf;$sum[$var[pf];1]]
  453. $endif
  454. $endif
  455. $if[$input[rating]!=]
  456. $if[$isBoolean[$input[rating]]==true]
  457. $if[$checkContains[$toLowercase[$input[rating]];true;yes]==true]
  458. $addField[Rating System;```Enabled ($input[rating])```;yes]
  459. $var[input_rating;true]
  460. $else
  461. $addField[Rating System;```Disabled ($input[rating])```;yes]
  462. $var[input_rating;false]
  463. $endif
  464. $else
  465. $var[problems;$var[problems] The value you gave for the "Rating" option is invalid, it must be yes/no, or true/false. ]
  466. $var[pf;$sum[$var[pf];1]]
  467. $endif
  468. $endif
  469. $if[$var[close_in]!=]
  470. $if[$isNumber[$var[close_in]]==true]
  471. $if[$var[close_in]>2400]
  472. $var[problems;$var[problems] The value you gave for the "Button Closing Time" must be a number between 5 and 2400, the maximum is 2400 seconds (40 minutes), you can't exceed it. ]
  473. $var[pf;$sum[$var[pf];1]]
  474. $else
  475. $if[$var[close_in]>4]
  476. $if[$var[close_in]>60]
  477. $var[humanized;$divide[$var[close_in];60] minutes]
  478. $else
  479. $var[humanized;$var[close_in] seconds]
  480. $endif
  481. $addField[Close Button Timer;```$var[humanized] ($var[close_in] seconds)```;yes]
  482. $var[input_closein;$var[close_in]]
  483. $else
  484. $var[problems;$var[problems] The value you gave for the "Button Closing Time" must be a number between 5 and 2400, the minimum is 5 seconds. ]
  485. $var[pf;$sum[$var[pf];1]]
  486. $endif
  487. $endif
  488. $else
  489. $var[problems;$var[problems] The value you gave for the "Button Closing Time" option was not a number, please make sure to provide a valid number in SECONDS to represent the button close timer, such as "120" for 2 minutes. ]
  490. $var[pf;$sum[$var[pf];1]]
  491. $endif
  492. $endif
  493. $if[$var[logs_channel]!=]
  494. $try
  495. $var[logstype;$channelType[$var[logs_channel]]]
  496. $endtry
  497. $if[$var[logstype]==text]
  498. $if[$serverChannelExists[$var[logs_channel]]==true]
  499. $addField[Ticket Logs Channel;<#$var[logs_channel]>;yes]
  500. $var[input_logs;$var[logs_channel]]
  501. $else
  502. $var[problems;$var[problems] Invalid Ticket Logs Channel name/ID given, it must be a channel from this server! ]
  503. $var[pf;$sum[$var[pf];1]]
  504. $endif
  505. $else
  506. $var[problems;$var[problems] Invalid Ticket Logs Channel name/ID given, if you used a name try with an ID and viceversa, make sure the ID is right! ]
  507. $var[pf;$sum[$var[pf];1]]
  508. $endif
  509. $endif
  510. $if[$var[ticket_category]!=]
  511. $try
  512. $var[cattype;$channelType[$var[ticket_category]]]
  513. $endtry
  514. $if[$var[cattype]==category]
  515. $if[$serverChannelExists[$var[ticket_category]]==true]
  516. $addField[Tickets Category;<#$var[ticket_category]>;yes]
  517. $var[input_category;$var[ticket_category]]
  518. $else
  519. $var[problems;$var[problems] Invalid Ticket Category name/ID given, it must be a category from this server! ]
  520. $var[pf;$sum[$var[pf];1]]
  521. $endif
  522. $else
  523. $var[problems;$var[problems] Invalid Ticket Category name/ID given, if you used a name try with an ID and viceversa, make sure the ID is right! ]
  524. $var[pf;$sum[$var[pf];1]]
  525. $endif
  526. $endif
  527. $color[$var[success_color]]
  528. $title[Success!]
  529. $description[> **$var[pf]** problems found! Changes has been applied successfully.]
  530. $setUserVar[tickets2;$var[input_category]-$var[input_logs]-$var[input_closein]-$var[input_rating]-$var[input_webhooks];$botID]
  531. $if[$var[pf]>0]
  532. $addField[Problems Found;```$replaceText[$replaceText[$var[problems]; ;;1]; ; & ;-1]```]
  533. $endif
  534. $ephemeral
  535. $stop $c[s]
  536. $endif
  537. $if[$customID==tkt_rlsset]
  538. $if[$input[staffroles]!=]
  539. $textSplit[$replaceText[$replaceText[$replaceText[$input[staffroles];<;;-1];>;;-1];@&;;-1];,]
  540. $if[$roleExists[$findRole[$splitText[1]]]==true]
  541. $var[sr;$findRole[$splitText[1]]]
  542. $var[sr1;$findRole[$splitText[1]]]
  543. $endif
  544. $if[$getTextSplitLength>1]
  545. $if[$roleExists[$findRole[$splitText[2]]]==true]
  546. $var[sr;$var[sr] $findRole[$splitText[2]]]
  547. $var[sr2;$findRole[$splitText[2]]]
  548. $endif
  549. $endif
  550. $if[$getTextSplitLength>2]
  551. $if[$roleExists[$findRole[$splitText[3]]]==true]
  552. $var[sr;$var[sr] $findRole[$splitText[3]]]
  553. $var[sr3;$findRole[$splitText[3]]]
  554. $endif
  555. $endif
  556. $if[$and[$roleExists[$var[sr1]]==false;$roleExists[$var[sr2]]==false;$roleExists[$var[sr3]]==false]==true]
  557. $var[failed;true]
  558. $var[failed_error;Invalid roles given in "Staff Roles"! Try using role IDs separated by comma instead.]
  559. $endif
  560. $var[sr;$replaceText[$var[sr]; ;;-1]]
  561. $var[sr;$replaceText[$var[sr]; ;;-1]]
  562. $var[sr;$replaceText[$var[sr]; ;,;-1]]
  563. $textSplit[$var[sr];,]
  564. $var[sr_n;0]
  565. $if[$roleExists[$splitText[1]]==true] $var[sr_n;$sum[$var[sr_n];1]] $endif
  566. $if[$roleExists[$splitText[2]]==true] $var[sr_n;$sum[$var[sr_n];1]] $endif
  567. $if[$roleExists[$splitText[3]]==true] $var[sr_n;$sum[$var[sr_n];1]] $endif
  568. $var[sr_length;$var[sr_n]]
  569. $if[$var[sr_length]>1]
  570. $var[sr_msg;<@&$splitText[1]>
  571. <@&$splitText[2]>]
  572. $var[sr_plural;s]
  573. $else
  574. $var[sr_msg;<@&$splitText[1]>]
  575. $endif
  576. $if[$var[sr_length]>2]
  577. $var[sr_msg;$var[sr_msg]
  578. <@&$splitText[3]>]
  579. $endif
  580. $if[$checkContains[$var[sr_msg];<@&>]==true]
  581. $var[failed;true]
  582. $var[failed_error;Please use only one role value (ID, name, or mention) when specifying roles. Combining multiple values may cause errors. If you are using only one role, try using its ID. If the problem persists, contact a bot developer, this error comes from the "Staff Roles" input.]
  583. $endif
  584. $endif
  585. $if[$input[blacklistedroles]!=]
  586. $textSplit[$replaceText[$replaceText[$replaceText[$input[blacklistedroles];<;;-1];>;;-1];@&;;-1];,]
  587. $if[$roleExists[$findRole[$splitText[1]]]==true]
  588. $var[br;$findRole[$splitText[1]]]
  589. $var[br1;$findRole[$splitText[1]]]
  590. $endif
  591. $if[$getTextSplitLength>1]
  592. $if[$roleExists[$findRole[$splitText[2]]]==true]
  593. $var[br;$var[br] $findRole[$splitText[2]]]
  594. $var[br2;$findRole[$splitText[2]]]
  595. $endif
  596. $endif
  597. $if[$getTextSplitLength>2]
  598. $if[$roleExists[$findRole[$splitText[3]]]==true]
  599. $var[br;$var[br] $findRole[$splitText[3]]]
  600. $var[br3;$findRole[$splitText[3]]]
  601. $endif
  602. $endif
  603. $if[$and[$roleExists[$var[br1]]==false;$roleExists[$var[br2]]==false;$roleExists[$var[br3]]==false]==true]
  604. $var[failed;true]
  605. $var[failed_error;Invalid roles given in "Blacklisted Roles"! Try using role IDs separated by comma instead.]
  606. $endif
  607. $var[br;$replaceText[$var[br]; ;;-1]]
  608. $var[br;$replaceText[$var[br]; ;;-1]]
  609. $var[br;$replaceText[$var[br]; ;,;-1]]
  610. $textSplit[$var[br];,]
  611. $var[br_n;0]
  612. $if[$roleExists[$splitText[1]]==true] $var[br_n;$sum[$var[br_n];1]] $endif
  613. $if[$roleExists[$splitText[2]]==true] $var[br_n;$sum[$var[br_n];1]] $endif
  614. $if[$roleExists[$splitText[3]]==true] $var[br_n;$sum[$var[br_n];1]] $endif
  615. $var[br_length;$var[br_n]]
  616. $if[$var[br_length]>1]
  617. $var[br_msg;<@&$splitText[1]>
  618. <@&$splitText[2]>]
  619. $var[br_plural;s]
  620. $else
  621. $var[br_msg;<@&$splitText[1]>]
  622. $endif
  623. $if[$var[br_length]>2]
  624. $var[br_msg;$var[br_msg]
  625. <@&$splitText[3]>]
  626. $endif
  627. $if[$checkContains[$var[br_msg];<@&>]==true]
  628. $var[failed;true]
  629. $var[failed_error;Please use only one role value (ID, name, or mention) when specifying roles. Combining multiple values may cause errors. If you are using only one role, try using its ID. If the problem persists, contact a bot developer, this error comes from the "Blacklisted Roles" input.]
  630. $endif
  631. $endif
  632. $if[$var[failed]==true]
  633. $color[$var[error_color]]
  634. $title[Failed!]
  635. $description[Sorry **$username**, this action failed because of the following error:
  636. ```$var[failed_error]```]
  637. $footer[If you think this is a bug report it to a Bot Developer!]
  638. $ephemeral
  639. $stop
  640. $endif
  641. $if[$var[sr_msg]==]
  642. $var[sr_msg;``Not given!``]
  643. $endif
  644. $if[$var[br_msg]==]
  645. $var[br_msg;``Not given!``]
  646. $endif
  647. $setServerVar[tickets3;$replaceText[$var[sr]-$var[br]; ;;-1]]
  648. $color[$var[success_color]]
  649. $title[Success!]
  650. $description[The previous values have been successfully updated to the new values!]
  651. $addField[Staff Role$var[sr_plural];$var[sr_msg];yes]
  652. $addField[Blacklisted Role$var[br_plural];$var[br_msg];yes]
  653. $ephemeral
  654. $stop $c[s]
  655. $endif
  656. $if[$customID==tkt_cfg-$authorID]
  657. $removeButtons
  658. $if[$or[$var[is_staff]==false;$checkUserPerms[$authorID;manageserver]==false]==true]
  659. $removeButtons
  660. $title[$var[sf_title]]
  661. $description[$var[sf_descr]]
  662. $color[$var[error_color]]
  663. $ephemeral
  664. $stop
  665. $endif
  666. $var[t_title;$input[ticket-title]]
  667. $var[t_desc;$input[ticket-description]]
  668. $var[t_footer;$input[ticket-footer]]
  669. $var[t_color;$input[ticket-color]]
  670. $var[t_image;$input[ticket-image]]
  671. > *This is just a preview of the embed, you can dismiss it.*
  672. $try
  673. $footer[$var[t_footer]]
  674. $var[embed_data;$var[t_footer]]
  675. $endtry
  676. $if[$isValidHex[$var[t_color]]==true]
  677. $try
  678. $color[$var[t_color]]
  679. $catch
  680. $color[$var[main_color]]
  681. $var[t_color;$var[main_color]]
  682. $endtry
  683. $var[embed_data;$var[embed_data]≈$var[t_color]]
  684. $else
  685. $color[$var[main_color]]
  686. $var[embed_data;$var[embed_data]≈]
  687. $endif
  688. $try
  689. $title[$var[t_title]]
  690. $var[embed_data;$var[embed_data]≈$var[t_title]]
  691. $catch
  692. $title[Ticket Menu]
  693. $var[embed_data;$var[embed_data]≈]
  694. $endtry
  695. $try
  696. $description[$var[t_desc]]
  697. $var[embed_data;$var[embed_data]≈$var[t_desc]]
  698. $catch
  699. $description[Open a new Ticket using the interaction below this message!]
  700. $var[embed_data;$var[embed_data]≈]
  701. $endtry
  702. $try
  703. $image[$var[t_image]]
  704. $var[embed_data;$var[embed_data]≈$var[t_image]]
  705. $catch
  706. $var[embed_data;$var[embed_data]≈]
  707. $endtry
  708. $setChannelVar[tickets2;$var[embed_data]]
  709. $ephemeral
  710. $endif
  711. $c[here]
  712. $if[$customID==tkt_pnlact_delete-$authorID]
  713. $if[$input[panelid]==1]
  714. $var[input;$input[panelid]]
  715. $else
  716. $var[input;$sum[$input[panelid];1]]
  717. $endif
  718. $if[$or[$var[is_staff]==false;$checkUserPerms[$authorID;manageserver]==false]==true]
  719. $removeButtons
  720. $title[$var[sf_title]]
  721. $description[$var[sf_descr]]
  722. $color[$var[error_color]]
  723. $ephemeral
  724. $stop
  725. $endif
  726. $if[$isNumber[$var[input]]==false]
  727. $removeButtons
  728. $description[Invalid Panel ID given! It must be a valid ID from **1-$var[panel_limit]**, to know the IDs of all the existing panels just use the ticket menu "Setup Ticket Panel" button.]
  729. $color[$var[error_color]]
  730. $ephemeral
  731. $stop
  732. $endif
  733. $if[$or[$var[input]<1;$var[input]>$var[panel_limit]]==true]
  734. $removeButtons
  735. $description[Invalid Panel ID given! __It must be a valid ID from **1-$var[panel_limit]**__, you gave a numerical ID but it's not a valid one.]
  736. $color[$var[error_color]]
  737. $ephemeral
  738. $stop
  739. $endif
  740. $textSplit[$getChannelVar[tickets];≈]
  741. $if[$var[input]==1]
  742. $var[r;$splitText[2]]
  743. $else
  744. $var[r;$splitText[$var[input]]]
  745. $endif
  746. $if[$checkContains[$var[r];𝖑]==false]
  747. $removeButtons
  748. $description[Invalid Panel ID given! You gave a numerical ID but there are no panels linked to that ID.]
  749. $color[$var[error_color]]
  750. $ephemeral
  751. $stop
  752. $endif
  753. $try
  754. $setChannelVar[tickets;$replaceText[$getChannelVar[tickets];≈$var[r];;1]]
  755. $setChannelVar[tickets;$replaceText[$replaceText[$getChannelVar[tickets];$var[r];;1];≈≈;≈;-1]]
  756. $catch
  757. $description[Couldn't remove the panel with the given ID, please report this error to a Bot Developer.]
  758. $color[$var[error_color]]
  759. $ephemeral
  760. $stop
  761. $endtry
  762. $if[$var[input]==1] $var[p;1] $else $var[p;$sub[$var[input];1]] $endif
  763. $title[Success!]
  764. $description[> You successfully **deleted** the panel ID **$var[p]**!]
  765. $color[$var[success_color]]
  766. $ephemeral
  767. $stop $c[s]
  768. $endif
  769. $c[st]
  770. $if[$customID==tkt_add_pnl-$authorID]
  771. $if[$or[$var[is_staff]==false;$checkUserPerms[$authorID;manageserver]==false]==true]
  772. $stop
  773. $endif
  774. $removeButtons
  775. $textSplit[$getChannelVar[tickets];≈]
  776. $var[l;$getTextSplitLength]
  777. $var[n;1]
  778. $if[$var[l]>1]
  779. $eval[$repeatMessage[2;$repeatMessage[5;%{DOL}%optOff[
  780. %{DOL}%textSplit[%{DOL}%getChannelVar[tickets\]\;≈\]
  781. %{DOL}%var[s\;%{DOL}%splitText[%{DOL}%sum[%{DOL}%var[n\]\;1\]\]\]
  782. %{DOL}%textSplit[%{DOL}%var[s\]\;𝖑\]
  783. %{DOL}%var[%{DOL}%var[n\]_title\;%{DOL}%splitText[1\]\]
  784. %{DOL}%var[%{DOL}%var[n\]_description\;%{DOL}%splitText[2\]\]
  785. %{DOL}%if[%{DOL}%var[%{DOL}%var[n\]_description\]!=\]
  786. %{DOL}%try %{DOL}%addField[ID #%{DOL}%var[n\] - %{DOL}%var[%{DOL}%var[n\]_title\]\;```%{DOL}%var[%{DOL}%var[n\]_description\]```\] %{DOL}%endtry
  787. %{DOL}%endif
  788. %{DOL}%var[n\;%{DOL}%sum[%{DOL}%var[n\]\;1\]\]
  789. \]]]]
  790. $endif
  791. $title[Panels Management]
  792. $description[> Manage your ticket panels using the buttons below this embed, leave everything as default if you want to use a button to open the ticket instead (no panels), you can setup a maximum of **$var[panel_limit]** panels.]
  793. $color[$var[success_color]]
  794. $footer[When you are done configuring the panels press the "Done" button to save changes.]
  795. $if[$var[l]>$var[panel_limit]]
  796. $addButton[no;tkt_pnlact_mdl_add-$authorID;Max $var[panel_limit] panels!;primary;yes;]
  797. $else
  798. $addButton[no;tkt_pnlact_mdl_add-$authorID;Add new panel;primary;no;]
  799. $endif
  800. $if[$var[l]>1]
  801. $var[d;no]
  802. $else
  803. $var[d;yes]
  804. $endif
  805. $addButton[no;tkt_pnlact_mdl_edit-$authorID;Edit panel;secondary;$var[d];]
  806. $addButton[no;tkt_pnlact_mdl_delete-$authorID;Delete panel;danger;$var[d];]
  807. $addButton[no;tkt_pnlact_done-$authorID;Done;success;no;]
  808. $ephemeral
  809. $stop $c[s]
  810. $endif
  811. $if[$customID==tkt_pnlact_done-$authorID]
  812. $removeButtons
  813. $title[Success!]
  814. $description[> Successfully saved changes! No errors detected.]
  815. $color[$var[success_color]]
  816. $try $var[d;$deleteIn[3s]] $endtry
  817. $stop $c[s]
  818. $endif
  819.  
  820. $if[$checkContains[$customID;tkt_pnlact_]==true]
  821. $if[$checkContains[$customID;$authorID]==true]
  822. $try $var[d;$deleteIn[5s]] $endtry
  823. $endif
  824. $endif
  825. $if[$customID==tkt_open]
  826. $removeButtons
  827. $var[u;$getChannelVar[tickets;$channelID]]
  828. $var[user;$var[u]]
  829. $var[guild;$guildID]
  830. $if[$or[$var[is_staff]==false;$checkUserPerms[$authorID;manageserver]==false]==true]
  831. $removeButtons
  832. $title[$var[sf_title]]
  833. $description[$var[sf_descr]]
  834. $color[$var[error_color]]
  835. $ephemeral
  836. $stop
  837. $endif
  838. $try
  839. $modifyChannelPerms[$channelID;+readmessages;+sendmessages;+embedlinks;+attachfiles;$var[u]]
  840. $catch
  841. $editChannelPerms[$channelID;$var[u];+sendmessages;+readmessages;+embedlinks;+attachfiles]
  842. $endtry
  843. $if[$checkContains[$channelName[$channelID];solved-]==false]
  844. $title[Already Open!]
  845. $description[Hey **$username**, this Ticket is already flagged as **open**! Are you trying to close it back?
  846. You can use the Staff Panel to close this ticket back.]
  847. $color[$var[error_color]]
  848. $addButton[no;tkt_pnel;Staff Panel;primary;no;$var[panel_emoji]]
  849. $ephemeral
  850. $stop
  851. $endif
  852. $async[oa]
  853. $useChannel[$channelID]
  854. $sendEmbedMessage[$channelID;<@$var[u]>;Ticket Open!;;This Ticket has been opened by **$username[$authorID]#$discriminator[$authorID]**!
  855. ```Ticket Author Username: $username[$var[u]]#$discriminator[$var[u]]
  856. Ticket Author's ID: $var[u]
  857. Ticket unarchived by $username[$authorID]#$discriminator[$authorID]```;$var[success_color];$serverName[$guildID];$serverIcon[$guildID];;;;;;no]
  858. $optOff[$modifyChannel[$channelID;$replaceText[$channelName[$channelID];solved-;;-1]]]
  859. $endasync
  860. $removeButtons
  861. $title[Ticket opened back!]
  862. $description[> ☑️ This Ticket is now **Open**! Read & Send Messages permissions has been granted back to <@$var[u]>, the Ticket's author. ]
  863. $color[$var[success_color]]
  864. $ephemeral
  865. $stop $c[s]
  866. $endif
  867.  
  868. $if[$customID==tkt_closecancel]
  869. $removeButtons
  870. $try
  871. $setUserVar[tickets;$replaceText[$getUserVar[tickets];-$channelIDClose;;-1];$authorID]
  872. $catch
  873. $setUserVar[tickets;;$authorID]
  874. $endtry
  875. $description[> ☑️ Successfully cancelled this action! This Ticket **won't** get closed, if you want to close it you can use the **Close Ticket** button again.]
  876. $color[$var[success_color]]
  877. $stop $c[s]
  878. $endif
  879.  
  880. $if[$customID==tkt_pnlact_edit-$authorID]
  881. $if[$input[panelid]==1]
  882. $var[input;$input[panelid]]
  883. $else
  884. $var[input;$sum[$input[panelid];1]]
  885. $endif
  886. $var[newtitle;$input[paneltitle]]
  887. $var[newdesc;$input[paneldescription]]
  888. $if[$isNumber[$var[input]]==false]
  889. $removeButtons
  890. $description[Invalid Panel ID given! It must be a valid ID from **1-$var[panel_limit]**, to know the IDs of all the existing panels just use the ticket menu "Setup Ticket Panel" button.]
  891. $color[$var[error_color]]
  892. $ephemeral
  893. $stop
  894. $endif
  895. $if[$var[input]!=8]
  896. $if[$or[$var[input]<1;$var[input]>$var[panel_limit]]==true]
  897. $removeButtons
  898. $description[Invalid Panel ID given! __It must be a valid ID from **1-$var[panel_limit]**__, you gave a numerical ID but it's not a valid one.]
  899. $color[$var[error_color]]
  900. $ephemeral
  901. $stop
  902. $endif
  903. $endif
  904. $textSplit[$getChannelVar[tickets];≈]
  905. $if[$var[input]==1]
  906. $var[r;$splitText[2]]
  907. $else
  908. $var[r;$splitText[$var[input]]]
  909. $endif
  910. $if[$checkContains[$var[r];𝖑]==false]
  911. $removeButtons
  912. $description[Invalid Panel ID given! You gave a numerical ID but there are no panels linked to that ID.]
  913. $color[$var[error_color]]
  914. $ephemeral
  915. $stop
  916. $endif
  917. $textSplit[$var[r];𝖑]
  918. $if[$var[newtitle]==]
  919. $var[newtitle;$splitText[1]]
  920. $var[title_extra; — Nothing changed!]
  921. $endif
  922. $if[$var[newdesc]==]
  923. $var[newdesc;$splitText[2]]
  924. $var[desc_extra; — Nothing changed!]
  925. $endif
  926. $try
  927. $setChannelVar[tickets;$replaceText[$getChannelVar[tickets];$var[r];$var[newtitle]𝖑$var[newdesc];1]]
  928. $catch
  929. $try
  930. $setChannelVar[tickets;$replaceText[$getChannelVar[tickets];$var[r];$var[newtitle]𝖑$cropText[$var[newdesc];30;];1]]
  931. $catch
  932. $try
  933. $setChannelVar[tickets;$replaceText[$getChannelVar[tickets];$var[r];$var[newtitle]𝖑$cropText[$var[newdesc];20;];1]]
  934. $catch
  935. $title[Unexpected Error!]
  936. $description[Sorry, there has been an issue while trying to edit this panel, all the values you gave were right, the error is from our side!]
  937. $addField[Error Message;```Exceeded variable value while changing Ticket Panel title/description (Value is "$charCount[$getChannelVar[tickets]]")```;yes]
  938. $footer[Please report this to the Bot Developer, if this isn't fixed just open a new ticket menu setup.]
  939. $color[$var[error_color]]
  940. $endtry
  941. $endtry
  942. $endtry
  943. $title[Success!]
  944. $description[> Successfully edited the panel ID **$var[input]**!]
  945. $if[$var[input]==1]
  946. $addField[ID;```$var[input]```;yes]
  947. $else
  948. $addField[ID;```$sub[$var[input];1]```;yes]
  949. $endif
  950. $addField[New Title$var[title_extra];```$var[newtitle]```;yes]
  951. $addField[New Description$var[desc_extra];```$var[newdesc]```;yes]
  952. $color[$var[success_color]]
  953. $ephemeral
  954. $stop $c[s]
  955. $endif
  956. $if[$customID==tkt_pnlact_add-$authorID]
  957. $if[$or[$var[is_staff]==false;$checkUserPerms[$authorID;manageserver]==false]==true]
  958. $removeButtons
  959. $title[$var[sf_title]]
  960. $description[$var[sf_descr]]
  961. $color[$var[error_color]]
  962. $ephemeral
  963. $stop
  964. $endif
  965. $textSplit[$getChannelVar[tickets];≈]
  966. $var[l;$getTextSplitLength]
  967. $if[$var[l]>$var[panel_limit]]
  968. $description[You cannot create another Ticket Panel, there's a limit of **$var[panel_limit]** panels! You can either remove a panel or create another ticket menu.]
  969. $color[$var[error_color]]
  970. $ephemeral
  971. $stop
  972. $endif
  973. $title[Success!]
  974. $description[Successfully added panel ID **$var[l]**!]
  975. $addField[Panel ID;```$var[l]```;yes]
  976. $addField[Panel Title;```$input[paneltitle]```;yes]
  977. $addField[Panel Description;```$input[paneldescription]```;yes]
  978. $color[$var[success_color]]
  979. $try
  980. $setChannelVar[tickets;$getChannelVar[tickets]≈$input[paneltitle]𝖑$input[paneldescription]]
  981. $catch
  982. $try
  983. $setChannelVar[tickets;$getChannelVar[tickets]≈$input[paneltitle]𝖑$cropText[$input[paneldescription];30]~]
  984. $catch
  985. $setChannelVar[tickets;≈$input[paneltitle]𝖑$input[paneldescription]]
  986. $endtry
  987. $endtry
  988. $ephemeral
  989. $stop $c[s]
  990. $endif $c[e]
  991. $if[$customID==tkt_pnl_send-$authorID]
  992. $if[$or[$var[is_staff]==false;$checkUserPerms[$authorID;manageserver]==false]==true]
  993. $stop
  994. $endif
  995. $removeButtons
  996. $textSplit[$getChannelVar[tickets2];≈]
  997. $var[t_footer;$splitText[1]]
  998. $var[t_color;$splitText[2]]
  999. $var[t_title;$splitText[3]]
  1000. $var[t_desc;$splitText[4]]
  1001. $var[t_image;$splitText[5]]
  1002. $textSplit[$getChannelVar[tickets];≈]
  1003. $var[l;$getTextSplitLength]
  1004. $var[n;1]
  1005. $if[$var[l]>1]
  1006. $var[type;selection menu]
  1007. $newSelectMenu[tmenu-open;1;1;Select a Ticket panel!]
  1008. $eval[$repeatMessage[2;$repeatMessage[5;%{DOL}%optOff[
  1009. %{DOL}%textSplit[%{DOL}%getChannelVar[tickets\]\;≈\]
  1010. %{DOL}%var[s\;%{DOL}%splitText[%{DOL}%sum[%{DOL}%var[n\]\;1\]\]\]
  1011. %{DOL}%textSplit[%{DOL}%var[s\]\;𝖑\]
  1012. %{DOL}%var[%{DOL}%var[n\]_title\;%{DOL}%splitText[1\]\]
  1013. %{DOL}%var[%{DOL}%var[n\]_description\;%{DOL}%splitText[2\]\]
  1014. %{DOL}%if[%{DOL}%var[%{DOL}%var[n\]_description\]!=\]
  1015. %{DOL}%try
  1016. %{DOL}%addSelectMenuOption[tmenu-open\;%{DOL}%var[%{DOL}%var[n\]_title\]\;tkt_mdl_o-%{DOL}%replaceText[%{DOL}%var[%{DOL}%var[n\]_title\]-%{DOL}%var[n\]\;-\;~\;-1\]\;%{DOL}%var[%{DOL}%var[n\]_description\]\]
  1017. %{DOL}%endtry
  1018. %{DOL}%endif
  1019. %{DOL}%var[n\;%{DOL}%sum[%{DOL}%var[n\]\;1\]\]
  1020. \]]]]
  1021. $else
  1022. $var[type;button]
  1023. $addButton[no;tkt_mdl_op-0;Open a Ticket;primary;no;$var[openticket_emoji]]
  1024. $endif
  1025. $if[$var[t_title]!=]
  1026. $title[$var[t_title]]
  1027. $else
  1028. $title[Ticket Menu]
  1029. $endif
  1030. $if[$var[t_desc]!=]
  1031. $description[$var[t_desc]]
  1032. $else
  1033. $description[Open a new Ticket using the $var[type] below this message!]
  1034. $endif
  1035. $if[$isValidHex[$var[t_color]]==true]
  1036. $color[$var[t_color]]
  1037. $else
  1038. $color[$var[main_color]]
  1039. $endif
  1040. $if[$var[t_footer]!=]
  1041. $footer[$var[t_footer]]
  1042. $endif
  1043. $if[$var[t_image]!=]
  1044. $try
  1045. $image[$var[t_image]]
  1046. $catch
  1047. $try
  1048. $image[$var[default_image]]
  1049. $endtry
  1050. $endtry
  1051. $else
  1052. $try
  1053. $image[$var[default_image]]
  1054. $endtry
  1055. $endif
  1056. $stop $c[s]
  1057. $endif
  1058. $if[$customID==tkt_pnel]
  1059. $removeButtons
  1060. $if[$var[is_staff]==false]
  1061. $removeButtons
  1062. $title[$var[sf_title]]
  1063. $description[$var[sf_descr]]
  1064. $color[$var[error_color]]
  1065. $ephemeral
  1066. $stop
  1067. $endif
  1068. $removeComponent[$customID]
  1069. $var[u;$getChannelVar[tickets;$channelID]]
  1070. $var[user;$var[u]]
  1071. $title[Staff Panel]
  1072. $description[Hey **$username**, this is your staff panel! You can manage this ticket using the buttons below this message.]
  1073. $color[$var[main_color]]
  1074. $if[$checkContains[$getChannelVar[tickets2];%sticky%]==true]
  1075. $addButton[no;tkt_sticky;Mark as non-Sticky;success;no;$var[sticky_emoji]]
  1076. $endif
  1077. $if[$checkContains[$channelName[$channelID];solved-]==true]
  1078. $addButton[no;tkt_open;Open Ticket;success;no;$var[open_emoji]]
  1079. $else
  1080. $if[$checkContains[$getChannelVar[tickets2];%sticky%]==true]
  1081. $if[$var[hide_on_sticky]!=true]
  1082. $addButton[no;tkt_slvd--$authorID;Close & Save;primary;yes;$var[solved_emoji]]
  1083. $endif
  1084. $else
  1085. $addButton[no;tkt_slvd--$authorID;Close & Save;primary;no;$var[solved_emoji]]
  1086. $endif
  1087. $endif
  1088. $if[$checkContains[$getChannelVar[tickets2];%sticky%]==true]
  1089. $if[$var[hide_on_sticky]!=true]
  1090. $addButton[no;tkt_close;Close Ticket;danger;yes;$var[close_emoji]]
  1091. $endif
  1092. $else
  1093. $addButton[no;tkt_close;Close Ticket;danger;no;$var[close_emoji]]
  1094. $endif
  1095. $if[$getChannelVar[tickets3]!=]
  1096. $if[$userExists[$getChannelVar[tickets3]]==true]
  1097. $var[claimed_by;$getChannelVar[tickets3]]
  1098. $endif
  1099. $endif
  1100. $if[$var[claimed_by]==]
  1101. $addButton[no;tkt_claim;Claim Ticket;secondary;no;$var[claim_emoji]]
  1102. $else
  1103. $if[$or[$var[claimed_by]==$authorID;$isAdmin[$authorID]==true]==true]
  1104. $addButton[no;tkt_claim;Unclaim Ticket;secondary;no;$var[claim_emoji]]
  1105. $else
  1106. $addButton[no;tkt_claim;Claimed by $cropText[$username[$authorID];6;~];secondary;yes;$var[claim_emoji]]
  1107. $endif
  1108. $endif
  1109. $if[$checkContains[$getChannelVar[tickets2];%sticky%]==false]
  1110. $addButton[no;tkt_sticky;Mark as Sticky;secondary;no;$var[sticky_emoji]]
  1111. $endif
  1112. $if[$var[hide_on_sticky]==true]
  1113. $if[$checkContains[$getChannelVar[tickets2];%sticky%]==true]
  1114. $var[berk_4ever;no]
  1115. $else
  1116. $var[berk_4ever;yes]
  1117. $endif
  1118. $else
  1119. $var[berk_4ever;yes]
  1120. $endif
  1121. $addButton[$var[berk_4ever];tkt_usr;User Info;secondary;no;$var[info_emoji]]
  1122. $ephemeral
  1123. $stop $c[s]
  1124. $endif
  1125. $if[$customID==tkt_claim]
  1126. $removeButtons
  1127. $if[$var[is_staff]==false]
  1128. $removeButtons
  1129. $title[$var[sf_title]]
  1130. $description[$var[sf_descr]]
  1131. $color[$var[error_color]]
  1132. $ephemeral
  1133. $stop
  1134. $endif
  1135. $var[u;$getChannelVar[tickets;$channelID]]
  1136. $var[user;$var[u]]
  1137. $var[claimed_msg;| Claimed by $username[$authorID]#$discriminator[$authorID]]
  1138. $var[format;$channelID $authorID $channelID]
  1139. $var[format;$replaceText[$var[format]; ;;-1]]
  1140. $addButton[no;tkt_pnel;Staff Panel;primary;no;$var[panel_emoji]]
  1141. $if[$getChannelVar[tickets3]!=]
  1142. $if[$userExists[$getChannelVar[tickets3]]==true]
  1143. $var[claimed_by;$getChannelVar[tickets3]]
  1144. $endif
  1145. $endif
  1146. $if[$var[claimed_by]==]
  1147. $async[logs_block]
  1148. $if[$serverChannelExists[$var[logs]]]
  1149. $try
  1150. $sendEmbedMessage[$var[logs];;Ticked Claimed;;Ticket ``#$channelName[$channelID]`` (<#$channelID>) by <@$var[u]> (**$username[$var[u]]#$discriminator[$var[u]]**) has been __claimed__ by the staff member <@$authorID> (**$username[$authorID]#$discriminator[$authorID]**)!
  1151. ;$var[success_color];;;;;;;;no]
  1152. $endtry
  1153. $endif
  1154. $endasync
  1155. $sendEmbedMessage[$channelID;;Ticked Claimed;;Hey **$username[$var[u]]**, this ticket has been claimed by <@$authorID> (**$username[$authorID]#$discriminator[$authorID]**)!
  1156. ;$var[main_color];;;;;;;;no]
  1157. $setChannelVar[tickets3;$authorID]
  1158. $title[Successfully claimed!]
  1159. $description[> ☑️ **$username[$authorID]** You successfully claimed this ticket!]
  1160. $color[$var[success_color]]
  1161. $textSplit[$getServerVar[tickets3];-]
  1162. $var[ts1;$splitText[1]]
  1163. $var[ts2;$splitText[2]]
  1164. $textSplit[$var[ts1];,]
  1165. $try $editChannelPerms[$channelID;$authorID;+sendmessages;+readmessages;+embedlinks;+attachfiles] $endtry
  1166. $if[$roleExists[$splitText[1]]==true] $try $editChannelPerms[$channelID;$splitText[1];-sendmessages;+readmessages;+embedlinks;+attachfiles] $endtry $endif
  1167. $if[$roleExists[$splitText[2]]==true] $try $editChannelPerms[$channelID;$splitText[2];-sendmessages;+readmessages;+embedlinks;+attachfiles] $endtry $endif
  1168. $if[$roleExists[$splitText[3]]==true] $try $editChannelPerms[$channelID;$splitText[3];-sendmessages;+readmessages;+embedlinks;+attachfiles] $endtry $endif
  1169. $try
  1170. $optOff[$modifyChannel[$channelID;!unchanged;$channelTopic $var[claimed_msg] ($authorID)]]
  1171. $endtry
  1172. $else
  1173. $if[$isAdmin[$authorID]==false]
  1174. $if[$authorID!=$var[claimed_by]]
  1175. $removeButtons
  1176. $description[Hey **$username**, you can't claim this ticket! This ticket has been claimed by <@$var[claimed_by]>, they or an administrator must unclaim it.]
  1177. $color[$var[error_color]]
  1178. $stop
  1179. $endif
  1180. $endif
  1181. $async[logs_block]
  1182. $if[$serverChannelExists[$var[logs]]]
  1183. $try
  1184. $sendEmbedMessage[$var[logs];;Ticked Unclaimed;;Ticket ``#$channelName[$channelID]`` (<#$channelID>) by <@$var[u]> (**$username[$var[u]]#$discriminator[$var[u]]**) has been __unclaimed__ by the staff member <@$authorID> (**$username[$authorID]#$discriminator[$authorID]**)!
  1185. ;$var[neutral_color];;;;;;;;no]
  1186. $endtry
  1187. $endif
  1188. $endasync
  1189. $sendEmbedMessage[$channelID;;Ticked Unclaimed;;Hey **$username[$var[u]]**, this ticket has been __unclaimed__ by <@$authorID> (**$username[$authorID]#$discriminator[$authorID]**)!
  1190. ;$var[main_color];;;;;;;;no]
  1191. $setChannelVar[tickets3;]
  1192. $title[Successfully unclaimed!]
  1193. $description[> ☑️ **$username[$authorID]** You successfully marked this ticket as **unclaimed**!]
  1194. $color[$var[success_color]]
  1195. $textSplit[$getServerVar[tickets3];-]
  1196. $var[ts1;$splitText[1]]
  1197. $var[ts2;$splitText[2]]
  1198. $textSplit[$var[ts1];,]
  1199. $try $editChannelPerms[$channelID;$authorID;/sendmessages;/readmessages;+embedlinks;+attachfiles] $endtry
  1200. $if[$roleExists[$splitText[1]]==true] $try $editChannelPerms[$channelID;$splitText[1];+sendmessages;+readmessages;+embedlinks;+attachfiles] $endtry $endif
  1201. $if[$roleExists[$splitText[2]]==true] $try $editChannelPerms[$channelID;$splitText[2];+sendmessages;+readmessages;+embedlinks;+attachfiles] $endtry $endif
  1202. $if[$roleExists[$splitText[3]]==true] $try $editChannelPerms[$channelID;$splitText[3];+sendmessages;+readmessages;+embedlinks;+attachfiles] $endtry $endif
  1203. $try
  1204. $async[topic_change]
  1205. $replyIn[10s]
  1206. $var[new_topic;$replaceText[$replaceText[$channelTopic;$var[claimed_msg];;-1];($authorID);;-1]]
  1207. $optOff[$modifyChannel[$channelID;!unchanged;$var[new_topic]]]
  1208. $endasync
  1209. $endtry
  1210. $endif
  1211. $stop $c[s]
  1212. $endif
  1213. $if[$customID==tkt_sticky]
  1214. $removeButtons
  1215. $if[$var[is_staff]==false]
  1216. $removeButtons
  1217. $title[$var[sf_title]]
  1218. $description[$var[sf_descr]]
  1219. $color[$var[error_color]]
  1220. $ephemeral
  1221. $stop
  1222. $endif
  1223. $addButton[no;tkt_pnel;Staff Panel;primary;no;$var[panel_emoji]]
  1224. $if[$checkContains[$getChannelVar[tickets2];%sticky%]==true]
  1225. $setChannelVar[tickets2;$replaceText[$getChannelVar[tickets2];%sticky%;;-1]]
  1226. $title[Successfully Unmarked]
  1227. $description[Ticket successfully **unmarked** as sticky! Ticket's author and Staff is now able to close this ticket.]
  1228. $color[$var[success_color]]
  1229. $async[logs_block]
  1230. $if[$serverChannelExists[$var[logs]]]
  1231. $try
  1232. $sendEmbedMessage[$var[logs];;Ticked Unmarked as Sticky;;Ticket ``#$channelName[$channelID]`` (<#$channelID>) has been **unmarked as sticky** by <@$authorID> (**$username[$authorID]#$discriminator[$authorID]**)!
  1233. ;$var[neutral_color];;;;;;;;no]
  1234. $endtry
  1235. $endif
  1236. $endasync
  1237. $else
  1238. $setChannelVar[tickets2;$getChannelVar[tickets2] %sticky%]
  1239. $title[Successfully Marked]
  1240. $description[Ticket successfully **marked** as sticky! Ticket's author and Staff is not able to close this ticket anymore till it gets unmarked as sticky.]
  1241. $color[$var[success_color]]
  1242. $async[logs_block]
  1243. $if[$serverChannelExists[$var[logs]]]
  1244. $try
  1245. $sendEmbedMessage[$var[logs];;Ticked Marked as Sticky;;Ticket ``#$channelName[$channelID]`` (<#$channelID>) has been **marked as sticky** by <@$authorID> (**$username[$authorID]#$discriminator[$authorID]**)!
  1246. ;$var[success_color];;;;;;;;no]
  1247. $endtry
  1248. $endif
  1249. $endasync
  1250. $endif
  1251. $stop $c[s]
  1252. $endif
  1253. $c[ ... Thanks Xloxn#4050 for the "Acknowledgements" and "Key permissions" fields. ]
  1254. $if[$checkContains[$customID;tkt_usr]==true]
  1255. $removeButtons
  1256. $textSplit[$customID;-]
  1257. $if[$splitText[2]!=]
  1258. $var[u;$splitText[2]]
  1259. $var[type;logs]
  1260. $else
  1261. $var[u;$getChannelVar[tickets;$channelID]]
  1262. $endif
  1263. $var[user;$var[u]]
  1264. $if[$userExists[$var[u]]==false]
  1265. $title[Ticket Panel (Failed!)]
  1266. $description[> Couldn't retrieve the user information about this ticket's author!]
  1267. $color[$var[error_color]]
  1268. $if[$var[type]==logs]
  1269. $ephemeral
  1270. $endif
  1271. $stop
  1272. $endif
  1273. $var[keyperms;$trimSpace[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$replaceText[$toTitleCase[$replaceText[$toLowercase[$userPerms[$var[u];-1;, ], ];_; ;-1]];Use External Emojis, ;;-1];Use External Stickers, ;;-1];Connect ,;;-1];Request To Speak, ;;-1];Use Vad, ;;-1];Use Application Commands, ;;-1];Create Public Threads, ;;-1];Send Messages In Threads, ;;-1];Manage Emojis And Stickers, ;;-1];Connect, ;;-1];Speak, ;;-1];Move Members, ;;-1];Read Message History, ;;-1];Create Instant Invite, ;;-1];Send Tts Messages, ;;-1];Embed Links, ;;-1];View Guild Insights, ;;-1];Manage Events, ;;-1];Priority Speaker, ;;-1];Stream, ;;-1];Add Reactions, ;;-1];Mute Members, ;;-1];Deafen Members, ;;-1];Manage Threads, ;;-1];View Audit Log, ;;-1];Attach Files, ;;-1];Manage Guild, ;;-1];Create Private Threads, ;;-1];Change Nickname, ;;-1];Manage Webhooks, ;;-1]]]
  1274. $var[keyperms;$trimSpace[$var[keyperms]]]
  1275. $var[keyperms;$cropText[$var[keyperms];$sub[$charCount[$var[keyperms]];1];]]
  1276. $if[$serverOwner==$var[u]]
  1277. $var[Acknowledgements;Server Owner]
  1278. $elseif[$checkUserPerms[$var[u];manageserver]==true]
  1279. $var[Acknowledgements;Server Admin]
  1280. $elseif[$checkUserPerms[$var[u];admin]==true]
  1281. $var[Acknowledgements;Administrator]
  1282. $elseif[$or[$checkUserPerms[$var[u];kick]==true;$checkUserPerms[$var[u];ban]==true;$checkUserPerms[$var[user];managemessages]==true;$checkUserPerms[$var[u];moderatemembers]==true]==true]
  1283. $var[Acknowledgements;Moderator]
  1284. $elseif[$and[$checkUserPerms[$var[user];admin;ban;kick]==false;$checkUserPerms[$var[u];sendmessages]==true]==true]
  1285. $var[Acknowledgements;Normal Member]
  1286. $elseif[$checkUserPerms[$var[u];sendmessages]==false]
  1287. $var[Acknowledgements;Normal Member]
  1288. $else
  1289. $var[Acknowledgements;Normal Member]
  1290. $endif
  1291. $if[$var[Acknowledgements]==]
  1292. $var[Acknowledgements;Unknown, couldn't find!]
  1293. $endif
  1294. $if[$var[keyperms]==]
  1295. $var[keyperms;Couldn't find!]
  1296. $endif
  1297. $title[Ticket Button - User Info]
  1298. $author[$username[$var[u]]#$discriminator[$var[u]]'s user info]
  1299. $authorIcon[$userAvatar[$var[u]]]
  1300. $description[> :identification_card: Information about the Ticket's author.]
  1301. $addField[Identificators;``$var[u]`` <@$var[u]>;no]
  1302. $addField[Joined;```$userJoined[$var[u];Mon, Jan 2, 2006 3:04 PM]```;yes]
  1303. $addField[Registered;```$userJoinedDiscord[$var[u];Mon, Jan 2, 2006 3:04 PM]```;yes]
  1304. $addField[Key Permissions;```$var[keyperms]```;no]
  1305. $addField[Acknowledgements;
  1306. ```$var[Acknowledgements]```
  1307. ;no]
  1308. $thumbnail[$userAvatar[$var[u]]]
  1309. $if[$var[type]!=logs]
  1310. $addButton[no;tkt_pnel;Back to the Panel;primary;no;$var[back_to_panel_emoji]]
  1311. $endif
  1312. $addButton[no;tkt_avtr-$var[u];User Avatar;secondary;no;]
  1313. $color[$var[main_color]]
  1314. $if[$var[type]==logs]
  1315. $ephemeral
  1316. $endif
  1317. $stop $c[s]
  1318. $endif
  1319. $if[$checkContains[$customID;tkt_avtr-]==true]
  1320. $removeButtons
  1321. $textSplit[$customID;-]
  1322. $var[u;$splitText[2]]
  1323. $var[user;$var[u]]
  1324. $var[cut;$replaceText[$replaceText[$replaceText[$replaceText[$userAvatar[$var[u]];gif;;1];png;;1];jpg;;1];webp;;1]]
  1325. $var[av;$userAvatar[$var[u]]]
  1326. $title[Ticket Button - User Info - Avatar]
  1327. $author[$username[$var[u]]#$discriminator[$var[u]]'s avatar!]
  1328. $authorIcon[$userAvatar[$var[u]]]
  1329. $image[$var[av]?size=2048]
  1330. $if[$checkContains[$var[av];gif]==true]
  1331. $addButton[no;$var[av]?size=2048;GIF;link;no;]
  1332. $endif
  1333. $addButton[no;$var[cut]png?size=2048;PNG;link;no;]
  1334. $addButton[no;$var[cut]jpg?size=2048;JPG;link;no;]
  1335. $addButton[no;$var[cut]webp?size=2048;WEBP;link;no;]
  1336. $color[$var[main_color]]
  1337. $ephemeral
  1338. $stop $c[s]
  1339. $endif
  1340. $if[$customID==tkt_close]
  1341. $removeButtons
  1342. $if[$checkContains[$getChannelVar[tickets2];%sticky%]==true]
  1343. $title[You can't close this Ticket!]
  1344. $description[Hey **$username**, this Ticket is marked as **Sticky**! It can't be closed till a staff member unmarks it using the Ticket Panel.]
  1345. $color[$var[error_color]]
  1346. $ephemeral
  1347. $stop
  1348. $endif
  1349. $var[u;$getChannelVar[tickets;$channelID]]
  1350. $var[user;$var[u]]
  1351. $title[Closing Ticket!]
  1352. $description[Hey <@$authorID>, this ticket is closing <t:$sum[$getTimestamp;$var[close_in]]:R>!]
  1353. $color[$var[error_color]]
  1354. $addButton[no;tkt_closenow;Close Now;danger;no;$var[close_emoji]]
  1355. $addButton[no;tkt_closecancel;Cancel;primary;no;]
  1356. $try
  1357. $setUserVar[tickets;$getUserVar[tickets]-$channelIDClose;$authorID]
  1358. $catch
  1359. $setUserVar[tickets;$channelIDClose;$authorID]
  1360. $endtry
  1361. $var[ch;$channelID]
  1362. $var[guild;$guildID]
  1363. $async[close_ticket]
  1364. $replyIn[$var[close_in]s]
  1365. $if[$channelExists[$channelID]==false]
  1366. $stop
  1367. $endif
  1368. $if[$checkContains[$getUserVar[tickets;$authorID];$var[ch]Close]==true]
  1369. $try
  1370. $if[$checkContains[$channelName[$channelID];solved-]==false]
  1371. $try
  1372. $var[dm_id;$sendEmbedMessage[$dmChannelID[$var[u]];;Ticket Closed;$getBotInvite;Hey **$username[$var[u]]**, your ticket ``#$channelName[$channelID]`` has been closed by <@$authorID> (**$username[$authorID]#$discriminator[$authorID]**)!
  1373.  
  1374. $replaceText[$var[rt_msg];{server};$serverName[$guildID];-1];$var[main_color];$serverName[$guildID];$serverIcon[$guildID];$var[rt_footer];;;;;yes]]
  1375. $useChannel[$dmChannelID[$var[u]]]
  1376. $if[$var[rating]==true]
  1377. $addButton[no;tkt_rtng-verybad-$var[guild];Very bad!;danger;no;;$var[dm_id]]
  1378. $addButton[no;tkt_rtng-bad-$var[guild];Bad!;danger;no;;$var[dm_id]]
  1379. $addButton[no;tkt_rtng-regular-$var[guild];Regular;primary;no;;$var[dm_id]]
  1380. $addButton[no;tkt_rtng-good-$var[guild];Good!;success;no;;$var[dm_id]]
  1381. $addButton[no;tkt_rtng-verygood-$var[guild];Very good!;success;no;;$var[dm_id]]
  1382. $else
  1383. $try
  1384. $addButton[no;$getBotInvite;Invite $username[$botID]!;link;no;;$var[dm_id]]
  1385. $catch
  1386. $addButton[no;$getBotInvite;Invite me!;link;no;;$var[dm_id]]
  1387. $endtry
  1388. $endif
  1389. $endtry
  1390. $endif
  1391. $setUserVar[tickets2;;$var[u]]
  1392. $if[$serverChannelExists[$var[logs]]==true]
  1393. $try
  1394. $var[logs_id;$sendEmbedMessage[$var[logs];;;;
  1395. > Ticket ``#$channelName[$var[ch]]`` has been closed <t:$getTimestamp:R>! (<t:$getTimestamp:F>)
  1396.  
  1397. **Ticket's Author**
  1398. ```$username[$var[u]]#$discriminator[$var[u]] ($var[u])```**Closed By**
  1399. ```$username[$authorID]#$discriminator[$authorID] ($authorID)```**Ticket ID**
  1400. ```$var[ch]```
  1401. ;$var[error_color]
  1402. ;Logs - Ticket Closed!
  1403. ;
  1404. ;;;;;yes;yes]]
  1405. $endtry
  1406. $try
  1407. $async[logs_btns]
  1408. $useChannel[$var[logs]]
  1409. $addButton[no;tkt_usr-$authorID;Ticket Author's info;secondary;no;$var[info_emoji];$var[logs_id]]
  1410. $endasync
  1411. $endtry
  1412. $endif
  1413. $deleteChannels[$var[ch]]
  1414. $catch
  1415. $channelSendMessage[$var[ch];Hey <@$authorID>, there's been an error trying to close this ticket, I couldn't delete the ticket channel, please make sure I have the `manage channels` permission.]
  1416. $endtry
  1417. $endif
  1418. $endasync
  1419. $ephemeral
  1420. $stop $c[s]
  1421. $endif
  1422. $c[ here close cancel ]
  1423. $if[$customID==tkt_closenow]
  1424. $var[u;$getChannelVar[tickets;$channelID]]
  1425. $var[user;$var[u]]
  1426. $var[guild;$guildID]
  1427. $if[$checkContains[$getChannelVar[tickets2];%sticky%]==true]
  1428. $title[You can't close this Ticket!]
  1429. $description[Hey **$username**, this Ticket is marked as **Sticky**! It can't be closed till a staff member unmarks it using the Ticket Panel.]
  1430. $color[$var[error_color]]
  1431. $ephemeral
  1432. $if[$customID==tkt_closenow]
  1433. $editChannelPerms[$channelID;$authorID;-readmessages]$endif
  1434. $try
  1435. $var[dm_id;$sendEmbedMessage[$dmChannelID[$var[u]];;Ticket Closed;$getBotInvite;Hey **$username[$var[u]]**, your ticket ``#$channelName[$channelID]`` has been closed by <@$authorID> (**$username[$authorID]#$discriminator[$authorID]**)!
  1436.  
  1437. $replaceText[$var[rt_msg];{server};$serverName[$guildID];-1];$var[main_color];$serverName[$guildID];$serverIcon[$guildID];$var[rt_footer];;;;;yes]]
  1438. $useChannel[$dmChannelID[$var[u]]]
  1439. $if[$var[rating]==true]
  1440. $addButton[no;tkt_rtng-verybad-$var[guild];Very bad!;danger;no;;$var[dm_id]]
  1441. $addButton[no;tkt_rtng-bad-$var[guild];Bad!;danger;no;;$var[dm_id]]
  1442. $addButton[no;tkt_rtng-regular-$var[guild];Regular;primary;no;;$var[dm_id]]
  1443. $addButton[no;tkt_rtng-good-$var[guild];Good!;success;no;;$var[dm_id]]
  1444. $addButton[no;tkt_rtng-verygood-$var[guild];Very good!;success;no;;$var[dm_id]]
  1445. $else
  1446. $try
  1447. $addButton[no;$getBotInvite;Invite $username[$botID]!;link;no;;$var[dm_id]]
  1448. $catch
  1449. $addButton[no;$getBotInvite;Invite me!;link;no;;$var[dm_id]]
  1450. $endtry
  1451. $endif
  1452. $endtry
  1453. $endif
  1454. $if[$serverChannelExists[$var[logs]]==true]
  1455. $try
  1456. $var[ch;$channelID]
  1457. $var[logs_id;$sendEmbedMessage[$var[logs];;;;
  1458. > Ticket ``#$channelName[$var[ch]]`` has been closed <t:$getTimestamp:R>! (<t:$getTimestamp:F>)
  1459.  
  1460. **Ticket's Author**
  1461. ```$username[$var[u]]#$discriminator[$var[u]] ($var[u])```**Closed By**
  1462. ```$username[$authorID]#$discriminator[$authorID] ($authorID)```**Ticket ID**
  1463. ```$var[ch]```
  1464. ;$var[error_color]
  1465. ;Logs - Ticket Closed!
  1466. ;
  1467. ;;;;;yes;yes]]
  1468. $endtry
  1469. $try
  1470. $async[logs_btns]
  1471. $useChannel[$var[logs]]
  1472. $addButton[no;tkt_usr-$authorID;Ticket Author's info;secondary;no;$var[info_emoji];$var[logs_id]]
  1473. $endasync
  1474. $endtry
  1475. $endif
  1476. $deleteChannels[$channelID]
  1477. $setUserVar[tickets2;;$var[u]]
  1478. $stop $c[s]
  1479. $endif
  1480. $if[$checkContains[$customID;tkt_slvd]==true]
  1481. $removeButtons
  1482. $if[$or[$var[is_staff]==false;$checkUserPerms[$authorID;manageserver]==false]==true]
  1483. $removeButtons
  1484. $title[$var[sf_title]]
  1485. $description[$var[sf_descr]]
  1486. $color[$var[error_color]]
  1487. $ephemeral
  1488. $stop
  1489. $endif
  1490. $var[u;$getChannelVar[tickets;$channelID]]
  1491. $var[user;$var[u]]
  1492. $var[guild;$guildID]
  1493. $if[$checkContains[$getChannelVar[tickets2];%sticky%]==true]
  1494. $title[You can't close this Ticket!]
  1495. $description[Hey **$username**, this Ticket is marked as **Sticky**! It can't be closed till a staff member unmarks it using the Ticket Panel.]
  1496. $color[$var[error_color]]
  1497. $ephemeral
  1498. $stop
  1499. $endif
  1500. $if[$checkContains[$channelName[$channelID];solved-]==true]
  1501. $title[Already Closed & Solved!]
  1502. $description[Hey **$username**, this Ticket is already flagged as Closed & Solved! Are you trying to open it back?
  1503. You can use the Staff Panel to open this ticket back.]
  1504. $color[$var[error_color]]
  1505. $addButton[no;tkt_pnel;Staff Panel;primary;no;$var[panel_emoji]]
  1506. $ephemeral
  1507. $stop
  1508. $endif
  1509. $try
  1510. $var[dm_id;$sendEmbedMessage[$dmChannelID[$var[u]];;Ticket Closed;$getBotInvite;Hey **$username[$var[u]]**, your ticket ``#$channelName[$channelID]`` has been closed by <@$authorID> (**$username[$authorID]#$discriminator[$authorID]**)!
  1511.  
  1512. $replaceText[$var[rt_msg];{server};$serverName[$guildID];-1];$var[main_color];$serverName[$guildID];$serverIcon[$guildID];$var[rt_footer];;;;;yes]]
  1513. $useChannel[$dmChannelID[$var[u]]]
  1514. $if[$var[rating]==true]
  1515. $addButton[no;tkt_rtng-verybad-$var[guild];Very bad!;danger;no;;$var[dm_id]]
  1516. $addButton[no;tkt_rtng-bad-$var[guild];Bad!;danger;no;;$var[dm_id]]
  1517. $addButton[no;tkt_rtng-regular-$var[guild];Regular;primary;no;;$var[dm_id]]
  1518. $addButton[no;tkt_rtng-good-$var[guild];Good!;success;no;;$var[dm_id]]
  1519. $addButton[no;tkt_rtng-verygood-$var[guild];Very good!;success;no;;$var[dm_id]]
  1520. $else
  1521. $try
  1522. $addButton[no;$getBotInvite;Invite $username[$botID]!;link;no;;$var[dm_id]]
  1523. $catch
  1524. $addButton[no;$getBotInvite;Invite me!;link;no;;$var[dm_id]]
  1525. $endtry
  1526. $endif
  1527. $endtry
  1528. $async[bl]
  1529. $useChannel[$channelID]
  1530. $var[saved_id;$sendEmbedMessage[$channelID;;Closed & Saved;;This Ticket has been Closed & Saved by **$username[$authorID]#$discriminator[$authorID]**!
  1531. ```This Ticket won't be seen by the person that opened it anymore, only staffs, if you wish to open this ticket back just use the panel!```;$var[main_color];$serverName[$guildID];$serverIcon[$guildID];;;;;;yes]]
  1532.  
  1533. $addButton[no;tkt_close;Close Ticket;danger;no;$var[close_emoji];$var[saved_id]]
  1534. $addButton[no;tkt_pnel;Staff Panel;primary;no;$var[panel_emoji];$var[saved_id]]
  1535. $endasync
  1536. $optOff[$modifyChannel[$channelID;solved-$channelName[$channelID]]]
  1537. $editChannelPerms[$channelID;$var[u];-sendmessages;-readmessages]
  1538. $removeButtons
  1539. $title[Closed & Saved]
  1540. $description[> ☑️ Successfully **Closed & Saved** this ticket! You still can use the panel to perform other actions such as actually closing this ticket. ]
  1541. $color[$var[success_color]]
  1542. $ephemeral
  1543. $stop $c[s]
  1544. $endif
  1545. $if[$checkContains[$customID;tkt_rtng-]==true]
  1546. $defer
  1547. $if[$varExists[tickets2]==false]
  1548. $removeButtons
  1549. $try
  1550. $if[$userExists[$botOwnerID]==true]
  1551. $var[bot_dev;**$username[$botOwnerID]#$discriminator[$botOwnerID]** (The Bot Developer)]
  1552. $else
  1553. $var[bot_dev;the Bot Developer]
  1554. $endif
  1555. $catch
  1556. $var[bot_dev;the Bot Developer]
  1557. $endtry
  1558. $title[Error!]
  1559. $description[Thanks for rating, your rating **wasn't** sent anywhere since there has been an **error** trying to set your anonymous rate, please contact $var[bot_dev], and send them the following error message.
  1560. ```error: Missing variable "tickets2", this variable must be added in order to make the rating system work.```]
  1561. $color[$var[error_color]]
  1562. $stop
  1563. $endif
  1564. $textSplit[$customID;-]
  1565. $var[rate;$splitText[2]]
  1566. $var[guild;$splitText[3]]
  1567. $removeButtons
  1568. $if[$checkContains[$getServerVar[tickets2;$var[guild]];--]==false]
  1569. $setServerVar[tickets2;0--0--0--0--0;$var[guild]]
  1570. $endif
  1571. $textSplit[$getServerVar[tickets2;$var[guild]];--]
  1572. $if[$var[rate]==verybad]
  1573. $setServerVar[tickets2;$sum[0$splitText[1];1]--$splitText[2]--$splitText[3]--$splitText[4]--$splitText[5];$var[guild]]
  1574. $var[feedback_msg;$var[negative_rate]]
  1575. $endif
  1576. $if[$var[rate]==bad]
  1577. $setServerVar[tickets2;$splitText[1]--$sum[0$splitText[2];1]--$splitText[3]--$splitText[4]--$splitText[5];$var[guild]]
  1578. $var[feedback_msg;$var[negative_rate]]
  1579. $endif
  1580. $if[$var[rate]==regular]
  1581. $setServerVar[tickets2;$splitText[1]--$splitText[2]--$sum[0$splitText[3];1]--$splitText[4]--$splitText[5];$var[guild]]
  1582. $var[feedback_msg;$var[positive_rate]]
  1583. $endif
  1584. $if[$var[rate]==good]
  1585. $setServerVar[tickets2;$splitText[1]--$splitText[2]--$splitText[3]--$sum[0$splitText[4];1]--$splitText[5];$var[guild]]
  1586. $var[feedback_msg;$var[positive_rate]]
  1587. $endif
  1588. $if[$var[rate]==verygood]
  1589. $setServerVar[tickets2;$splitText[1]--$splitText[2]--$splitText[3]--$splitText[4]--$sum[0$splitText[5];1];$var[guild]]
  1590. $var[feedback_msg;$var[positive_rate]]
  1591. $endif
  1592. $title[Thank you!]
  1593. $description[$replaceText[$var[feedback_msg];{server};$serverName[$var[guild]];-1]]
  1594. $footer[$username[$botID]'s Ticket System]
  1595. $color[$var[neutral_color]]
  1596. $try
  1597. $addButton[no;$getBotInvite;Invite $username[$botID]!;link;no;]
  1598. $catch
  1599. $addButton[no;$getBotInvite;Invite me!;link;no;]
  1600. $endtry
  1601. $stop $c[s]
  1602. $endif
  1603. $suppressErrors
  1604. $c[Code by Berk#3506]
Advertisement
Add Comment
Please, Sign In to add comment