n8n-nodes-discord-dnd 0.1.31 → 0.1.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/credentials/DiscordApi.credentials.js.map +1 -1
  2. package/dist/nodes/DiscordTrigger.node.js +453 -0
  3. package/dist/nodes/DiscordTrigger.node.js.map +1 -0
  4. package/dist/nodes/{src/discord-trigger/client.d.ts → client.d.ts} +4 -7
  5. package/dist/nodes/client.js +40 -0
  6. package/dist/nodes/client.js.map +1 -0
  7. package/dist/nodes/{src/discord-trigger/node-description.js → node-description.js} +5 -5
  8. package/dist/nodes/node-description.js.map +1 -0
  9. package/dist/nodes/types.d.ts +4 -0
  10. package/dist/nodes/types.js.map +1 -0
  11. package/package.json +1 -1
  12. package/dist/nodes/DiscordTrigger/DiscordTrigger.node.d.ts +0 -2
  13. package/dist/nodes/DiscordTrigger/DiscordTrigger.node.js +0 -6
  14. package/dist/nodes/DiscordTrigger/DiscordTrigger.node.js.map +0 -1
  15. package/dist/nodes/src/discord-trigger/client.js +0 -70
  16. package/dist/nodes/src/discord-trigger/client.js.map +0 -1
  17. package/dist/nodes/src/discord-trigger/event-handlers.d.ts +0 -25
  18. package/dist/nodes/src/discord-trigger/event-handlers.js +0 -142
  19. package/dist/nodes/src/discord-trigger/event-handlers.js.map +0 -1
  20. package/dist/nodes/src/discord-trigger/filters.d.ts +0 -23
  21. package/dist/nodes/src/discord-trigger/filters.js +0 -62
  22. package/dist/nodes/src/discord-trigger/filters.js.map +0 -1
  23. package/dist/nodes/src/discord-trigger/index.js +0 -144
  24. package/dist/nodes/src/discord-trigger/index.js.map +0 -1
  25. package/dist/nodes/src/discord-trigger/node-description.js.map +0 -1
  26. package/dist/nodes/src/discord-trigger/trigger-logic.d.ts +0 -10
  27. package/dist/nodes/src/discord-trigger/trigger-logic.js +0 -85
  28. package/dist/nodes/src/discord-trigger/trigger-logic.js.map +0 -1
  29. package/dist/nodes/src/discord-trigger/types.d.ts +0 -85
  30. package/dist/nodes/src/discord-trigger/types.js.map +0 -1
  31. package/dist/nodes/src/discord-trigger/utils.d.ts +0 -6
  32. package/dist/nodes/src/discord-trigger/utils.js +0 -28
  33. package/dist/nodes/src/discord-trigger/utils.js.map +0 -1
  34. /package/dist/nodes/{src/discord-trigger/index.d.ts → DiscordTrigger.node.d.ts} +0 -0
  35. /package/dist/nodes/{src/discord-trigger/node-description.d.ts → node-description.d.ts} +0 -0
  36. /package/dist/nodes/{src/discord-trigger/types.js → types.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"DiscordApi.credentials.js","sourceRoot":"","sources":["../../credentials/DiscordApi.credentials.ts"],"names":[],"mappings":";;;AAKA,MAAa,UAAU;IAAvB;QACC,SAAI,GAAG,YAAY,CAAC;QACpB,gBAAW,GAAG,aAAa,CAAC;QAC5B,qBAAgB,GAAG,2CAA2C,CAAC;QAC/D,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,QAAQ,EAAE,IAAI;iBACd;gBACD,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,+BAA+B;aAC5C;YACD;gBACC,WAAW,EAAE,gBAAgB;gBAC7B,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,gDAAgD;aAC7D;SACD,CAAC;IACH,CAAC;CAAA;AAzBD,gCAyBC"}
