n8n-nodes-discord-dnd 0.1.28 → 0.1.30
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.
@@ -33,155 +33,109 @@ class DiscordTrigger {
|
|
33
33
|
return servers;
|
34
34
|
},
|
35
35
|
async getEvents() {
|
36
|
-
const type = this.getCurrentNodeParameter(
|
36
|
+
const type = this.getCurrentNodeParameter('type');
|
37
37
|
const eventOptions = {
|
38
38
|
message: [
|
39
|
-
{ name:
|
40
|
-
{ name:
|
41
|
-
{ name:
|
42
|
-
{ name:
|
43
|
-
{ name:
|
44
|
-
{ name:
|
45
|
-
{
|
46
|
-
|
47
|
-
|
48
|
-
},
|
49
|
-
{
|
50
|
-
name: "Message Reaction Remove Emoji",
|
51
|
-
value: "messageReactionRemoveEmoji",
|
52
|
-
},
|
53
|
-
{ name: "Typing Start", value: "typingStart" },
|
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
|
+
{ name: 'Message Reaction Remove All', value: 'messageReactionRemoveAll' },
|
46
|
+
{ name: 'Message Reaction Remove Emoji', value: 'messageReactionRemoveEmoji' },
|
47
|
+
{ name: 'Typing Start', value: 'typingStart' },
|
54
48
|
],
|
55
49
|
guild: [
|
56
|
-
{ name:
|
57
|
-
{ name:
|
58
|
-
{ name:
|
59
|
-
{ name:
|
60
|
-
{ name:
|
61
|
-
{ name:
|
62
|
-
{ name:
|
63
|
-
{ name:
|
64
|
-
{ name:
|
65
|
-
{ name:
|
66
|
-
{ name:
|
67
|
-
{ name:
|
68
|
-
{ name:
|
69
|
-
{ name:
|
70
|
-
{ name:
|
71
|
-
{ name:
|
72
|
-
{ name:
|
73
|
-
{ name:
|
74
|
-
{ name:
|
75
|
-
{ name:
|
76
|
-
{ name:
|
50
|
+
{ name: 'Channel Create', value: 'channelCreate' },
|
51
|
+
{ name: 'Channel Delete', value: 'channelDelete' },
|
52
|
+
{ name: 'Channel Pins Update', value: 'channelPinsUpdate' },
|
53
|
+
{ name: 'Channel Update', value: 'channelUpdate' },
|
54
|
+
{ name: 'Guild Available', value: 'guildAvailable' },
|
55
|
+
{ name: 'Guild Create', value: 'guildCreate' },
|
56
|
+
{ name: 'Guild Delete', value: 'guildDelete' },
|
57
|
+
{ name: 'Guild Unavailable', value: 'guildUnavailable' },
|
58
|
+
{ name: 'Guild Update', value: 'guildUpdate' },
|
59
|
+
{ name: 'Role Create', value: 'roleCreate' },
|
60
|
+
{ name: 'Role Delete', value: 'roleDelete' },
|
61
|
+
{ name: 'Role Update', value: 'roleUpdate' },
|
62
|
+
{ name: 'Stage Instance Create', value: 'stageInstanceCreate' },
|
63
|
+
{ name: 'Stage Instance Delete', value: 'stageInstanceDelete' },
|
64
|
+
{ name: 'Stage Instance Update', value: 'stageInstanceUpdate' },
|
65
|
+
{ name: 'Thread Create', value: 'threadCreate' },
|
66
|
+
{ name: 'Thread Delete', value: 'threadDelete' },
|
67
|
+
{ name: 'Thread List Sync', value: 'threadListSync' },
|
68
|
+
{ name: 'Thread Members Update', value: 'threadMembersUpdate' },
|
69
|
+
{ name: 'Thread Member Update', value: 'threadMemberUpdate' },
|
70
|
+
{ name: 'Thread Update', value: 'threadUpdate' },
|
77
71
|
],
|
78
72
|
moderation: [
|
79
|
-
{ name:
|
80
|
-
{ name:
|
81
|
-
{
|
82
|
-
name: "Guild Audit Log Entry Create",
|
83
|
-
value: "guildAuditLogEntryCreate",
|
84
|
-
},
|
73
|
+
{ name: 'Guild Ban Add', value: 'guildBanAdd' },
|
74
|
+
{ name: 'Guild Ban Remove', value: 'guildBanRemove' },
|
75
|
+
{ name: 'Guild Audit Log Entry Create', value: 'guildAuditLogEntryCreate' },
|
85
76
|
],
|
86
77
|
emojiSticker: [
|
87
|
-
{ name:
|
88
|
-
{ name:
|
89
|
-
{ name:
|
90
|
-
{ name:
|
91
|
-
{ name:
|
92
|
-
{ name:
|
78
|
+
{ name: 'Emoji Create', value: 'emojiCreate' },
|
79
|
+
{ name: 'Emoji Delete', value: 'emojiDelete' },
|
80
|
+
{ name: 'Emoji Update', value: 'emojiUpdate' },
|
81
|
+
{ name: 'Sticker Create', value: 'stickerCreate' },
|
82
|
+
{ name: 'Sticker Delete', value: 'stickerDelete' },
|
83
|
+
{ name: 'Sticker Update', value: 'stickerUpdate' },
|
93
84
|
],
|
94
85
|
integrationWebhook: [
|
95
|
-
{
|
96
|
-
|
97
|
-
value: "guildIntegrationsUpdate",
|
98
|
-
},
|
99
|
-
{ name: "Webhook Update", value: "webhookUpdate" },
|
86
|
+
{ name: 'Guild Integrations Update', value: 'guildIntegrationsUpdate' },
|
87
|
+
{ name: 'Webhook Update', value: 'webhookUpdate' },
|
100
88
|
],
|
101
89
|
invite: [
|
102
|
-
{ name:
|
103
|
-
{ name:
|
90
|
+
{ name: 'Invite Create', value: 'inviteCreate' },
|
91
|
+
{ name: 'Invite Delete', value: 'inviteDelete' },
|
104
92
|
],
|
105
93
|
voice: [
|
106
|
-
{
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
{ name:
|
94
|
+
{ name: 'Voice Channel Effect Send', value: 'voiceChannelEffectSend' },
|
95
|
+
{ name: 'Voice State Update', value: 'voiceStateUpdate' },
|
96
|
+
],
|
97
|
+
presence: [
|
98
|
+
{ name: 'Presence Update', value: 'presenceUpdate' },
|
111
99
|
],
|
112
|
-
presence: [{ name: "Presence Update", value: "presenceUpdate" }],
|
113
100
|
scheduledEvent: [
|
114
|
-
{
|
115
|
-
|
116
|
-
|
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
|
-
},
|
101
|
+
{ name: 'Guild Scheduled Event Create', value: 'guildScheduledEventCreate' },
|
102
|
+
{ name: 'Guild Scheduled Event Delete', value: 'guildScheduledEventDelete' },
|
103
|
+
{ name: 'Guild Scheduled Event Update', value: 'guildScheduledEventUpdate' },
|
104
|
+
{ name: 'Guild Scheduled Event User Add', value: 'guildScheduledEventUserAdd' },
|
105
|
+
{ name: 'Guild Scheduled Event User Remove', value: 'guildScheduledEventUserRemove' },
|
134
106
|
],
|
135
107
|
interaction: [
|
136
|
-
{ name:
|
137
|
-
{
|
138
|
-
name: "Application Command Permissions Update",
|
139
|
-
value: "applicationCommandPermissionsUpdate",
|
140
|
-
},
|
108
|
+
{ name: 'Interaction Create', value: 'interactionCreate' },
|
109
|
+
{ name: 'Application Command Permissions Update', value: 'applicationCommandPermissionsUpdate' },
|
141
110
|
],
|
142
111
|
botStatus: [
|
143
|
-
{ name:
|
144
|
-
{ name:
|
145
|
-
{ name:
|
146
|
-
{ name:
|
147
|
-
{ name:
|
148
|
-
{ name:
|
149
|
-
{ name:
|
150
|
-
{ name:
|
151
|
-
{ name:
|
112
|
+
{ name: 'Debug', value: 'debug' },
|
113
|
+
{ name: 'Error', value: 'error' },
|
114
|
+
{ name: 'Warn', value: 'warn' },
|
115
|
+
{ name: 'Ready', value: 'ready' },
|
116
|
+
{ name: 'Shard Disconnect', value: 'shardDisconnect' },
|
117
|
+
{ name: 'Shard Error', value: 'shardError' },
|
118
|
+
{ name: 'Shard Ready', value: 'shardReady' },
|
119
|
+
{ name: 'Shard Reconnecting', value: 'shardReconnecting' },
|
120
|
+
{ name: 'Shard Resume', value: 'shardResume' },
|
152
121
|
],
|
153
122
|
user: [
|
154
|
-
{ name:
|
155
|
-
{ name:
|
156
|
-
{ name:
|
157
|
-
{ name:
|
158
|
-
{ name:
|
159
|
-
{ name:
|
123
|
+
{ name: 'User Update', value: 'userUpdate' },
|
124
|
+
{ name: 'Guild Member Add', value: 'guildMemberAdd' },
|
125
|
+
{ name: 'Guild Member Available', value: 'guildMemberAvailable' },
|
126
|
+
{ name: 'Guild Member Remove', value: 'guildMemberRemove' },
|
127
|
+
{ name: 'Guild Member Update', value: 'guildMemberUpdate' },
|
128
|
+
{ name: 'Guild Members Chunk', value: 'guildMembersChunk' },
|
160
129
|
],
|
161
130
|
autoModeration: [
|
162
|
-
{
|
163
|
-
|
164
|
-
|
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
|
-
},
|
131
|
+
{ name: 'Auto Moderation Action Execution', value: 'autoModerationActionExecution' },
|
132
|
+
{ name: 'Auto Moderation Rule Create', value: 'autoModerationRuleCreate' },
|
133
|
+
{ name: 'Auto Moderation Rule Delete', value: 'autoModerationRuleDelete' },
|
134
|
+
{ name: 'Auto Moderation Rule Update', value: 'autoModerationRuleUpdate' },
|
178
135
|
],
|
179
136
|
poll: [
|
180
|
-
{ name:
|
181
|
-
{
|
182
|
-
name: "Message Poll Vote Remove",
|
183
|
-
value: "messagePollVoteRemove",
|
184
|
-
},
|
137
|
+
{ name: 'Message Poll Vote Add', value: 'messagePollVoteAdd' },
|
138
|
+
{ name: 'Message Poll Vote Remove', value: 'messagePollVoteRemove' },
|
185
139
|
],
|
186
140
|
};
|
187
141
|
return eventOptions[type] || [];
|
@@ -190,81 +144,86 @@ class DiscordTrigger {
|
|
190
144
|
};
|
191
145
|
}
|
192
146
|
async trigger() {
|
193
|
-
const credentials = await this.getCredentials(
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
const serverFilterMethod = this.getNodeParameter('serverFilterMethod', 'fromList');
|
204
|
-
if (serverFilterMethod === 'fromList') {
|
205
|
-
serverIds = this.getNodeParameter('serverIds', []);
|
206
|
-
}
|
207
|
-
else if (serverFilterMethod === 'byId') {
|
208
|
-
const serverId = this.getNodeParameter('serverId', '');
|
209
|
-
if (serverId) {
|
210
|
-
serverIds = [serverId];
|
211
|
-
}
|
212
|
-
}
|
213
|
-
else if (serverFilterMethod === 'byUrl') {
|
214
|
-
const serverUrl = this.getNodeParameter('serverUrl', '');
|
215
|
-
if (serverUrl) {
|
216
|
-
// Extract server ID from URL
|
217
|
-
const matches = serverUrl.match(/channels\/(\d+)/);
|
218
|
-
if (matches && matches[1]) {
|
219
|
-
serverIds = [matches[1]];
|
220
|
-
}
|
221
|
-
}
|
222
|
-
}
|
223
|
-
}
|
224
|
-
// Initialize trigger parameters
|
225
|
-
const triggerParameters = {
|
226
|
-
triggerType: type,
|
227
|
-
includeBotMessages: true,
|
228
|
-
filterByServers,
|
229
|
-
serverIds,
|
230
|
-
filterByChannels: false,
|
147
|
+
const credentials = (await this.getCredentials("discordApi"));
|
148
|
+
// Extract parameters from node configuration
|
149
|
+
const parameters = {
|
150
|
+
// Get core parameters
|
151
|
+
triggerType: this.getNodeParameter("triggerType", "messageContent"),
|
152
|
+
includeBotMessages: this.getNodeParameter("includeBotMessages", false),
|
153
|
+
// Get filter parameters
|
154
|
+
filterByServers: this.getNodeParameter("filterByServers", false),
|
155
|
+
serverIds: [],
|
156
|
+
filterByChannels: this.getNodeParameter("filterByChannels", false),
|
231
157
|
channelIds: [],
|
232
|
-
filterByRoles: false,
|
158
|
+
filterByRoles: this.getNodeParameter("filterByRoles", false),
|
233
159
|
roleIds: [],
|
234
160
|
};
|
235
|
-
//
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
161
|
+
// Process server filter parameters
|
162
|
+
if (parameters.filterByServers) {
|
163
|
+
parameters.serverFilterMethod = this.getNodeParameter("serverFilterMethod", "fromList");
|
164
|
+
switch (parameters.serverFilterMethod) {
|
165
|
+
case "fromList":
|
166
|
+
parameters.serverIds = this.getNodeParameter("serverIds", []);
|
167
|
+
break;
|
168
|
+
case "byUrl":
|
169
|
+
const url = this.getNodeParameter("serverUrl", "");
|
170
|
+
const serverIdFromUrl = url.split("/").pop();
|
171
|
+
if (serverIdFromUrl) {
|
172
|
+
parameters.serverIds = [serverIdFromUrl];
|
173
|
+
}
|
174
|
+
break;
|
175
|
+
case "byId":
|
176
|
+
const serverId = this.getNodeParameter("serverId", "");
|
177
|
+
if (serverId) {
|
178
|
+
parameters.serverIds = [serverId];
|
179
|
+
}
|
180
|
+
break;
|
181
|
+
}
|
251
182
|
}
|
252
|
-
|
253
|
-
|
254
|
-
|
183
|
+
if (parameters.filterByChannels) {
|
184
|
+
parameters.channelIds = this.getNodeParameter("channelIds", "")
|
185
|
+
.split(",")
|
186
|
+
.map((id) => id.trim());
|
255
187
|
}
|
256
|
-
|
257
|
-
|
258
|
-
|
188
|
+
if (parameters.filterByRoles) {
|
189
|
+
parameters.roleIds = this.getNodeParameter("roleIds", "")
|
190
|
+
.split(",")
|
191
|
+
.map((id) => id.trim());
|
192
|
+
}
|
193
|
+
// Get trigger-specific parameters
|
194
|
+
if (parameters.triggerType === "messageContent") {
|
195
|
+
parameters.matchPattern = this.getNodeParameter("matchPattern", "");
|
196
|
+
if (["contains", "endsWith", "equals", "startsWith"].includes(parameters.matchPattern)) {
|
197
|
+
parameters.matchValue = this.getNodeParameter("matchValue", "");
|
198
|
+
parameters.caseSensitive = this.getNodeParameter("caseSensitive", false);
|
199
|
+
}
|
200
|
+
else if (parameters.matchPattern === "regex") {
|
201
|
+
parameters.regexPattern = this.getNodeParameter("regexPattern", "");
|
202
|
+
}
|
203
|
+
}
|
204
|
+
else if (parameters.triggerType === "botInteraction") {
|
205
|
+
parameters.interactionType = this.getNodeParameter("interactionType", "botMentioned");
|
206
|
+
}
|
207
|
+
// Initialize Discord client and set up event handlers
|
208
|
+
const client = await (0, client_1.initializeDiscordClient)(credentials.botToken);
|
209
|
+
// Set up response data with manual trigger function
|
210
|
+
const responseData = {
|
211
|
+
manualTriggerFunction: async () => {
|
212
|
+
// This function will be executed when the workflow is manually triggered
|
213
|
+
// Don't need to do anything here as we only want the workflow to be triggered by Discord events
|
214
|
+
return;
|
215
|
+
},
|
216
|
+
};
|
217
|
+
// Set up message event handler
|
218
|
+
(0, event_handlers_1.setupMessageEventHandler)(client, this, parameters);
|
219
|
+
// Function to clean up when node is deactivated
|
220
|
+
const closeFunction = async () => {
|
221
|
+
console.log("Disconnecting from Discord...");
|
222
|
+
client.destroy();
|
259
223
|
};
|
260
224
|
return {
|
261
|
-
|
262
|
-
closeFunction
|
263
|
-
// Clean up when workflow is deactivated
|
264
|
-
if (client) {
|
265
|
-
client.destroy();
|
266
|
-
}
|
267
|
-
},
|
225
|
+
...responseData,
|
226
|
+
closeFunction,
|
268
227
|
};
|
269
228
|
}
|
270
229
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../nodes/src/discord-trigger/index.ts"],"names":[],"mappings":";;;AAQA,qCAAmD;AACnD,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../nodes/src/discord-trigger/index.ts"],"names":[],"mappings":"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"}
|