Adding another protection to try to avoid multiple recordings of the same audio happening
This commit is contained in:
parent
6012351b3e
commit
6c6c2655f2
39
breadbot.js
39
breadbot.js
@ -137,30 +137,33 @@ client.on(Events.VoiceStateUpdate, async (oldState, newState) => {
|
|||||||
|
|
||||||
if (receiver.speaking.listenerCount("start") == 0) {
|
if (receiver.speaking.listenerCount("start") == 0) {
|
||||||
receiver.speaking.on("start", (user_id) => {
|
receiver.speaking.on("start", (user_id) => {
|
||||||
receiver.subscribe(user_id, {
|
if(!receiver.subscriptions.has(user_id)) {
|
||||||
end: {
|
receiver.subscribe(user_id, {
|
||||||
behavior: EndBehaviorType.AfterSilence,
|
end: {
|
||||||
duration: 500
|
behavior: EndBehaviorType.AfterSilence,
|
||||||
}
|
duration: 500
|
||||||
})
|
}
|
||||||
.pipe(new prism.opus.OggLogicalBitstream({
|
})
|
||||||
opusHead: new prism.opus.OpusHead({
|
.pipe(new prism.opus.OggLogicalBitstream({
|
||||||
channelCount: 2,
|
opusHead: new prism.opus.OpusHead({
|
||||||
sampleRate: 48000
|
channelCount: 2,
|
||||||
}),
|
sampleRate: 48000
|
||||||
pageSizeControl: {
|
}),
|
||||||
maxPackets: 10
|
pageSizeControl: {
|
||||||
}
|
maxPackets: 10
|
||||||
}))
|
}
|
||||||
.pipe(fs.createWriteStream(media_voice_folder + path.sep + newCallID + path.sep + `${Date.now()}-${user_id}.ogg`))
|
}))
|
||||||
|
.pipe(fs.createWriteStream(media_voice_folder + path.sep + newCallID + path.sep + `${Date.now()}-${user_id}.ogg`))
|
||||||
|
} else {
|
||||||
|
logger.warn(`Attempted to create new user subscriber for ${user_id} even though one already exists, receiver arm if statement protected against this`)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
receiver.speaking.on("end", (user_id) => {
|
receiver.speaking.on("end", (user_id) => {
|
||||||
logger.info(`User ${user_id} stopped speaking`)
|
logger.info(`User ${user_id} stopped speaking`)
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
logger.info("Attempted to create a new start and end listener for users who are speaking for some reason, receiver armor if statement protected against this")
|
logger.warn("Attempted to create a new start and end listener for users who are speaking for some reason, receiver armor if statement protected against this")
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error(error)
|
logger.error(error)
|
||||||
|
Loading…
Reference in New Issue
Block a user