-
Notifications
You must be signed in to change notification settings - Fork 124
/
newTicket.js
90 lines (78 loc) · 3.27 KB
/
newTicket.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
const { Guild } = require("discord.js");
module.exports = async (d) => {
const data = d.util.aoiFunc(d);
if (data.err) return d.error(data.err);
const [name, message, parentId = d.guild?.id, returnID = "false", error] = data.inside.splits;
if (!name) return d.aoiError.fnError(d, "custom", { inside: data.inside }, "Invalid Channel Name Provided In");
const createAt = (await d.util.getChannel(d, parentId)) || (await d.util.getGuild(d, parentId));
if (!createAt) return d.aoiError.fnError(d, "custom", { inside: data.inside }, "Invalid parentId Provided In");
let channel;
if (createAt instanceof Guild) {
channel = await createAt.channels
.create({ name: name.addBrackets() })
.catch(async (err) => {
if (error && error?.trim() !== "") {
const ticketError = await d.util.errorParser(error.addBrackets(), d);
await d.aoiError.makeMessageError(
d.client,
d.channel,
ticketError.data ?? ticketError,
ticketError.options,
);
} else {
return d.aoiError.fnError(d, "custom", { inside: data.inside }, "Failed To Create Channel Wih Reason: " + err);
}
});
data.result = returnID === "true" ? channel?.id : undefined;
} else {
channel = await createAt
.children.create({ name: name.addBrackets() })
.catch(async (err) => {
if (error && error?.trim() !== "") {
const ticketError = await d.util.errorParser(error, d);
await d.aoiError.makeMessageError(
d.client,
d.channel,
ticketError.data ?? ticketError,
ticketError.options,
);
} else {
return d.aoiError.fnError(d, "custom", { inside: data.inside }, "Failed To Create Channel Wih Reason: " + err);
}
});
data.result = returnID === "true" ? channel?.id : undefined;
}
if (channel) {
await d.client.db.set(
"__aoijs_vars__",
"ticketChannel",
channel.id,
channel.id,
);
channel.permissionOverwrites
.edit(d.author.id, {
SendMessages: true,
ViewChannel: true,
ReadMessageHistory: true,
})
.catch((err) => {
return d.aoiError.fnError(d, "custom", {}, "Failed To Update Ticket Permissions With Reason: " + err);
});
if (message && message.trim() !== "") {
const ticketMsg = await d.util.errorParser(message.addBrackets(), d);
try {
await d.aoiError.makeMessageError(
d.client,
channel,
ticketMsg.data ?? ticketMsg,
ticketMsg.options,
);
} catch (err) {
return d.aoiError.fnError(d, "custom", {}, "Failed To Send Message In Ticket With Reason: " + err);
}
}
}
return {
code: d.util.setCode(data),
};
};