1
+ {"version":3,"file":"DiscordApi.credentials.js","sourceRoot":"","sources":["../../src/credentials/DiscordApi.credentials.ts"],"names":[],"mappings":";;;AAKA,MAAa,UAAU;IAAvB;QACC,SAAI,GAAG,YAAY,CAAC;QACpB,gBAAW,GAAG,aAAa,CAAC;QAC5B,qBAAgB,GAAG,2CAA2C,CAAC;QAC/D,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,QAAQ,EAAE,IAAI;iBACd;gBACD,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,+BAA+B;aAC5C;YACD;gBACC,WAAW,EAAE,gBAAgB;gBAC7B,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,gDAAgD;aAC7D;SACD,CAAC;IACH,CAAC;CAAA;AAzBD,gCAyBC"}
@@ -0,0 +1,453 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DiscordTrigger = void 0;
4
+ const client_1 = require("./client");
5
+ const node_description_1 = require("./node-description");
6
+ const discord_js_1 = require("discord.js");
7
+ /**
8
+ * Discord Trigger node for n8n
9
+ * This is the main entry point for the node
10
+ */
11
+ class DiscordTrigger {
12
+ constructor() {
13
+ this.description = node_description_1.nodeDescription;
14
+ this.methods = {
15
+ loadOptions: {
16
+ async getServers() {
17
+ const credentials = (await this.getCredentials("discordApi"));
18
+ const client = await (0, client_1.initializeDiscordClient)(credentials.botToken, [discord_js_1.GatewayIntentBits.Guilds]);
19
+ // Wait for client to be ready
20
+ await new Promise((resolve) => {
21
+ if (client.isReady())
22
+ resolve();
23
+ else
24
+ client.once("ready", () => resolve());
25
+ });
26
+ const servers = client.guilds.cache.map((guild) => ({
27
+ name: guild.name,
28
+ value: guild.id,
29
+ description: `Server ID: ${guild.id}`,
30
+ }));
31
+ // Clean up client
32
+ client.destroy();
33
+ return servers;
34
+ },
35
+ async getEvents() {
36
+ const type = this.getCurrentNodeParameter("type");
37
+ const eventOptions = {
38
+ message: [
39
+ { name: "Message Create", value: "messageCreate" },
40
+ { name: "Message Delete", value: "messageDelete" },
41
+ { name: "Message Delete Bulk", value: "messageDeleteBulk" },
42
+ { name: "Message Update", value: "messageUpdate" },
43
+ { name: "Message Reaction Add", value: "messageReactionAdd" },
44
+ { name: "Message Reaction Remove", value: "messageReactionRemove" },
45
+ {
46
+ name: "Message Reaction Remove All",
47
+ value: "messageReactionRemoveAll",
48
+ },
49
+ {
50
+ name: "Message Reaction Remove Emoji",
51
+ value: "messageReactionRemoveEmoji",
52
+ },
53
+ { name: "Typing Start", value: "typingStart" },
54
+ ],
55
+ guild: [
56
+ { name: "Channel Create", value: "channelCreate" },
57
+ { name: "Channel Delete", value: "channelDelete" },
58
+ { name: "Channel Pins Update", value: "channelPinsUpdate" },
59
+ { name: "Channel Update", value: "channelUpdate" },
60
+ { name: "Guild Available", value: "guildAvailable" },
61
+ { name: "Guild Create", value: "guildCreate" },
62
+ { name: "Guild Delete", value: "guildDelete" },
63
+ { name: "Guild Unavailable", value: "guildUnavailable" },
64
+ { name: "Guild Update", value: "guildUpdate" },
65
+ { name: "Role Create", value: "roleCreate" },
66
+ { name: "Role Delete", value: "roleDelete" },
67
+ { name: "Role Update", value: "roleUpdate" },
68
+ { name: "Stage Instance Create", value: "stageInstanceCreate" },
69
+ { name: "Stage Instance Delete", value: "stageInstanceDelete" },
70
+ { name: "Stage Instance Update", value: "stageInstanceUpdate" },
71
+ { name: "Thread Create", value: "threadCreate" },
72
+ { name: "Thread Delete", value: "threadDelete" },
73
+ { name: "Thread List Sync", value: "threadListSync" },
74
+ { name: "Thread Members Update", value: "threadMembersUpdate" },
75
+ { name: "Thread Member Update", value: "threadMemberUpdate" },
76
+ { name: "Thread Update", value: "threadUpdate" },
77
+ ],
78
+ moderation: [
79
+ { name: "Guild Ban Add", value: "guildBanAdd" },
80
+ { name: "Guild Ban Remove", value: "guildBanRemove" },
81
+ {
82
+ name: "Guild Audit Log Entry Create",
83
+ value: "guildAuditLogEntryCreate",
84
+ },
85
+ ],
86
+ emojiSticker: [
87
+ { name: "Emoji Create", value: "emojiCreate" },
88
+ { name: "Emoji Delete", value: "emojiDelete" },
89
+ { name: "Emoji Update", value: "emojiUpdate" },
90
+ { name: "Sticker Create", value: "stickerCreate" },
91
+ { name: "Sticker Delete", value: "stickerDelete" },
92
+ { name: "Sticker Update", value: "stickerUpdate" },
93
+ ],
94
+ integrationWebhook: [
95
+ {
96
+ name: "Guild Integrations Update",
97
+ value: "guildIntegrationsUpdate",
98
+ },
99
+ { name: "Webhook Update", value: "webhookUpdate" },
100
+ ],
101
+ invite: [
102
+ { name: "Invite Create", value: "inviteCreate" },
103
+ { name: "Invite Delete", value: "inviteDelete" },
104
+ ],
105
+ voice: [
106
+ {
107
+ name: "Voice Channel Effect Send",
108
+ value: "voiceChannelEffectSend",
109
+ },
110
+ { name: "Voice State Update", value: "voiceStateUpdate" },
111
+ ],
112
+ presence: [{ name: "Presence Update", value: "presenceUpdate" }],
113
+ scheduledEvent: [
114
+ {
115
+ name: "Guild Scheduled Event Create",
116
+ value: "guildScheduledEventCreate",
117
+ },
118
+ {
119
+ name: "Guild Scheduled Event Delete",
120
+ value: "guildScheduledEventDelete",
121
+ },
122
+ {
123
+ name: "Guild Scheduled Event Update",
124
+ value: "guildScheduledEventUpdate",
125
+ },
126
+ {
127
+ name: "Guild Scheduled Event User Add",
128
+ value: "guildScheduledEventUserAdd",
129
+ },
130
+ {
131
+ name: "Guild Scheduled Event User Remove",
132
+ value: "guildScheduledEventUserRemove",
133
+ },
134
+ ],
135
+ interaction: [
136
+ { name: "Interaction Create", value: "interactionCreate" },
137
+ {
138
+ name: "Application Command Permissions Update",
139
+ value: "applicationCommandPermissionsUpdate",
140
+ },
141
+ ],
142
+ botStatus: [
143
+ { name: "Debug", value: "debug" },
144
+ { name: "Error", value: "error" },
145
+ { name: "Warn", value: "warn" },
146
+ { name: "Ready", value: "ready" },
147
+ { name: "Shard Disconnect", value: "shardDisconnect" },
148
+ { name: "Shard Error", value: "shardError" },
149
+ { name: "Shard Ready", value: "shardReady" },
150
+ { name: "Shard Reconnecting", value: "shardReconnecting" },
151
+ { name: "Shard Resume", value: "shardResume" },
152
+ ],
153
+ user: [
154
+ { name: "User Update", value: "userUpdate" },
155
+ { name: "Guild Member Add", value: "guildMemberAdd" },
156
+ { name: "Guild Member Available", value: "guildMemberAvailable" },
157
+ { name: "Guild Member Remove", value: "guildMemberRemove" },
158
+ { name: "Guild Member Update", value: "guildMemberUpdate" },
159
+ { name: "Guild Members Chunk", value: "guildMembersChunk" },
160
+ ],
161
+ autoModeration: [
162
+ {
163
+ name: "Auto Moderation Action Execution",
164
+ value: "autoModerationActionExecution",
165
+ },
166
+ {
167
+ name: "Auto Moderation Rule Create",
168
+ value: "autoModerationRuleCreate",
169
+ },
170
+ {
171
+ name: "Auto Moderation Rule Delete",
172
+ value: "autoModerationRuleDelete",
173
+ },
174
+ {
175
+ name: "Auto Moderation Rule Update",
176
+ value: "autoModerationRuleUpdate",
177
+ },
178
+ ],
179
+ poll: [
180
+ { name: "Message Poll Vote Add", value: "messagePollVoteAdd" },
181
+ {
182
+ name: "Message Poll Vote Remove",
183
+ value: "messagePollVoteRemove",
184
+ },
185
+ ],
186
+ };
187
+ return eventOptions[type] || [];
188
+ },
189
+ },
190
+ };
191
+ }
192
+ async trigger() {
193
+ const credentials = (await this.getCredentials("discordApi"));
194
+ // Extract parameters from node configuration
195
+ const parameters = {
196
+ type: this.getNodeParameter("type", "message"),
197
+ event: this.getNodeParameter("event", "messageCreate"),
198
+ };
199
+ // Define GatewayIntentBits based on type and event
200
+ let intents = [];
201
+ switch (parameters.type) {
202
+ case "message":
203
+ intents = [
204
+ discord_js_1.GatewayIntentBits.Guilds,
205
+ discord_js_1.GatewayIntentBits.GuildMessages,
206
+ discord_js_1.GatewayIntentBits.MessageContent,
207
+ discord_js_1.GatewayIntentBits.GuildMessageReactions,
208
+ ];
209
+ break;
210
+ case "guild":
211
+ intents = [discord_js_1.GatewayIntentBits.Guilds];
212
+ break;
213
+ case "moderation":
214
+ intents = [discord_js_1.GatewayIntentBits.Guilds, discord_js_1.GatewayIntentBits.GuildModeration];
215
+ break;
216
+ case "emojiSticker":
217
+ intents = [
218
+ discord_js_1.GatewayIntentBits.Guilds,
219
+ discord_js_1.GatewayIntentBits.GuildExpressions,
220
+ ];
221
+ break;
222
+ case "integrationWebhook":
223
+ intents = [
224
+ discord_js_1.GatewayIntentBits.Guilds,
225
+ discord_js_1.GatewayIntentBits.GuildIntegrations,
226
+ discord_js_1.GatewayIntentBits.GuildWebhooks,
227
+ ];
228
+ break;
229
+ case "invite":
230
+ intents = [discord_js_1.GatewayIntentBits.Guilds, discord_js_1.GatewayIntentBits.GuildInvites];
231
+ break;
232
+ case "voice":
233
+ intents = [
234
+ discord_js_1.GatewayIntentBits.Guilds,
235
+ discord_js_1.GatewayIntentBits.GuildVoiceStates,
236
+ ];
237
+ break;
238
+ case "presence":
239
+ intents = [discord_js_1.GatewayIntentBits.Guilds, discord_js_1.GatewayIntentBits.GuildPresences];
240
+ break;
241
+ case "scheduledEvent":
242
+ intents = [
243
+ discord_js_1.GatewayIntentBits.Guilds,
244
+ discord_js_1.GatewayIntentBits.GuildScheduledEvents,
245
+ ];
246
+ break;
247
+ case "interaction":
248
+ intents = [
249
+ discord_js_1.GatewayIntentBits.Guilds,
250
+ discord_js_1.GatewayIntentBits.GuildIntegrations,
251
+ ];
252
+ break;
253
+ case "botStatus":
254
+ intents = []; // No intents needed for bot status events
255
+ break;
256
+ case "user":
257
+ intents =
258
+ parameters.event === "userUpdate"
259
+ ? [] // userUpdate doesn't need intents
260
+ : [discord_js_1.GatewayIntentBits.Guilds, discord_js_1.GatewayIntentBits.GuildMembers];
261
+ break;
262
+ case "autoModeration":
263
+ intents = [discord_js_1.GatewayIntentBits.Guilds, discord_js_1.GatewayIntentBits.GuildModeration];
264
+ break;
265
+ case "poll":
266
+ intents = [
267
+ discord_js_1.GatewayIntentBits.Guilds,
268
+ discord_js_1.GatewayIntentBits.GuildMessages,
269
+ discord_js_1.GatewayIntentBits.GuildMessagePolls,
270
+ ];
271
+ break;
272
+ default:
273
+ throw new Error(`Unsupported type: ${parameters.type}`);
274
+ }
275
+ // Initialize Discord client with specific intents
276
+ const client = await (0, client_1.initializeDiscordClient)(credentials.botToken, intents);
277
+ // Set up response data with manual trigger function
278
+ const responseData = {
279
+ manualTriggerFunction: async () => {
280
+ return;
281
+ },
282
+ };
283
+ // Set up event handler based on the selected event
284
+ const setupEventHandler = (event) => {
285
+ client.on(event, (...args) => {
286
+ const data = {};
287
+ switch (event) {
288
+ case "messageCreate":
289
+ case "messageUpdate":
290
+ case "messageDelete":
291
+ case "messageReactionRemoveAll":
292
+ case "messageReactionRemoveEmoji":
293
+ data.message = args[0];
294
+ break;
295
+ case "messageDeleteBulk":
296
+ data.messages = args[0];
297
+ break;
298
+ case "messageReactionAdd":
299
+ case "messageReactionRemove":
300
+ data.reaction = args[0];
301
+ data.user = args[1];
302
+ break;
303
+ case "typingStart":
304
+ data.typing = args[0];
305
+ break;
306
+ case "channelCreate":
307
+ case "channelDelete":
308
+ case "channelPinsUpdate":
309
+ case "channelUpdate":
310
+ data.channel = args[0];
311
+ break;
312
+ case "guildAvailable":
313
+ case "guildCreate":
314
+ case "guildDelete":
315
+ case "guildUnavailable":
316
+ case "guildUpdate":
317
+ data.guild = args[0];
318
+ break;
319
+ case "roleCreate":
320
+ case "roleDelete":
321
+ case "roleUpdate":
322
+ data.role = args[0];
323
+ break;
324
+ case "stageInstanceCreate":
325
+ case "stageInstanceDelete":
326
+ case "stageInstanceUpdate":
327
+ data.stageInstance = args[0];
328
+ break;
329
+ case "threadCreate":
330
+ case "threadDelete":
331
+ case "threadUpdate":
332
+ data.thread = args[0];
333
+ break;
334
+ case "threadListSync":
335
+ data.threadList = args[0];
336
+ break;
337
+ case "threadMembersUpdate":
338
+ data.threadMembers = args[0];
339
+ break;
340
+ case "threadMemberUpdate":
341
+ data.threadMember = args[0];
342
+ break;
343
+ case "guildBanAdd":
344
+ case "guildBanRemove":
345
+ data.ban = args[0];
346
+ break;
347
+ case "guildAuditLogEntryCreate":
348
+ data.auditLogEntry = args[0];
349
+ break;
350
+ case "emojiCreate":
351
+ case "emojiDelete":
352
+ case "emojiUpdate":
353
+ data.emoji = args[0];
354
+ break;
355
+ case "stickerCreate":
356
+ case "stickerDelete":
357
+ case "stickerUpdate":
358
+ data.sticker = args[0];
359
+ break;
360
+ case "guildIntegrationsUpdate":
361
+ data.guild = args[0];
362
+ break;
363
+ case "webhookUpdate":
364
+ data.channel = args[0];
365
+ break;
366
+ case "inviteCreate":
367
+ case "inviteDelete":
368
+ data.invite = args[0];
369
+ break;
370
+ case "voiceChannelEffectSend":
371
+ data.voiceEffect = args[0];
372
+ break;
373
+ case "voiceStateUpdate":
374
+ data.voiceState = args[0];
375
+ break;
376
+ case "presenceUpdate":
377
+ data.oldPresence = args[0];
378
+ data.newPresence = args[1];
379
+ break;
380
+ case "guildScheduledEventCreate":
381
+ case "guildScheduledEventDelete":
382
+ case "guildScheduledEventUpdate":
383
+ data.scheduledEvent = args[0];
384
+ break;
385
+ case "guildScheduledEventUserAdd":
386
+ case "guildScheduledEventUserRemove":
387
+ data.scheduledEvent = args[0];
388
+ data.user = args[1];
389
+ break;
390
+ case "interactionCreate":
391
+ data.interaction = args[0];
392
+ break;
393
+ case "applicationCommandPermissionsUpdate":
394
+ data.commandPermissions = args[0];
395
+ break;
396
+ case "debug":
397
+ case "error":
398
+ case "warn":
399
+ case "ready":
400
+ case "shardDisconnect":
401
+ case "shardError":
402
+ case "shardReady":
403
+ case "shardReconnecting":
404
+ case "shardResume":
405
+ data.eventData = args[0];
406
+ break;
407
+ case "userUpdate":
408
+ data.oldUser = args[0];
409
+ data.newUser = args[1];
410
+ break;
411
+ case "guildMemberAdd":
412
+ case "guildMemberRemove":
413
+ case "guildMemberAvailable":
414
+ data.member = args[0];
415
+ break;
416
+ case "guildMemberUpdate":
417
+ data.oldMember = args[0];
418
+ data.newMember = args[1];
419
+ break;
420
+ case "guildMembersChunk":
421
+ data.membersChunk = args[0];
422
+ break;
423
+ case "autoModerationActionExecution":
424
+ case "autoModerationRuleCreate":
425
+ case "autoModerationRuleDelete":
426
+ case "autoModerationRuleUpdate":
427
+ data.autoModeration = args[0];
428
+ break;
429
+ case "messagePollVoteAdd":
430
+ case "messagePollVoteRemove":
431
+ data.pollVote = args[0];
432
+ break;
433
+ default:
434
+ data.eventArgs = args;
435
+ break;
436
+ }
437
+ // Emit the event data (no filters)
438
+ this.emit([this.helpers.returnJsonArray([data])]);
439
+ });
440
+ };
441
+ setupEventHandler(parameters.event);
442
+ const closeFunction = async () => {
443
+ console.log("Disconnecting from Discord...");
444
+ client.destroy();
445
+ };
446
+ return {
447
+ ...responseData,
448
+ closeFunction,
449
+ };
450
+ }
451
+ }
452
+ exports.DiscordTrigger = DiscordTrigger;
453
+ //# sourceMappingURL=DiscordTrigger.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiscordTrigger.node.js","sourceRoot":"","sources":["../../src/nodes/DiscordTrigger.node.ts"],"names":[],"mappings":";;;AASA,qCAAmD;AACnD,yDAAqD;AAErD,2CAA+C;AAE/C;;;GAGG;AACH,MAAa,cAAc;IAA3B;QACE,gBAAW,GAAG,kCAAe,CAAC;QAE9B,YAAO,GAAG;YACR,WAAW,EAAE;gBACX,KAAK,CAAC,UAAU;oBAGd,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAC5C,YAAY,CACb,CAAmC,CAAC;oBACrC,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAuB,EAC1C,WAAW,CAAC,QAAkB,EAC9B,CAAC,8BAAiB,CAAC,MAAM,CAAC,CAC3B,CAAC;oBAEF,8BAA8B;oBAC9B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;wBAClC,IAAI,MAAM,CAAC,OAAO,EAAE;4BAAE,OAAO,EAAE,CAAC;;4BAC3B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC7C,CAAC,CAAC,CAAC;oBAEH,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAClD,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,KAAK,EAAE,KAAK,CAAC,EAAE;wBACf,WAAW,EAAE,cAAc,KAAK,CAAC,EAAE,EAAE;qBACtC,CAAC,CAAC,CAAC;oBAEJ,kBAAkB;oBAClB,MAAM,CAAC,OAAO,EAAE,CAAC;oBAEjB,OAAO,OAAO,CAAC;gBACjB,CAAC;gBAED,KAAK,CAAC,SAAS;oBAGb,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAW,CAAC;oBAE5D,MAAM,YAAY,GAA8C;wBAC9D,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE;4BAClD,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE;4BAClD,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,mBAAmB,EAAE;4BAC3D,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE;4BAClD,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,oBAAoB,EAAE;4BAC7D,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,uBAAuB,EAAE;4BACnE;gCACE,IAAI,EAAE,6BAA6B;gCACnC,KAAK,EAAE,0BAA0B;6BAClC;4BACD;gCACE,IAAI,EAAE,+BAA+B;gCACrC,KAAK,EAAE,4BAA4B;6BACpC;4BACD,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE;yBAC/C;wBACD,KAAK,EAAE;4BACL,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE;4BAClD,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE;4BAClD,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,mBAAmB,EAAE;4BAC3D,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE;4BAClD,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE;4BACpD,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE;4BAC9C,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE;4BAC9C,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,kBAAkB,EAAE;4BACxD,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE;4BAC9C,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE;4BAC5C,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE;4BAC5C,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE;4BAC5C,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,qBAAqB,EAAE;4BAC/D,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,qBAAqB,EAAE;4BAC/D,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,qBAAqB,EAAE;4BAC/D,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE;4BAChD,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE;4BAChD,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE;4BACrD,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,qBAAqB,EAAE;4BAC/D,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,oBAAoB,EAAE;4BAC7D,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE;yBACjD;wBACD,UAAU,EAAE;4BACV,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE;4BAC/C,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE;4BACrD;gCACE,IAAI,EAAE,8BAA8B;gCACpC,KAAK,EAAE,0BAA0B;6BAClC;yBACF;wBACD,YAAY,EAAE;4BACZ,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE;4BAC9C,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE;4BAC9C,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE;4BAC9C,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE;4BAClD,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE;4BAClD,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE;yBACnD;wBACD,kBAAkB,EAAE;4BAClB;gCACE,IAAI,EAAE,2BAA2B;gCACjC,KAAK,EAAE,yBAAyB;6BACjC;4BACD,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE;yBACnD;wBACD,MAAM,EAAE;4BACN,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE;4BAChD,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE;yBACjD;wBACD,KAAK,EAAE;4BACL;gCACE,IAAI,EAAE,2BAA2B;gCACjC,KAAK,EAAE,wBAAwB;6BAChC;4BACD,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,kBAAkB,EAAE;yBAC1D;wBACD,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;wBAChE,cAAc,EAAE;4BACd;gCACE,IAAI,EAAE,8BAA8B;gCACpC,KAAK,EAAE,2BAA2B;6BACnC;4BACD;gCACE,IAAI,EAAE,8BAA8B;gCACpC,KAAK,EAAE,2BAA2B;6BACnC;4BACD;gCACE,IAAI,EAAE,8BAA8B;gCACpC,KAAK,EAAE,2BAA2B;6BACnC;4BACD;gCACE,IAAI,EAAE,gCAAgC;gCACtC,KAAK,EAAE,4BAA4B;6BACpC;4BACD;gCACE,IAAI,EAAE,mCAAmC;gCACzC,KAAK,EAAE,+BAA+B;6BACvC;yBACF;wBACD,WAAW,EAAE;4BACX,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,mBAAmB,EAAE;4BAC1D;gCACE,IAAI,EAAE,wCAAwC;gCAC9C,KAAK,EAAE,qCAAqC;6BAC7C;yBACF;wBACD,SAAS,EAAE;4BACT,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;4BACjC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;4BACjC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;4BAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;4BACjC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,iBAAiB,EAAE;4BACtD,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE;4BAC5C,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE;4BAC5C,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,mBAAmB,EAAE;4BAC1D,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE;yBAC/C;wBACD,IAAI,EAAE;4BACJ,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE;4BAC5C,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE;4BACrD,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,sBAAsB,EAAE;4BACjE,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,mBAAmB,EAAE;4BAC3D,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,mBAAmB,EAAE;4BAC3D,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,mBAAmB,EAAE;yBAC5D;wBACD,cAAc,EAAE;4BACd;gCACE,IAAI,EAAE,kCAAkC;gCACxC,KAAK,EAAE,+BAA+B;6BACvC;4BACD;gCACE,IAAI,EAAE,6BAA6B;gCACnC,KAAK,EAAE,0BAA0B;6BAClC;4BACD;gCACE,IAAI,EAAE,6BAA6B;gCACnC,KAAK,EAAE,0BAA0B;6BAClC;4BACD;gCACE,IAAI,EAAE,6BAA6B;gCACnC,KAAK,EAAE,0BAA0B;6BAClC;yBACF;wBACD,IAAI,EAAE;4BACJ,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,oBAAoB,EAAE;4BAC9D;gCACE,IAAI,EAAE,0BAA0B;gCAChC,KAAK,EAAE,uBAAuB;6BAC/B;yBACF;qBACF,CAAC;oBAEF,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClC,CAAC;aACF;SACF,CAAC;IAoUJ,CAAC;IAlUC,KAAK,CAAC,OAAO;QACX,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAC5C,YAAY,CACb,CAAmC,CAAC;QAErC,6CAA6C;QAC7C,MAAM,UAAU,GAAuB;YACrC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAW;YACxD,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAW;SACjE,CAAC;QAEF,mDAAmD;QACnD,IAAI,OAAO,GAAwB,EAAE,CAAC;QAEtC,QAAQ,UAAU,CAAC,IAAI,EAAE;YACvB,KAAK,SAAS;gBACZ,OAAO,GAAG;oBACR,8BAAiB,CAAC,MAAM;oBACxB,8BAAiB,CAAC,aAAa;oBAC/B,8BAAiB,CAAC,cAAc;oBAChC,8BAAiB,CAAC,qBAAqB;iBACxC,CAAC;gBACF,MAAM;YAER,KAAK,OAAO;gBACV,OAAO,GAAG,CAAC,8BAAiB,CAAC,MAAM,CAAC,CAAC;gBACrC,MAAM;YAER,KAAK,YAAY;gBACf,OAAO,GAAG,CAAC,8BAAiB,CAAC,MAAM,EAAE,8BAAiB,CAAC,eAAe,CAAC,CAAC;gBACxE,MAAM;YAER,KAAK,cAAc;gBACjB,OAAO,GAAG;oBACR,8BAAiB,CAAC,MAAM;oBACxB,8BAAiB,CAAC,gBAAgB;iBACnC,CAAC;gBACF,MAAM;YAER,KAAK,oBAAoB;gBACvB,OAAO,GAAG;oBACR,8BAAiB,CAAC,MAAM;oBACxB,8BAAiB,CAAC,iBAAiB;oBACnC,8BAAiB,CAAC,aAAa;iBAChC,CAAC;gBACF,MAAM;YAER,KAAK,QAAQ;gBACX,OAAO,GAAG,CAAC,8BAAiB,CAAC,MAAM,EAAE,8BAAiB,CAAC,YAAY,CAAC,CAAC;gBACrE,MAAM;YAER,KAAK,OAAO;gBACV,OAAO,GAAG;oBACR,8BAAiB,CAAC,MAAM;oBACxB,8BAAiB,CAAC,gBAAgB;iBACnC,CAAC;gBACF,MAAM;YAER,KAAK,UAAU;gBACb,OAAO,GAAG,CAAC,8BAAiB,CAAC,MAAM,EAAE,8BAAiB,CAAC,cAAc,CAAC,CAAC;gBACvE,MAAM;YAER,KAAK,gBAAgB;gBACnB,OAAO,GAAG;oBACR,8BAAiB,CAAC,MAAM;oBACxB,8BAAiB,CAAC,oBAAoB;iBACvC,CAAC;gBACF,MAAM;YAER,KAAK,aAAa;gBAChB,OAAO,GAAG;oBACR,8BAAiB,CAAC,MAAM;oBACxB,8BAAiB,CAAC,iBAAiB;iBACpC,CAAC;gBACF,MAAM;YAER,KAAK,WAAW;gBACd,OAAO,GAAG,EAAE,CAAC,CAAC,0CAA0C;gBACxD,MAAM;YAER,KAAK,MAAM;gBACT,OAAO;oBACL,UAAU,CAAC,KAAK,KAAK,YAAY;wBAC/B,CAAC,CAAC,EAAE,CAAC,kCAAkC;wBACvC,CAAC,CAAC,CAAC,8BAAiB,CAAC,MAAM,EAAE,8BAAiB,CAAC,YAAY,CAAC,CAAC;gBACjE,MAAM;YAER,KAAK,gBAAgB;gBACnB,OAAO,GAAG,CAAC,8BAAiB,CAAC,MAAM,EAAE,8BAAiB,CAAC,eAAe,CAAC,CAAC;gBACxE,MAAM;YAER,KAAK,MAAM;gBACT,OAAO,GAAG;oBACR,8BAAiB,CAAC,MAAM;oBACxB,8BAAiB,CAAC,aAAa;oBAC/B,8BAAiB,CAAC,iBAAiB;iBACpC,CAAC;gBACF,MAAM;YAER;gBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;SAC3D;QAED,kDAAkD;QAClD,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAuB,EAC1C,WAAW,CAAC,QAAkB,EAC9B,OAAO,CACR,CAAC;QAEF,oDAAoD;QACpD,MAAM,YAAY,GAAqB;YACrC,qBAAqB,EAAE,KAAK,IAAI,EAAE;gBAChC,OAAO;YACT,CAAC;SACF,CAAC;QAEF,mDAAmD;QACnD,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE;YAC1C,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE;gBAClC,MAAM,IAAI,GAAgB,EAAE,CAAC;gBAE7B,QAAQ,KAAK,EAAE;oBACb,KAAK,eAAe,CAAC;oBACrB,KAAK,eAAe,CAAC;oBACrB,KAAK,eAAe,CAAC;oBACrB,KAAK,0BAA0B,CAAC;oBAChC,KAAK,4BAA4B;wBAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACvB,MAAM;oBAER,KAAK,mBAAmB;wBACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACxB,MAAM;oBAER,KAAK,oBAAoB,CAAC;oBAC1B,KAAK,uBAAuB;wBAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACpB,MAAM;oBAER,KAAK,aAAa;wBAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACtB,MAAM;oBAER,KAAK,eAAe,CAAC;oBACrB,KAAK,eAAe,CAAC;oBACrB,KAAK,mBAAmB,CAAC;oBACzB,KAAK,eAAe;wBAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACvB,MAAM;oBAER,KAAK,gBAAgB,CAAC;oBACtB,KAAK,aAAa,CAAC;oBACnB,KAAK,aAAa,CAAC;oBACnB,KAAK,kBAAkB,CAAC;oBACxB,KAAK,aAAa;wBAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACrB,MAAM;oBAER,KAAK,YAAY,CAAC;oBAClB,KAAK,YAAY,CAAC;oBAClB,KAAK,YAAY;wBACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACpB,MAAM;oBAER,KAAK,qBAAqB,CAAC;oBAC3B,KAAK,qBAAqB,CAAC;oBAC3B,KAAK,qBAAqB;wBACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC7B,MAAM;oBAER,KAAK,cAAc,CAAC;oBACpB,KAAK,cAAc,CAAC;oBACpB,KAAK,cAAc;wBACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACtB,MAAM;oBAER,KAAK,gBAAgB;wBACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC1B,MAAM;oBAER,KAAK,qBAAqB;wBACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC7B,MAAM;oBAER,KAAK,oBAAoB;wBACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC5B,MAAM;oBAER,KAAK,aAAa,CAAC;oBACnB,KAAK,gBAAgB;wBACnB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACnB,MAAM;oBAER,KAAK,0BAA0B;wBAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC7B,MAAM;oBAER,KAAK,aAAa,CAAC;oBACnB,KAAK,aAAa,CAAC;oBACnB,KAAK,aAAa;wBAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACrB,MAAM;oBAER,KAAK,eAAe,CAAC;oBACrB,KAAK,eAAe,CAAC;oBACrB,KAAK,eAAe;wBAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACvB,MAAM;oBAER,KAAK,yBAAyB;wBAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACrB,MAAM;oBAER,KAAK,eAAe;wBAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACvB,MAAM;oBAER,KAAK,cAAc,CAAC;oBACpB,KAAK,cAAc;wBACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACtB,MAAM;oBAER,KAAK,wBAAwB;wBAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC3B,MAAM;oBAER,KAAK,kBAAkB;wBACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC1B,MAAM;oBAER,KAAK,gBAAgB;wBACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC3B,MAAM;oBAER,KAAK,2BAA2B,CAAC;oBACjC,KAAK,2BAA2B,CAAC;oBACjC,KAAK,2BAA2B;wBAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC9B,MAAM;oBAER,KAAK,4BAA4B,CAAC;oBAClC,KAAK,+BAA+B;wBAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACpB,MAAM;oBAER,KAAK,mBAAmB;wBACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC3B,MAAM;oBAER,KAAK,qCAAqC;wBACxC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBAClC,MAAM;oBAER,KAAK,OAAO,CAAC;oBACb,KAAK,OAAO,CAAC;oBACb,KAAK,MAAM,CAAC;oBACZ,KAAK,OAAO,CAAC;oBACb,KAAK,iBAAiB,CAAC;oBACvB,KAAK,YAAY,CAAC;oBAClB,KAAK,YAAY,CAAC;oBAClB,KAAK,mBAAmB,CAAC;oBACzB,KAAK,aAAa;wBAChB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACzB,MAAM;oBAER,KAAK,YAAY;wBACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACvB,MAAM;oBAER,KAAK,gBAAgB,CAAC;oBACtB,KAAK,mBAAmB,CAAC;oBACzB,KAAK,sBAAsB;wBACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACtB,MAAM;oBAER,KAAK,mBAAmB;wBACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACzB,MAAM;oBAER,KAAK,mBAAmB;wBACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC5B,MAAM;oBAER,KAAK,+BAA+B,CAAC;oBACrC,KAAK,0BAA0B,CAAC;oBAChC,KAAK,0BAA0B,CAAC;oBAChC,KAAK,0BAA0B;wBAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC9B,MAAM;oBAER,KAAK,oBAAoB,CAAC;oBAC1B,KAAK,uBAAuB;wBAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACxB,MAAM;oBAER;wBACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,MAAM;iBACT;gBAED,mCAAmC;gBACnC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAEpC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC7C,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC;QAEF,OAAO;YACL,GAAG,YAAY;YACf,aAAa;SACd,CAAC;IACJ,CAAC;CACF;AArgBD,wCAqgBC"}
@@ -1,9 +1,4 @@
1
- import { Client } from "discord.js";
2
- /**
3
- * Creates and initializes a Discord client with the required intents
4
- * @returns Configured Discord client
5
- */
6
- export declare const createDiscordClient: () => Client;
1
+ import { Client, GatewayIntentBits } from "discord.js";
7
2
  /**
8
3
  * Sets up the Discord client event listeners and status
9
4
  * @param client Discord client instance
@@ -12,6 +7,8 @@ export declare const setupClientEvents: (client: Client) => void;
12
7
  /**
13
8
  * Initializes the Discord client, sets up events, and logs in
14
9
  * @param token Bot token for authentication
10
+ * @param intents Array of GatewayIntentBits for the client
11
+ * @throws Error if no token is provided
15
12
  * @returns Discord client instance
16
13
  */
