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,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initializeDiscordClient = exports.setupClientEvents = exports.createDiscordClient = void 0;
4
- const discord_js_1 = require("discord.js");
5
- /**
6
- * Creates and initializes a Discord client with the required intents
7
- * @returns Configured Discord client
8
- */
9
- const createDiscordClient = () => {
10
- // Initialize Discord client with necessary intents
11
- const client = new discord_js_1.Client({
12
- intents: [
13
- discord_js_1.GatewayIntentBits.Guilds,
14
- discord_js_1.GatewayIntentBits.GuildMembers,
15
- discord_js_1.GatewayIntentBits.GuildModeration,
16
- discord_js_1.GatewayIntentBits.GuildExpressions,
17
- discord_js_1.GatewayIntentBits.GuildIntegrations,
18
- discord_js_1.GatewayIntentBits.GuildWebhooks,
19
- discord_js_1.GatewayIntentBits.GuildInvites,
20
- discord_js_1.GatewayIntentBits.GuildVoiceStates,
21
- discord_js_1.GatewayIntentBits.GuildPresences,
22
- discord_js_1.GatewayIntentBits.GuildMessages,
23
- discord_js_1.GatewayIntentBits.GuildMessageReactions,
24
- discord_js_1.GatewayIntentBits.GuildMessageTyping,
25
- discord_js_1.GatewayIntentBits.DirectMessages,
26
- discord_js_1.GatewayIntentBits.DirectMessageReactions,
27
- discord_js_1.GatewayIntentBits.DirectMessageTyping,
28
- discord_js_1.GatewayIntentBits.MessageContent,
29
- discord_js_1.GatewayIntentBits.GuildScheduledEvents,
30
- discord_js_1.GatewayIntentBits.AutoModerationConfiguration,
31
- discord_js_1.GatewayIntentBits.AutoModerationExecution,
32
- discord_js_1.GatewayIntentBits.GuildMessagePolls,
33
- discord_js_1.GatewayIntentBits.DirectMessagePolls,
34
- ],
35
- });
36
- return client;
37
- };
38
- exports.createDiscordClient = createDiscordClient;
39
- /**
40
- * Sets up the Discord client event listeners and status
41
- * @param client Discord client instance
42
- */
43
- const setupClientEvents = (client) => {
44
- // Set an activity status for the bot when ready
45
- client.once("ready", () => {
46
- var _a, _b;
47
- console.log(`Discord bot logged in as ${(_a = client.user) === null || _a === void 0 ? void 0 : _a.tag}`);
48
- (_b = client.user) === null || _b === void 0 ? void 0 : _b.setActivity("with n8n workflows", {
49
- type: discord_js_1.ActivityType.Playing,
50
- });
51
- });
52
- };
53
- exports.setupClientEvents = setupClientEvents;
54
- /**
55
- * Initializes the Discord client, sets up events, and logs in
56
- * @param token Bot token for authentication
57
- * @returns Discord client instance
58
- */
59
- const initializeDiscordClient = async (token) => {
60
- if (!token) {
61
- throw new Error("No bot token provided in credentials!");
62
- }
63
- const client = (0, exports.createDiscordClient)();
64
- (0, exports.setupClientEvents)(client);
65
- // Login to Discord
66
- await client.login(token);
67
- return client;
68
- };
69
- exports.initializeDiscordClient = initializeDiscordClient;
70
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../nodes/src/discord-trigger/client.ts"],"names":[],"mappings":";;;AAAA,2CAAqE;AAErE;;;GAGG;AACI,MAAM,mBAAmB,GAAG,GAAW,EAAE;IAC9C,mDAAmD;IACnD,MAAM,MAAM,GAAG,IAAI,mBAAM,CAAC;QACxB,OAAO,EAAE;YACP,8BAAiB,CAAC,MAAM;YACxB,8BAAiB,CAAC,YAAY;YAC9B,8BAAiB,CAAC,eAAe;YACjC,8BAAiB,CAAC,gBAAgB;YAClC,8BAAiB,CAAC,iBAAiB;YACnC,8BAAiB,CAAC,aAAa;YAC/B,8BAAiB,CAAC,YAAY;YAC9B,8BAAiB,CAAC,gBAAgB;YAClC,8BAAiB,CAAC,cAAc;YAChC,8BAAiB,CAAC,aAAa;YAC/B,8BAAiB,CAAC,qBAAqB;YACvC,8BAAiB,CAAC,kBAAkB;YACpC,8BAAiB,CAAC,cAAc;YAChC,8BAAiB,CAAC,sBAAsB;YACxC,8BAAiB,CAAC,mBAAmB;YACrC,8BAAiB,CAAC,cAAc;YAChC,8BAAiB,CAAC,oBAAoB;YACtC,8BAAiB,CAAC,2BAA2B;YAC7C,8BAAiB,CAAC,uBAAuB;YACzC,8BAAiB,CAAC,iBAAiB;YACnC,8BAAiB,CAAC,kBAAkB;SACrC;KACF,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA7BW,QAAA,mBAAmB,uBA6B9B;AAEF;;;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;;;;GAIG;AACI,MAAM,uBAAuB,GAAG,KAAK,EAC1C,KAAa,EACI,EAAE;IACnB,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;KAC1D;IAED,MAAM,MAAM,GAAG,IAAA,2BAAmB,GAAE,CAAC;IACrC,IAAA,yBAAiB,EAAC,MAAM,CAAC,CAAC;IAE1B,mBAAmB;IACnB,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE1B,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAdW,QAAA,uBAAuB,2BAclC"}
@@ -1,25 +0,0 @@
1
- import { Client, Message, PartialMessage } from 'discord.js';
2
- import { ITriggerFunctions } from 'n8n-workflow';
3
- import { IMessageData, ITriggerOptions } from './types';
4
- /**
5
- * Creates a message data object for emitting to n8n workflow
6
- * @param message Discord message that triggered the workflow
7
- * @param triggerType Type of trigger (messageContent or botInteraction)
8
- * @param matchPattern The pattern that was matched
9
- * @returns Formatted message data for n8n workflow
10
- */
11
- export declare const createMessageData: (message: Message | PartialMessage, triggerType: string, matchPattern: string) => IMessageData;
12
- /**
13
- * Sets up event handlers for the Discord client
14
- * @param client Discord client
15
- * @param triggerFunctions n8n trigger functions
16
- * @param options Trigger configuration options
17
- */
18
- export declare const setupMessageEventHandler: (client: Client, triggerFunctions: ITriggerFunctions, options: ITriggerOptions) => void;
19
- /**
20
- * Sets up a handler for the selected Discord event
21
- * @param client Discord client
22
- * @param triggerFunctions n8n trigger functions
23
- * @param eventName Discord event name (e.g., 'messageCreate')
24
- */
25
- export declare const setupSelectedEventHandler: (client: Client, triggerFunctions: ITriggerFunctions, eventName: string) => void;
@@ -1,142 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setupSelectedEventHandler = exports.setupMessageEventHandler = exports.createMessageData = void 0;
4
- const discord_js_1 = require("discord.js");
5
- const trigger_logic_1 = require("./trigger-logic");
6
- const utils_1 = require("./utils");
7
- /**
8
- * Creates a message data object for emitting to n8n workflow
9
- * @param message Discord message that triggered the workflow
10
- * @param triggerType Type of trigger (messageContent or botInteraction)
11
- * @param matchPattern The pattern that was matched
12
- * @returns Formatted message data for n8n workflow
13
- */
14
- const createMessageData = (message, triggerType, matchPattern) => {
15
- var _a, _b, _c, _d, _e;
16
- return {
17
- messageId: message.id,
18
- content: message.content,
19
- authorId: (_a = message.author) === null || _a === void 0 ? void 0 : _a.id,
20
- authorUsername: (_b = message.author) === null || _b === void 0 ? void 0 : _b.username,
21
- channelId: message.channelId,
22
- channelName: (0, utils_1.getChannelName)(message.channel),
23
- channelType: (_c = message.channel) === null || _c === void 0 ? void 0 : _c.type,
24
- guildId: message.guildId,
25
- guildName: (_d = message.guild) === null || _d === void 0 ? void 0 : _d.name,
26
- isBot: ((_e = message.author) === null || _e === void 0 ? void 0 : _e.bot) || false,
27
- createdTimestamp: message.createdTimestamp,
28
- attachments: [...message.attachments.values()],
29
- embeds: message.embeds,
30
- mentions: {
31
- users: [...message.mentions.users.values()].map(user => ({
32
- id: user.id,
33
- username: user.username,
34
- })),
35
- roles: [...message.mentions.roles.values()].map(role => ({
36
- id: role.id,
37
- name: role.name,
38
- })),
39
- channels: [...message.mentions.channels.values()].map(channel => ({
40
- id: channel.id,
41
- name: (0, utils_1.getChannelName)(channel),
42
- })),
43
- },
44
- // For replies, include the reference
45
- reference: message.reference ? {
46
- messageId: message.reference.messageId,
47
- channelId: message.reference.channelId,
48
- guildId: message.reference.guildId,
49
- } : null,
50
- triggerType: triggerType,
51
- matchPattern: matchPattern,
52
- rawData: message,
53
- };
54
- };
55
- exports.createMessageData = createMessageData;
56
- /**
57
- * Sets up event handlers for the Discord client
58
- * @param client Discord client
59
- * @param triggerFunctions n8n trigger functions
60
- * @param options Trigger configuration options
61
- */
62
- const setupMessageEventHandler = (client, triggerFunctions, options) => {
63
- client.on(discord_js_1.Events.MessageCreate, async (message) => {
64
- try {
65
- if ((0, trigger_logic_1.shouldTrigger)(message, client, options)) {
66
- // Determine the match pattern to include in the data
67
- let matchPattern = '';
68
- if (options.triggerType === 'messageContent') {
69
- matchPattern = options.matchPattern || '';
70
- }
71
- else if (options.triggerType === 'botInteraction') {
72
- matchPattern = options.interactionType || '';
73
- }
74
- // Create message data and emit to n8n workflow
75
- const messageData = (0, exports.createMessageData)(message, options.triggerType, matchPattern);
76
- // Convert messageData to a plain object that satisfies IDataObject
77
- const dataObject = {
78
- ...messageData,
79
- // Convert the rawData to prevent circular references
80
- rawData: undefined,
81
- };
82
- await triggerFunctions.emit([triggerFunctions.helpers.returnJsonArray([dataObject])]);
83
- }
84
- }
85
- catch (error) {
86
- console.error('Error handling Discord message:', error);
87
- }
88
- });
89
- };
90
- exports.setupMessageEventHandler = setupMessageEventHandler;
91
- /**
92
- * Sets up a handler for the selected Discord event
93
- * @param client Discord client
94
- * @param triggerFunctions n8n trigger functions
95
- * @param eventName Discord event name (e.g., 'messageCreate')
96
- */
97
- const setupSelectedEventHandler = (client, triggerFunctions, eventName) => {
98
- client.on(eventName, async (...args) => {
99
- var _a, _b, _c, _d, _e, _f;
100
- try {
101
- // For message events, try to format as message data
102
- if (eventName.startsWith('message') && args[0]) {
103
- const message = args[0];
104
- const messageData = {
105
- messageId: message.id,
106
- content: message.content,
107
- authorId: (_a = message.author) === null || _a === void 0 ? void 0 : _a.id,
108
- authorUsername: (_b = message.author) === null || _b === void 0 ? void 0 : _b.username,
109
- channelId: message.channelId,
110
- channelName: (_c = message.channel) === null || _c === void 0 ? void 0 : _c.name,
111
- channelType: (_d = message.channel) === null || _d === void 0 ? void 0 : _d.type,
112
- guildId: message.guildId,
113
- guildName: (_e = message.guild) === null || _e === void 0 ? void 0 : _e.name,
114
- isBot: ((_f = message.author) === null || _f === void 0 ? void 0 : _f.bot) || false,
115
- createdTimestamp: message.createdTimestamp,
116
- attachments: message.attachments ? [...message.attachments.values()] : [],
117
- embeds: message.embeds || [],
118
- mentions: message.mentions || {},
119
- reference: message.reference || null,
120
- event: eventName,
121
- rawData: undefined,
122
- };
123
- await triggerFunctions.emit([
124
- triggerFunctions.helpers.returnJsonArray([messageData])
125
- ]);
126
- }
127
- else {
128
- // For other events, just emit the raw event args
129
- await triggerFunctions.emit([
130
- triggerFunctions.helpers.returnJsonArray([
131
- { event: eventName, args }
132
- ])
133
- ]);
134
- }
135
- }
136
- catch (error) {
137
- console.error('Error handling Discord event:', eventName, error);
138
- }
139
- });
140
- };
141
- exports.setupSelectedEventHandler = setupSelectedEventHandler;
142
- //# sourceMappingURL=event-handlers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-handlers.js","sourceRoot":"","sources":["../../../../nodes/src/discord-trigger/event-handlers.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import { Message, PartialMessage } from 'discord.js';
2
- import { IFilterOptions } from './types';
3
- /**
4
- * Check if the message should be filtered based on server
5
- * @param message Discord message
6
- * @param options Filter options
7
- * @returns Boolean indicating if message passes server filter
8
- */
9
- export declare const isServerAllowed: (message: Message | PartialMessage, options: IFilterOptions) => boolean;
10
- /**
11
- * Check if the message should be filtered based on channel
12
- * @param message Discord message
13
- * @param options Filter options
14
- * @returns Boolean indicating if message passes channel filter
15
- */
16
- export declare const isChannelAllowed: (message: Message | PartialMessage, options: IFilterOptions) => boolean;
17
- /**
18
- * Check if the message should be filtered based on user roles
19
- * @param message Discord message
20
- * @param options Filter options
21
- * @returns Boolean indicating if message passes role filter
22
- */
23
- export declare const isRoleAllowed: (message: Message | PartialMessage, options: IFilterOptions) => boolean;
@@ -1,62 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isRoleAllowed = exports.isChannelAllowed = exports.isServerAllowed = void 0;
4
- const utils_1 = require("./utils");
5
- /**
6
- * Check if the message should be filtered based on server
7
- * @param message Discord message
8
- * @param options Filter options
9
- * @returns Boolean indicating if message passes server filter
10
- */
11
- const isServerAllowed = (message, options) => {
12
- if (!options.filterByServers || options.serverIds.length === 0)
13
- return true;
14
- // For server filtering, we only need to match the guild ID
15
- // as all methods (fromList, byUrl, byId) are converted to server IDs
16
- if (message.guild && options.serverIds.includes(message.guild.id)) {
17
- return true;
18
- }
19
- return false;
20
- };
21
- exports.isServerAllowed = isServerAllowed;
22
- /**
23
- * Check if the message should be filtered based on channel
24
- * @param message Discord message
25
- * @param options Filter options
26
- * @returns Boolean indicating if message passes channel filter
27
- */
28
- const isChannelAllowed = (message, options) => {
29
- if (!options.filterByChannels || options.channelIds.length === 0)
30
- return true;
31
- const channelName = (0, utils_1.getChannelName)(message.channel);
32
- // Allow if channelId is in the channelIds list or channel name matches
33
- if (options.channelIds.some(id => id === message.channelId ||
34
- (channelName && channelName.toLowerCase() === id.toLowerCase()))) {
35
- return true;
36
- }
37
- return false;
38
- };
39
- exports.isChannelAllowed = isChannelAllowed;
40
- /**
41
- * Check if the message should be filtered based on user roles
42
- * @param message Discord message
43
- * @param options Filter options
44
- * @returns Boolean indicating if message passes role filter
45
- */
46
- const isRoleAllowed = (message, options) => {
47
- var _a;
48
- if (!options.filterByRoles || options.roleIds.length === 0)
49
- return true;
50
- // If not in a guild, can't filter by role
51
- if (!message.guild || !message.member)
52
- return false;
53
- // Allow if user has any of the specified roles
54
- const memberRoles = (_a = message.member.roles) === null || _a === void 0 ? void 0 : _a.cache;
55
- if (memberRoles) {
56
- return options.roleIds.some(id => memberRoles.some(role => role.id === id ||
57
- role.name.toLowerCase() === id.toLowerCase()));
58
- }
59
- return false;
60
- };
61
- exports.isRoleAllowed = isRoleAllowed;
62
- //# sourceMappingURL=filters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../nodes/src/discord-trigger/filters.ts"],"names":[],"mappings":";;;AAEA,mCAAyC;AAEzC;;;;;GAKG;AACI,MAAM,eAAe,GAAG,CAAC,OAAiC,EAAE,OAAuB,EAAW,EAAE;IACrG,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5E,2DAA2D;IAC3D,qEAAqE;IACrE,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;QACjE,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAVW,QAAA,eAAe,mBAU1B;AAEF;;;;;GAKG;AACI,MAAM,gBAAgB,GAAG,CAAC,OAAiC,EAAE,OAAuB,EAAW,EAAE;IACtG,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9E,MAAM,WAAW,GAAG,IAAA,sBAAc,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpD,uEAAuE;IACvE,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAC/B,EAAE,KAAK,OAAO,CAAC,SAAS;QACxB,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE;QAClE,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAbW,QAAA,gBAAgB,oBAa3B;AAEF;;;;;GAKG;AACI,MAAM,aAAa,GAAG,CAAC,OAAiC,EAAE,OAAuB,EAAW,EAAE;;IACnG,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAExE,0CAA0C;IAC1C,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAEpD,+CAA+C;IAC/C,MAAM,WAAW,GAAG,MAAA,OAAO,CAAC,MAAM,CAAC,KAAK,0CAAE,KAAK,CAAC;IAChD,IAAI,WAAW,EAAE;QACf,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAC/B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtB,IAAI,CAAC,EAAE,KAAK,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,CAC7C,CACF,CAAC;KACH;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAlBW,QAAA,aAAa,iBAkBxB"}
@@ -1,144 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DiscordTrigger = void 0;
4
- const client_1 = require("./client");
5
- const event_handlers_1 = require("./event-handlers");
6
- const node_description_1 = require("./node-description");
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);
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 resource = this.getCurrentNodeParameter('resource');
37
- const eventOptions = {
38
- guild: [
39
- { name: 'Channel Create', value: 'channelCreate' },
40
- { name: 'Channel Delete', value: 'channelDelete' },
41
- { name: 'Channel Update', value: 'channelUpdate' },
42
- ],
43
- message: [
44
- { name: 'Message Create', value: 'messageCreate' },
45
- { name: 'Message Delete', value: 'messageDelete' },
46
- { name: 'Message Update', value: 'messageUpdate' },
47
- ],
48
- moderation: [
49
- { name: 'Member Ban', value: 'guildBanAdd' },
50
- { name: 'Member Unban', value: 'guildBanRemove' },
51
- ],
52
- // Add more resource-specific events as needed
53
- };
54
- return eventOptions[resource] || [];
55
- },
56
- },
57
- };
58
- }
59
- async trigger() {
60
- const credentials = (await this.getCredentials("discordApi"));
61
- // Extract parameters from node configuration
62
- const parameters = {
63
- // Get core parameters
64
- triggerType: this.getNodeParameter("triggerType", "messageContent"),
65
- includeBotMessages: this.getNodeParameter("includeBotMessages", false),
66
- // Get filter parameters
67
- filterByServers: this.getNodeParameter("filterByServers", false),
68
- serverIds: [],
69
- filterByChannels: this.getNodeParameter("filterByChannels", false),
70
- channelIds: [],
71
- filterByRoles: this.getNodeParameter("filterByRoles", false),
72
- roleIds: [],
73
- };
74
- // Process server filter parameters
75
- if (parameters.filterByServers) {
76
- parameters.serverFilterMethod = this.getNodeParameter("serverFilterMethod", "fromList");
77
- switch (parameters.serverFilterMethod) {
78
- case "fromList":
79
- parameters.serverIds = this.getNodeParameter("serverIds", []);
80
- break;
81
- case "byUrl":
82
- const url = this.getNodeParameter("serverUrl", "");
83
- const serverIdFromUrl = url.split("/").pop();
84
- if (serverIdFromUrl) {
85
- parameters.serverIds = [serverIdFromUrl];
86
- }
87
- break;
88
- case "byId":
89
- const serverId = this.getNodeParameter("serverId", "");
90
- if (serverId) {
91
- parameters.serverIds = [serverId];
92
- }
93
- break;
94
- }
95
- }
96
- if (parameters.filterByChannels) {
97
- parameters.channelIds = this.getNodeParameter("channelIds", "")
98
- .split(",")
99
- .map((id) => id.trim());
100
- }
101
- if (parameters.filterByRoles) {
102
- parameters.roleIds = this.getNodeParameter("roleIds", "")
103
- .split(",")
104
- .map((id) => id.trim());
105
- }
106
- // Get trigger-specific parameters
107
- if (parameters.triggerType === "messageContent") {
108
- parameters.matchPattern = this.getNodeParameter("matchPattern", "");
109
- if (["contains", "endsWith", "equals", "startsWith"].includes(parameters.matchPattern)) {
110
- parameters.matchValue = this.getNodeParameter("matchValue", "");
111
- parameters.caseSensitive = this.getNodeParameter("caseSensitive", false);
112
- }
113
- else if (parameters.matchPattern === "regex") {
114
- parameters.regexPattern = this.getNodeParameter("regexPattern", "");
115
- }
116
- }
117
- else if (parameters.triggerType === "botInteraction") {
118
- parameters.interactionType = this.getNodeParameter("interactionType", "botMentioned");
119
- }
120
- // Initialize Discord client and set up event handlers
121
- const client = await (0, client_1.initializeDiscordClient)(credentials.botToken);
122
- // Set up response data with manual trigger function
123
- const responseData = {
124
- manualTriggerFunction: async () => {
125
- // This function will be executed when the workflow is manually triggered
126
- // Don't need to do anything here as we only want the workflow to be triggered by Discord events
127
- return;
128
- },
129
- };
130
- // Set up message event handler
131
- (0, event_handlers_1.setupMessageEventHandler)(client, this, parameters);
132
- // Function to clean up when node is deactivated
133
- const closeFunction = async () => {
134
- console.log("Disconnecting from Discord...");
135
- client.destroy();
136
- };
137
- return {
138
- ...responseData,
139
- closeFunction,
140
- };
141
- }
142
- }
143
- exports.DiscordTrigger = DiscordTrigger;
144
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../nodes/src/discord-trigger/index.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"node-description.js","sourceRoot":"","sources":["../../../../nodes/src/discord-trigger/node-description.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { Message, PartialMessage } from 'discord.js';
2
- import { ITriggerOptions } from './types';
3
- /**
4
- * Determines if a message should trigger the workflow based on provided options
5
- * @param message Discord message
6
- * @param client Discord client
7
- * @param options Configuration options for triggering
8
- * @returns Boolean indicating if the workflow should be triggered
9
- */
10
- export declare const shouldTrigger: (message: Message | PartialMessage, client: any, options: ITriggerOptions) => boolean;
@@ -1,85 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.shouldTrigger = void 0;
4
- const filters_1 = require("./filters");
5
- /**
6
- * Determines if a message should trigger the workflow based on provided options
7
- * @param message Discord message
8
- * @param client Discord client
9
- * @param options Configuration options for triggering
10
- * @returns Boolean indicating if the workflow should be triggered
11
- */
12
- const shouldTrigger = (message, client, options) => {
13
- var _a, _b, _c, _d, _e, _f, _g;
14
- // Ignore messages from bots if not explicitly included
15
- if (((_a = message.author) === null || _a === void 0 ? void 0 : _a.bot) && !options.includeBotMessages) {
16
- return false;
17
- }
18
- // Check if message passes server, channel, and role filters
19
- if (!(0, filters_1.isServerAllowed)(message, options) ||
20
- !(0, filters_1.isChannelAllowed)(message, options) ||
21
- !(0, filters_1.isRoleAllowed)(message, options)) {
22
- return false;
23
- }
24
- // Check for the appropriate trigger condition
25
- if (options.triggerType === 'botInteraction') {
26
- if (options.interactionType === 'botMentioned') {
27
- // Check if the bot was mentioned in the message
28
- return !!((_c = (_b = message.mentions) === null || _b === void 0 ? void 0 : _b.users) === null || _c === void 0 ? void 0 : _c.has(client.user.id));
29
- }
30
- else if (options.interactionType === 'messageReplied') {
31
- // Check if the message is a reply to a message from the bot
32
- return !!(message.reference &&
33
- message.reference.messageId &&
34
- ((_e = (_d = message.mentions) === null || _d === void 0 ? void 0 : _d.repliedUser) === null || _e === void 0 ? void 0 : _e.id) === client.user.id);
35
- }
36
- }
37
- else if (options.triggerType === 'messageContent') {
38
- // Skip message content checks if content is not available
39
- if (!message.content) {
40
- // Special case: if we're looking for image attachments, we can continue
41
- if (options.matchPattern === 'containsImage') {
42
- return message.attachments && message.attachments.some(attachment => { var _a; return (_a = attachment.contentType) === null || _a === void 0 ? void 0 : _a.startsWith('image/'); });
43
- }
44
- return false;
45
- }
46
- // Get message content and apply case sensitivity
47
- let content = message.content;
48
- let valueToMatch = options.matchValue || '';
49
- if (!options.caseSensitive && options.matchValue) {
50
- content = content.toLowerCase();
51
- valueToMatch = valueToMatch.toLowerCase();
52
- }
53
- // Perform pattern matching
54
- switch (options.matchPattern) {
55
- case 'botMention':
56
- return !!((_g = (_f = message.mentions) === null || _f === void 0 ? void 0 : _f.users) === null || _g === void 0 ? void 0 : _g.has(client.user.id));
57
- case 'contains':
58
- return content.includes(valueToMatch);
59
- case 'containsImage':
60
- return message.attachments && message.attachments.some(attachment => { var _a; return (_a = attachment.contentType) === null || _a === void 0 ? void 0 : _a.startsWith('image/'); });
61
- case 'endsWith':
62
- return content.endsWith(valueToMatch);
63
- case 'equals':
64
- return content === valueToMatch;
65
- case 'every':
66
- return true;
67
- case 'regex':
68
- try {
69
- const regex = new RegExp(options.regexPattern || '');
70
- return regex.test(content);
71
- }
72
- catch (error) {
73
- console.error('Invalid regex pattern:', error);
74
- return false;
75
- }
76
- case 'startsWith':
77
- return content.startsWith(valueToMatch);
78
- default:
79
- return false;
80
- }
81
- }
82
- return false;
83
- };
84
- exports.shouldTrigger = shouldTrigger;
85
- //# sourceMappingURL=trigger-logic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trigger-logic.js","sourceRoot":"","sources":["../../../../nodes/src/discord-trigger/trigger-logic.ts"],"names":[],"mappings":"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"}