diff --git a/CHANGELOG.md b/CHANGELOG.md index f79f28a..409b96c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Migrated to [Slash Commands](https://support.discord.com/hc/en-us/articles/1500000368501-Slash-Commands-FAQ) - The queue embed now automatically updates every 5 seconds (and has buttons for quick interactions) +## [0.5.2] - 2022-01-29 +### Fixed +- Playing livestreams now works again + ## [0.5.1] - 2022-01-25 ### Fixed - Queueing Spotify playlists could sometimes fail when a song wasn't found on YouTube @@ -53,7 +57,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Initial release -[Unreleased]: https://github.com/codetheweb/muse/compare/v0.5.1...HEAD +[Unreleased]: https://github.com/codetheweb/muse/compare/v0.5.2...HEAD +[0.5.2]: https://github.com/codetheweb/muse/compare/v0.5.1...v0.5.2 [0.5.1]: https://github.com/codetheweb/muse/compare/v0.5.0...v0.5.1 [0.5.0]: https://github.com/codetheweb/muse/compare/v0.4.0...v0.5.0 [0.4.0]: https://github.com/codetheweb/muse/compare/v0.3.2...v0.4.0 diff --git a/package.json b/package.json index 7bcaf9e..cfe54d4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "muse", - "version": "0.5.1", + "version": "0.5.2", "description": "🎧 a self-hosted Discord music bot that doesn't suck ", "exports": "./dist/src/index.js", "repository": "git@github.com:codetheweb/muse.git", diff --git a/src/services/player.ts b/src/services/player.ts index 47b3cb8..ce611e8 100644 --- a/src/services/player.ts +++ b/src/services/player.ts @@ -57,13 +57,11 @@ export default class { } async connect(channel: VoiceChannel): Promise { - const conn = joinVoiceChannel({ + this.voiceConnection = joinVoiceChannel({ channelId: channel.id, guildId: channel.guild.id, adapterCreator: channel.guild.voiceAdapterCreator, }); - - this.voiceConnection = conn; } disconnect(): void { @@ -98,7 +96,12 @@ export default class { } const stream = await this.getStream(currentSong.url, {seek: positionSeconds}); - this.audioPlayer = createAudioPlayer(); + this.audioPlayer = createAudioPlayer({ + behaviors: { + // Needs to be somewhat high for livestreams + maxMissedFrames: 50, + }, + }); this.voiceConnection.subscribe(this.audioPlayer); this.audioPlayer.play(createAudioResource(stream, { inputType: StreamType.WebmOpus, @@ -145,7 +148,12 @@ export default class { try { const stream = await this.getStream(currentSong.url); - this.audioPlayer = createAudioPlayer(); + this.audioPlayer = createAudioPlayer({ + behaviors: { + // Needs to be somewhat high for livestreams + maxMissedFrames: 50, + }, + }); this.voiceConnection.subscribe(this.audioPlayer); const resource = createAudioResource(stream, { inputType: StreamType.WebmOpus, diff --git a/yarn.lock b/yarn.lock index 8981c00..31ebd1f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -298,9 +298,9 @@ detect-newline "^3.1.0" "@sapphire/async-queue@^1.1.9": - version "1.1.9" - resolved "https://registry.yarnpkg.com/@sapphire/async-queue/-/async-queue-1.1.9.tgz#ce69611c8753c4affd905a7ef43061c7eb95c01b" - integrity sha512-CbXaGwwlEMq+l1TRu01FJCvySJ1CEFKFclHT48nIfNeZXaAAmmwwy7scUKmYHPUa3GhoMp6Qr1B3eAJux6XgOQ== + version "1.2.0" + resolved "https://registry.yarnpkg.com/@sapphire/async-queue/-/async-queue-1.2.0.tgz#7a56afd318101d338433d7180ebd6af349243268" + integrity sha512-O5ND5Ljpef86X5oy8zXorQ754TMjWALcPSAgPBu4+76HLtDTrNoDyzU2uGE2G4A8Wv51u0MXHzGQ0WZ4GMtpIw== "@sapphire/snowflake@^3.0.1": version "3.1.0" @@ -435,9 +435,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@^17.0.0": - version "17.0.12" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.12.tgz#f7aa331b27f08244888c47b7df126184bc2339c5" - integrity sha512-4YpbAsnJXWYK/fpTVFlMIcUIho2AYCi4wg5aNPrG1ng7fn/1/RZfCIpRCiBX+12RVa34RluilnvCqD+g3KiSiA== + version "17.0.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.13.tgz#5ed7ed7c662948335fcad6c412bb42d99ea754e3" + integrity sha512-Y86MAxASe25hNzlDbsviXl8jQHb0RDvKt4c40ZJQ1Don0AAL0STLZSs4N+6gLEO55pedy7r2cLwS+ZDxPm/2Bw== "@types/parse-json@^4.0.0": version "4.0.0" @@ -457,9 +457,9 @@ integrity sha512-rHmG4soR13N3jDCu0QL9cv6q3jMM/AU/0w5w7ukTt89e23rv5Vz86BNqXP/34wEzYWgiTNSG+f+xGT1rjABj4g== "@types/spotify-web-api-node@^5.0.2": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@types/spotify-web-api-node/-/spotify-web-api-node-5.0.6.tgz#4787a0ae7f610b71f8f16eb467e2d83a961ba7ce" - integrity sha512-2zu9z9mtML5W5Q2cgtuu/FQ/KeZuOJ6ruKya5BUgyOKRGMamFbTe8Z/00TqRlm6MGDUWBcPKY4BZZAxhwPozgQ== + version "5.0.7" + resolved "https://registry.yarnpkg.com/@types/spotify-web-api-node/-/spotify-web-api-node-5.0.7.tgz#de5cb576781e0aaa38568744dfb891c86a7938ee" + integrity sha512-8ajd4xS3+l4Zau1OyggPv7DjeSFEIGYvG5Q8PbbBMKiaRFD53IkcvU4Bx4Ijyzw+l+Kc09L5L+MXRj0wyVLx9Q== dependencies: "@types/spotify-api" "*" @@ -1564,9 +1564,9 @@ flat-cache@^3.0.4: rimraf "^3.0.2" flatted@^3.1.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" - integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== + version "3.2.5" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" + integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== fluent-ffmpeg@^2.1.2: version "2.1.2" @@ -3508,9 +3508,9 @@ type-fest@^0.8.0: integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== type-fest@^2.8.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.10.0.tgz#0ee9c3cd411efb3bba434065d32235592d3644cf" - integrity sha512-u2yreDMllFI3VCpWt0rKrGs/E2LO0YHBwiiOIj+ilQh9+ALMaa4lNBSdoDvuHN3cbKcYk9L1BXP49x9RT+o/SA== + version "2.11.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.11.0.tgz#732ffaf73e4d17d1f762a539876a791b45ed273b" + integrity sha512-GwRKR1jZMAQP/hVR929DWB5Z2lwSIM/nNcHEfDj2E0vOMhcYbqFxGKE5JaSzMdzmEtWJiamEn6VwHs/YVXVhEQ== typedarray-to-buffer@^3.1.5: version "3.1.5"