17
- export declare const initializeDiscordClient: (token: string) => Promise<Client>;
14
+ export declare const initializeDiscordClient: (token: string, intents: GatewayIntentBits[]) => Promise<Client>;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initializeDiscordClient = exports.setupClientEvents = void 0;
4
+ const discord_js_1 = require("discord.js");
5
+ /**
6
+ * Sets up the Discord client event listeners and status
7
+ * @param client Discord client instance
8
+ */
9
+ const setupClientEvents = (client) => {
10
+ // Set an activity status for the bot when ready
11
+ client.once("ready", () => {
12
+ var _a, _b;
13
+ console.log(`Discord bot logged in as ${(_a = client.user) === null || _a === void 0 ? void 0 : _a.tag}`);
14
+ (_b = client.user) === null || _b === void 0 ? void 0 : _b.setActivity("with n8n workflows", {
15
+ type: discord_js_1.ActivityType.Playing,
16
+ });
17
+ });
18
+ };
19
+ exports.setupClientEvents = setupClientEvents;
20
+ /**
21
+ * Initializes the Discord client, sets up events, and logs in
22
+ * @param token Bot token for authentication
23
+ * @param intents Array of GatewayIntentBits for the client
24
+ * @throws Error if no token is provided
25
+ * @returns Discord client instance
26
+ */
27
+ const initializeDiscordClient = async (token, intents) => {
28
+ if (!token) {
29
+ throw new Error("No bot token provided in credentials!");
30
+ }
31
+ const client = new discord_js_1.Client({
32
+ intents: intents,
33
+ });
34
+ (0, exports.setupClientEvents)(client);
35
+ // Login to Discord
36
+ await client.login(token);
37
+ return client;
38
+ };
39
+ exports.initializeDiscordClient = initializeDiscordClient;
40
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/nodes/client.ts"],"names":[],"mappings":";;;AAAA,2CAAqE;AAErE;;;GAGG;AACI,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAQ,EAAE;IACxD,gDAAgD;IAChD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;;QACxB,OAAO,CAAC,GAAG,CAAC,4BAA4B,MAAA,MAAM,CAAC,IAAI,0CAAE,GAAG,EAAE,CAAC,CAAC;QAC5D,MAAA,MAAM,CAAC,IAAI,0CAAE,WAAW,CAAC,oBAAoB,EAAE;YAC7C,IAAI,EAAE,yBAAY,CAAC,OAAO;SAC3B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AARW,QAAA,iBAAiB,qBAQ5B;AAEF;;;;;;GAMG;AACI,MAAM,uBAAuB,GAAG,KAAK,EAC1C,KAAa,EACb,OAA4B,EACX,EAAE;IACnB,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;KAC1D;IAED,MAAM,MAAM,GAAG,IAAI,mBAAM,CAAC;QACxB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,IAAA,yBAAiB,EAAC,MAAM,CAAC,CAAC;IAE1B,mBAAmB;IACnB,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE1B,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAlBW,QAAA,uBAAuB,2BAkBlC"}
@@ -21,15 +21,15 @@ exports.nodeDescription = {
21
21
  ],
