n8n-nodes-discord-dnd 0.1.73 → 0.1.74

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.
@@ -88,28 +88,44 @@ class DiscordAction {
88
88
  if (!channel || !(channel instanceof discord_js_1.VoiceChannel)) {
89
89
  throw new Error(`Channel ${channelId} is not a voice channel`);
90
90
  }
91
+ // Check bot permissions
92
+ const permissions = channel.permissionsFor(client.user);
93
+ if (!(permissions === null || permissions === void 0 ? void 0 : permissions.has(discord_js_1.PermissionsBitField.Flags.Connect))) {
94
+ throw new Error('Bot does not have permission to join this voice channel');
95
+ }
96
+ if (!(permissions === null || permissions === void 0 ? void 0 : permissions.has(discord_js_1.PermissionsBitField.Flags.Speak))) {
97
+ throw new Error('Bot does not have permission to speak in this voice channel');
98
+ }
99
+ // Create connection
91
100
  const connection = (0, voice_1.joinVoiceChannel)({
92
101
  channelId: channel.id,
93
102
  guildId: guild.id,
94
103
  adapterCreator: guild.voiceAdapterCreator,
104
+ selfDeaf: false,
105
+ selfMute: false,
95
106
  });
96
107
  // Create an audio player to keep the connection alive
97
108
  const player = (0, voice_1.createAudioPlayer)();
98
109
  connection.subscribe(player);
99
- // Wait for the connection to be ready
100
- await new Promise((resolve, reject) => {
101
- const timeout = setTimeout(() => {
102
- reject(new Error('Voice connection timeout'));
103
- }, 10000);
104
- connection.on(voice_1.VoiceConnectionStatus.Ready, () => {
105
- clearTimeout(timeout);
106
- resolve(true);
107
- });
108
- connection.on(voice_1.VoiceConnectionStatus.Disconnected, () => {
109
- clearTimeout(timeout);
110
- reject(new Error('Failed to connect to voice channel'));
111
- });
112
- });
110
+ try {
111
+ // Wait for the connection to be ready with a timeout
112
+ await Promise.race([
113
+ (0, voice_1.entersState)(connection, voice_1.VoiceConnectionStatus.Ready, 30000),
114
+ new Promise((_, reject) => {
115
+ connection.on(voice_1.VoiceConnectionStatus.Disconnected, () => {
116
+ reject(new Error('Voice connection was disconnected'));
117
+ });
118
+ connection.on('error', (error) => {
119
+ reject(error);
120
+ });
121
+ }),
122
+ ]);
123
+ }
124
+ catch (error) {
125
+ // Clean up if connection fails
126
+ connection.destroy();
127
+ throw new Error(`Failed to join voice channel: ${(error === null || error === void 0 ? void 0 : error.message) || 'Unknown error'}`);
128
+ }
113
129
  break;
114
130
  }
115
131
  case 'leaveVoiceChannel': {
@@ -124,8 +140,13 @@ class DiscordAction {
124
140
  }
125
141
  // Clean up: Destroy the client after operation is complete
126
142
  client.destroy();
127
- // Return success
128
- return [this.helpers.returnJsonArray({ success: true })];
143
+ // Return success with additional details
144
+ return [this.helpers.returnJsonArray({
145
+ success: true,
146
+ operation,
147
+ guildId,
148
+ channelId: operation === 'joinVoiceChannel' ? this.getNodeParameter('channelId', 0) : undefined
149
+ })];
129
150
  }
130
151
  catch (error) {
131
152
  // Clean up on error
@@ -1 +1 @@
1
- {"version":3,"file":"DiscordAction.node.js","sourceRoot":"","sources":["../../src/nodes/DiscordAction.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DiscordAction.node.js","sourceRoot":"","sources":["../../src/nodes/DiscordAction.node.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-discord-dnd",
3
- "version": "0.1.73",
3
+ "version": "0.1.74",
4
4
  "description": "n8n node to create triggers for Discord events",
5
5
  "keywords": [
6
6
  "n8n",