Skip to content

Commit 1bd4de9

Browse files
Merge pull request elizaOS#447 from ai16z/fix/voice-perms
fix: voice perms
2 parents 5d86a5b + e512c61 commit 1bd4de9

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

packages/client-discord/src/voice.ts

+12-5
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,13 @@ import {
88
ModelClass,
99
ServiceType,
1010
State,
11-
UUID, composeContext, elizaLogger, embeddingZeroVector, generateMessageResponse, messageCompletionFooter, stringToUuid
11+
UUID,
12+
composeContext,
13+
elizaLogger,
14+
embeddingZeroVector,
15+
generateMessageResponse,
16+
messageCompletionFooter,
17+
stringToUuid,
1218
} from "@ai16z/eliza";
1319
import {
1420
AudioReceiveStream,
@@ -232,11 +238,12 @@ export class VoiceManager extends EventEmitter {
232238
selfMute: false,
233239
});
234240

235-
// Explicitly undeafen and unmute the bot
236241
const me = channel.guild.members.me;
237-
if (me?.voice) {
242+
if (me?.voice && me.permissions.has("DeafenMembers")) {
238243
await me.voice.setDeaf(false);
239244
await me.voice.setMute(false);
245+
} else {
246+
elizaLogger.log("Bot lacks permission to modify voice state");
240247
}
241248

242249
for (const [, member] of channel.members) {
@@ -245,8 +252,8 @@ export class VoiceManager extends EventEmitter {
245252
}
246253
}
247254

248-
connection.on('error', (error) => {
249-
console.error('Voice connection error:', error);
255+
connection.on("error", (error) => {
256+
console.error("Voice connection error:", error);
250257
});
251258

252259
connection.receiver.speaking.on("start", (userId: string) => {

0 commit comments

Comments
 (0)