22
22
  properties: [
23
23
  {
24
- displayName: "Resource",
25
- name: "resource",
24
+ displayName: "Type",
25
+ name: "type",
26
26
  type: "options",
27
27
  required: true,
28
- default: "guild",
28
+ default: "message",
29
29
  description: "The type of Discord event to trigger on",
30
30
  options: [
31
- { name: "Guild", value: "guild" },
32
31
  { name: "Message", value: "message" },
32
+ { name: "Guild", value: "guild" },
33
33
  { name: "Moderation", value: "moderation" },
34
34
  { name: "Emoji & Sticker", value: "emojiSticker" },
35
35
  { name: "Integration & Webhook", value: "integrationWebhook" },
@@ -53,7 +53,7 @@ exports.nodeDescription = {
53
53
  description: "The specific Discord event to listen for",
54
54
  typeOptions: {
55
55
  loadOptionsMethod: "getEvents",
56
- loadOptionsDependsOn: ["resource"],
56
+ loadOptionsDependsOn: ["type"],
57
57
  },
58
58
  },
59
59
  {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-description.js","sourceRoot":"","sources":["../../src/nodes/node-description.ts"],"names":[],"mappings":";;;AAEa,QAAA,eAAe,GAAyB;IACnD,WAAW,EAAE,iBAAiB;IAC9B,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,CAAC,SAAS,CAAC;IAClB,OAAO,EAAE,CAAC;IACV,WAAW,EAAE,+CAA+C;IAC5D,QAAQ,EAAE;QACR,IAAI,EAAE,iBAAiB;KACxB;IACD,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,CAAC,MAAM,CAAC;IACjB,WAAW,EAAE;QACX;YACE,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,IAAI;SACf;KACF;IACD,UAAU,EAAE;QACV;YACE,WAAW,EAAE,MAAM;YACnB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,yCAAyC;YACtD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBACrC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;gBACjC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;gBAC3C,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,cAAc,EAAE;gBAClD,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,oBAAoB,EAAE;gBAC9D,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACnC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;gBACjC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;gBACvC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBACpD,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;gBAC7C,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE;gBAC1C,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;gBAC/B,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBACpD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;aAChC;SACF;QACD;YACE,WAAW,EAAE,OAAO;YACpB,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,0CAA0C;YACvD,WAAW,EAAE;gBACX,iBAAiB,EAAE,WAAW;gBAC9B,oBAAoB,EAAE,CAAC,MAAM,CAAC;aAC/B;SACF;QACD;YACE,WAAW,EAAE,mBAAmB;YAChC,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,gDAAgD;SAC9D;QACD;YACE,WAAW,EAAE,sBAAsB;YACnC,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,UAAU;oBACjB,WAAW,EAAE,wCAAwC;iBACtD;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,OAAO;oBACd,WAAW,EAAE,8BAA8B;iBAC5C;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,MAAM;oBACb,WAAW,EAAE,qBAAqB;iBACnC;aACF;YACD,OAAO,EAAE,UAAU;YACnB,WAAW,EAAE,0BAA0B;YACvC,cAAc,EAAE;gBACd,IAAI,EAAE;oBACJ,eAAe,EAAE,CAAC,IAAI,CAAC;iBACxB;aACF;SACF;QACD;YACE,WAAW,EAAE,YAAY;YACzB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EACT,2EAA2E;YAC7E,cAAc,EAAE;gBACd,IAAI,EAAE;oBACJ,eAAe,EAAE,CAAC,IAAI,CAAC;oBACvB,kBAAkB,EAAE,CAAC,OAAO,CAAC;iBAC9B;aACF;YACD,WAAW,EAAE,iDAAiD;SAC/D;QACD;YACE,WAAW,EAAE,WAAW;YACxB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,mBAAmB;YAChC,cAAc,EAAE;gBACd,IAAI,EAAE;oBACJ,eAAe,EAAE,CAAC,IAAI,CAAC;oBACvB,kBAAkB,EAAE,CAAC,MAAM,CAAC;iBAC7B;aACF;YACD,WAAW,EAAE,oBAAoB;SAClC;QACD;YACE,WAAW,EAAE,aAAa;YAC1B,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE;gBACX,iBAAiB,EAAE,YAAY;aAChC;YACD,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,8BAA8B;YAC3C,cAAc,EAAE;gBACd,IAAI,EAAE;oBACJ,eAAe,EAAE,CAAC,IAAI,CAAC;oBACvB,kBAAkB,EAAE,CAAC,UAAU,CAAC;iBACjC;aACF;SACF;KACF;CACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ export interface ITriggerParameters {
2
+ type: string;
3
+ event: string;
4
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/nodes/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-discord-dnd",
3
- "version": "0.1.31",
3
+ "version": "0.1.33",
4
4
  "description": "n8n node to create triggers for Discord events",
5
5
  "keywords": [
6
6
  "n8n",
@@ -1,2 +0,0 @@
1
- import { DiscordTrigger } from '../src/discord-trigger';
2
- export { DiscordTrigger };
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DiscordTrigger = void 0;
4
- const discord_trigger_1 = require("../src/discord-trigger");
5
- Object.defineProperty(exports, "DiscordTrigger", { enumerable: true, get: function () { return discord_trigger_1.DiscordTrigger; } });
6
- //# sourceMappingURL=DiscordTrigger.node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DiscordTrigger.node.js","sourceRoot":"","sources":["../../../nodes/DiscordTrigger/DiscordTrigger.node.ts"],"names":[],"mappings":";;;AAAA,4DAAwD;AAE/C,+FAFA,gCAAc,OAEA"}