distube 4.0.0-dev.0 → 4.0.0-dev.3

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.
Files changed (121) hide show
  1. package/README.md +1 -1
  2. package/dist/index.d.ts +593 -8
  3. package/dist/index.js +2360 -22
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +2300 -0
  6. package/dist/index.mjs.map +1 -0
  7. package/package.json +79 -43
  8. package/dist/DisTube.d.ts +0 -521
  9. package/dist/DisTube.d.ts.map +0 -1
  10. package/dist/DisTube.js +0 -793
  11. package/dist/DisTube.js.map +0 -1
  12. package/dist/constant.d.ts +0 -124
  13. package/dist/constant.d.ts.map +0 -1
  14. package/dist/constant.js +0 -144
  15. package/dist/constant.js.map +0 -1
  16. package/dist/core/DisTubeBase.d.ts +0 -54
  17. package/dist/core/DisTubeBase.d.ts.map +0 -1
  18. package/dist/core/DisTubeBase.js +0 -75
  19. package/dist/core/DisTubeBase.js.map +0 -1
  20. package/dist/core/DisTubeHandler.d.ts +0 -93
  21. package/dist/core/DisTubeHandler.d.ts.map +0 -1
  22. package/dist/core/DisTubeHandler.js +0 -292
  23. package/dist/core/DisTubeHandler.js.map +0 -1
  24. package/dist/core/DisTubeOptions.d.ts +0 -23
  25. package/dist/core/DisTubeOptions.d.ts.map +0 -1
  26. package/dist/core/DisTubeOptions.js +0 -90
  27. package/dist/core/DisTubeOptions.js.map +0 -1
  28. package/dist/core/DisTubeStream.d.ts +0 -52
  29. package/dist/core/DisTubeStream.d.ts.map +0 -1
  30. package/dist/core/DisTubeStream.js +0 -108
  31. package/dist/core/DisTubeStream.js.map +0 -1
  32. package/dist/core/index.d.ts +0 -7
  33. package/dist/core/index.d.ts.map +0 -1
  34. package/dist/core/index.js +0 -19
  35. package/dist/core/index.js.map +0 -1
  36. package/dist/core/manager/BaseManager.d.ts +0 -22
  37. package/dist/core/manager/BaseManager.d.ts.map +0 -1
  38. package/dist/core/manager/BaseManager.js +0 -42
  39. package/dist/core/manager/BaseManager.js.map +0 -1
  40. package/dist/core/manager/QueueManager.d.ts +0 -33
  41. package/dist/core/manager/QueueManager.d.ts.map +0 -1
  42. package/dist/core/manager/QueueManager.js +0 -193
  43. package/dist/core/manager/QueueManager.js.map +0 -1
  44. package/dist/core/manager/index.d.ts +0 -3
  45. package/dist/core/manager/index.d.ts.map +0 -1
  46. package/dist/core/manager/index.js +0 -15
  47. package/dist/core/manager/index.js.map +0 -1
  48. package/dist/core/voice/DisTubeVoice.d.ts +0 -82
  49. package/dist/core/voice/DisTubeVoice.d.ts.map +0 -1
  50. package/dist/core/voice/DisTubeVoice.js +0 -250
  51. package/dist/core/voice/DisTubeVoice.js.map +0 -1
  52. package/dist/core/voice/DisTubeVoiceManager.d.ts +0 -41
  53. package/dist/core/voice/DisTubeVoiceManager.d.ts.map +0 -1
  54. package/dist/core/voice/DisTubeVoiceManager.js +0 -67
  55. package/dist/core/voice/DisTubeVoiceManager.js.map +0 -1
  56. package/dist/core/voice/index.d.ts +0 -3
  57. package/dist/core/voice/index.d.ts.map +0 -1
  58. package/dist/core/voice/index.js +0 -15
  59. package/dist/core/voice/index.js.map +0 -1
  60. package/dist/index.d.ts.map +0 -1
  61. package/dist/plugin/http.d.ts +0 -10
  62. package/dist/plugin/http.d.ts.map +0 -1
  63. package/dist/plugin/http.js +0 -18
  64. package/dist/plugin/http.js.map +0 -1
  65. package/dist/plugin/https.d.ts +0 -19
  66. package/dist/plugin/https.d.ts.map +0 -1
  67. package/dist/plugin/https.js +0 -47
  68. package/dist/plugin/https.js.map +0 -1
  69. package/dist/plugin/index.d.ts +0 -3
  70. package/dist/plugin/index.d.ts.map +0 -1
  71. package/dist/plugin/index.js +0 -15
  72. package/dist/plugin/index.js.map +0 -1
  73. package/dist/struct/CustomPlugin.d.ts +0 -51
  74. package/dist/struct/CustomPlugin.d.ts.map +0 -1
  75. package/dist/struct/CustomPlugin.js +0 -50
  76. package/dist/struct/CustomPlugin.js.map +0 -1
  77. package/dist/struct/DisTubeError.d.ts +0 -55
  78. package/dist/struct/DisTubeError.d.ts.map +0 -1
  79. package/dist/struct/DisTubeError.js +0 -64
  80. package/dist/struct/DisTubeError.js.map +0 -1
  81. package/dist/struct/ExtractorPlugin.d.ts +0 -45
  82. package/dist/struct/ExtractorPlugin.d.ts.map +0 -1
  83. package/dist/struct/ExtractorPlugin.js +0 -39
  84. package/dist/struct/ExtractorPlugin.js.map +0 -1
  85. package/dist/struct/Playlist.d.ts +0 -54
  86. package/dist/struct/Playlist.d.ts.map +0 -1
  87. package/dist/struct/Playlist.js +0 -131
  88. package/dist/struct/Playlist.js.map +0 -1
  89. package/dist/struct/Plugin.d.ts +0 -75
  90. package/dist/struct/Plugin.d.ts.map +0 -1
  91. package/dist/struct/Plugin.js +0 -99
  92. package/dist/struct/Plugin.js.map +0 -1
  93. package/dist/struct/Queue.d.ts +0 -216
  94. package/dist/struct/Queue.d.ts.map +0 -1
  95. package/dist/struct/Queue.js +0 -479
  96. package/dist/struct/Queue.js.map +0 -1
  97. package/dist/struct/SearchResult.d.ts +0 -27
  98. package/dist/struct/SearchResult.d.ts.map +0 -1
  99. package/dist/struct/SearchResult.js +0 -77
  100. package/dist/struct/SearchResult.js.map +0 -1
  101. package/dist/struct/Song.d.ts +0 -78
  102. package/dist/struct/Song.d.ts.map +0 -1
  103. package/dist/struct/Song.js +0 -259
  104. package/dist/struct/Song.js.map +0 -1
  105. package/dist/struct/TaskQueue.d.ts +0 -28
  106. package/dist/struct/TaskQueue.d.ts.map +0 -1
  107. package/dist/struct/TaskQueue.js +0 -64
  108. package/dist/struct/TaskQueue.js.map +0 -1
  109. package/dist/struct/index.d.ts +0 -10
  110. package/dist/struct/index.d.ts.map +0 -1
  111. package/dist/struct/index.js +0 -22
  112. package/dist/struct/index.js.map +0 -1
  113. package/dist/tsconfig.tsbuildinfo +0 -1
  114. package/dist/type.d.ts +0 -169
  115. package/dist/type.d.ts.map +0 -1
  116. package/dist/type.js +0 -3
  117. package/dist/type.js.map +0 -1
  118. package/dist/util.d.ts +0 -51
  119. package/dist/util.d.ts.map +0 -1
  120. package/dist/util.js +0 -225
  121. package/dist/util.js.map +0 -1
@@ -1 +0,0 @@
1
- {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/@distube/ytpl/typings/index.d.ts","../node_modules/@distube/ytsr/typings/index.d.ts","../node_modules/@distube/ytdl-core/typings/index.d.ts","../node_modules/discord-api-types/globals.d.ts","../node_modules/discord-api-types/payloads/v9/permissions.d.ts","../node_modules/discord-api-types/payloads/v9/emoji.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/internals.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/shared.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/base.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/string.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/integer.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/boolean.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/user.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/channel.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/role.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/mentionable.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/number.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommand.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/chatInput.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/contextMenu.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/permissions.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/applicationCommands.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/responses.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/base.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/messageComponents.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/ping.d.ts","../node_modules/discord-api-types/payloads/v9/_interactions/autocomplete.d.ts","../node_modules/discord-api-types/payloads/v9/interactions.d.ts","../node_modules/discord-api-types/payloads/v9/sticker.d.ts","../node_modules/discord-api-types/payloads/v9/channel.d.ts","../node_modules/discord-api-types/payloads/v9/gateway.d.ts","../node_modules/discord-api-types/payloads/v9/stageInstance.d.ts","../node_modules/discord-api-types/payloads/v9/voice.d.ts","../node_modules/discord-api-types/payloads/v9/guildScheduledEvent.d.ts","../node_modules/discord-api-types/payloads/v9/guild.d.ts","../node_modules/discord-api-types/payloads/v9/user.d.ts","../node_modules/discord-api-types/payloads/v9/teams.d.ts","../node_modules/discord-api-types/payloads/v9/application.d.ts","../node_modules/discord-api-types/payloads/v9/webhook.d.ts","../node_modules/discord-api-types/payloads/v9/auditLog.d.ts","../node_modules/discord-api-types/payloads/v9/invite.d.ts","../node_modules/discord-api-types/payloads/v9/oauth2.d.ts","../node_modules/discord-api-types/rest/common.d.ts","../node_modules/discord-api-types/rest/v9/auditLog.d.ts","../node_modules/discord-api-types/utils/internals.d.ts","../node_modules/discord-api-types/rest/v9/channel.d.ts","../node_modules/discord-api-types/rest/v9/emoji.d.ts","../node_modules/discord-api-types/rest/v9/gateway.d.ts","../node_modules/discord-api-types/rest/v9/guild.d.ts","../node_modules/discord-api-types/rest/v9/guildScheduledEvent.d.ts","../node_modules/discord-api-types/rest/v9/webhook.d.ts","../node_modules/discord-api-types/rest/v9/interactions.d.ts","../node_modules/discord-api-types/rest/v9/invite.d.ts","../node_modules/discord-api-types/rest/v9/oauth2.d.ts","../node_modules/discord-api-types/rest/v9/stageInstance.d.ts","../node_modules/discord-api-types/rest/v9/sticker.d.ts","../node_modules/discord-api-types/rest/v9/template.d.ts","../node_modules/discord-api-types/rest/v9/user.d.ts","../node_modules/discord-api-types/rest/v9/voice.d.ts","../node_modules/discord-api-types/rest/v9/index.d.ts","../node_modules/discord-api-types/payloads/v9/template.d.ts","../node_modules/discord-api-types/payloads/v9/index.d.ts","../node_modules/discord-api-types/gateway/common.d.ts","../node_modules/discord-api-types/gateway/v9.d.ts","../node_modules/discord-api-types/rpc/v9.d.ts","../node_modules/discord-api-types/utils/v9.d.ts","../node_modules/discord-api-types/v9.d.ts","../node_modules/zod/lib/helpers/util.d.ts","../node_modules/zod/lib/ZodError.d.ts","../node_modules/zod/lib/helpers/parseUtil.d.ts","../node_modules/zod/lib/helpers/errorUtil.d.ts","../node_modules/zod/lib/helpers/partialUtil.d.ts","../node_modules/zod/lib/types.d.ts","../node_modules/zod/lib/external.d.ts","../node_modules/zod/lib/index.d.ts","../node_modules/@discordjs/builders/dist/index.d.ts","../node_modules/@discordjs/collection/dist/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@discordjs/rest/node_modules/@discordjs/collection/dist/index.d.ts","../node_modules/@discordjs/rest/dist/lib/handlers/IHandler.d.ts","../node_modules/@discordjs/rest/dist/lib/RequestManager.d.ts","../node_modules/@discordjs/rest/dist/lib/REST.d.ts","../node_modules/@discordjs/rest/dist/lib/utils/constants.d.ts","../node_modules/@discordjs/rest/dist/lib/CDN.d.ts","../node_modules/@discordjs/rest/dist/lib/errors/DiscordAPIError.d.ts","../node_modules/@discordjs/rest/dist/lib/errors/HTTPError.d.ts","../node_modules/@discordjs/rest/dist/lib/errors/RateLimitError.d.ts","../node_modules/@discordjs/rest/dist/index.d.ts","../node_modules/@types/ws/index.d.ts","../node_modules/discord.js/typings/rawDataTypes.d.ts","../node_modules/@sapphire/snowflake/dist/lib/Snowflake.d.ts","../node_modules/@sapphire/snowflake/dist/lib/DiscordSnowflake.d.ts","../node_modules/@sapphire/snowflake/dist/lib/TwitterSnowflake.d.ts","../node_modules/@sapphire/snowflake/dist/index.d.ts","../node_modules/discord.js/typings/index.d.ts","../src/type.ts","../src/constant.ts","../src/struct/DisTubeError.ts","../src/struct/TaskQueue.ts","../src/struct/Playlist.ts","../src/struct/SearchResult.ts","../src/struct/Song.ts","../src/core/DisTubeOptions.ts","../src/core/DisTubeBase.ts","../node_modules/prism-media/typings/opus.d.ts","../node_modules/prism-media/typings/vorbis.d.ts","../node_modules/prism-media/typings/index.d.ts","../node_modules/tiny-typed-emitter/lib/index.d.ts","../node_modules/@discordjs/voice/dist/index.d.ts","../src/core/DisTubeStream.ts","../src/core/manager/BaseManager.ts","../src/core/manager/QueueManager.ts","../src/core/manager/index.ts","../src/core/voice/DisTubeVoice.ts","../src/core/voice/DisTubeVoiceManager.ts","../src/core/voice/index.ts","../src/core/DisTubeHandler.ts","../src/core/index.ts","../src/struct/Queue.ts","../src/struct/Plugin.ts","../src/struct/CustomPlugin.ts","../src/struct/ExtractorPlugin.ts","../src/struct/index.ts","../src/plugin/http.ts","../src/plugin/https.ts","../src/plugin/index.ts","../src/index.ts","../src/util.ts","../src/DisTube.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/jest-diff/build/cleanupSemantic.d.ts","../node_modules/pretty-format/build/types.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/types.d.ts","../node_modules/jest-diff/build/diffLines.d.ts","../node_modules/jest-diff/build/printDiffs.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/linkify-it/index.d.ts","../node_modules/@types/mdurl/encode.d.ts","../node_modules/@types/mdurl/decode.d.ts","../node_modules/@types/mdurl/parse.d.ts","../node_modules/@types/mdurl/format.d.ts","../node_modules/@types/mdurl/index.d.ts","../node_modules/@types/markdown-it/lib/common/utils.d.ts","../node_modules/@types/markdown-it/lib/token.d.ts","../node_modules/@types/markdown-it/lib/rules_inline/state_inline.d.ts","../node_modules/@types/markdown-it/lib/helpers/parse_link_label.d.ts","../node_modules/@types/markdown-it/lib/helpers/parse_link_destination.d.ts","../node_modules/@types/markdown-it/lib/helpers/parse_link_title.d.ts","../node_modules/@types/markdown-it/lib/helpers/index.d.ts","../node_modules/@types/markdown-it/lib/ruler.d.ts","../node_modules/@types/markdown-it/lib/rules_block/state_block.d.ts","../node_modules/@types/markdown-it/lib/parser_block.d.ts","../node_modules/@types/markdown-it/lib/rules_core/state_core.d.ts","../node_modules/@types/markdown-it/lib/parser_core.d.ts","../node_modules/@types/markdown-it/lib/parser_inline.d.ts","../node_modules/@types/markdown-it/lib/renderer.d.ts","../node_modules/@types/markdown-it/lib/index.d.ts","../node_modules/@types/markdown-it/index.d.ts","../node_modules/@types/minimist/index.d.ts","../node_modules/@types/normalize-package-data/index.d.ts","../node_modules/@types/parse-json/index.d.ts","../node_modules/@types/prettier/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"89f78430e422a0f06d13019d60d5a45b37ec2d28e67eb647f73b1b0d19a46b72","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","2cc028cd0bdb35b1b5eb723d84666a255933fffbea607f72cbd0c7c7b4bee144",{"version":"abba1071bfd89e55e88a054b0c851ea3e8a494c340d0f3fab19eb18f6afb0c9e","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"4378fc8122ec9d1a685b01eb66c46f62aba6b239ca7228bb6483bcf8259ee493","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"d071129cba6a5f2700be09c86c07ad2791ab67d4e5ed1eb301d6746c62745ea4","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"e8c9f4e445a489991ca1a4232667de3ac36b07ba75ea335971fbeacf2d26fe67","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"b09ed0465e2c4244a8225c322941182fbd64101dac77c76ea96ffb3797364937","6d6b07e437b620687741ea220c757e794bf218caf4251315b3e56e2e362370e1","4045e7e1708461cebbe1f34edd75fd8d9ce85ec4183dffe9dc4e7fbeca352465","eabab93ca9a786745af72195153280e883d8e36df9829ecf8b2f539824d042be","d3ed0bdc7460d95a90732872f2861a60f064318b8bad8ad4432d1c04e825c3e4","681f35c141c7a6201d5ffc038fbc28e46fb7a8702fc52b29d2d2dc7ca03328c2","cdb9451988aef334a797bc31eed3235d7b471a6e013bd2ccc92fbf89a535f4d7","8cedbf274baeb7b06233ee4adce9da566fc4c496d88b3fc6dbb58e27b7b90f58","f74b7a54220bc565c738b824fdc2f063ca727001ee9f332d5c399bc59071611f","c7f940a988e13a3948197c3448e896087f598a5a4c7814030d1e54332043d1af","55518514e8bff9cebd363d735c3e85ba1c6f7588c9f320dbc1d565086ef2fc48","9f7e239f4945672307c7d4403aa22bfe3d03f438fa072d7f158095f7df724e9f","7c5073d67f4f2546f368fe635573cfe6de977ed82318d01be15cee4c76c81199","7428869b608e55da6957d000ef9af727ec7424ebef7d2accc3901287c588b5e5","ddef4fa1fd835adfae5660c6c98b24b602fbb65db1e2570fa5d9e947ad5cb17f","e7fb389e0c13e2120c9a8c824ddfabe18e56c316e53e66072e8d86e0610791e6","1b1bd699dfd3c316e64d0d40ce6e35265c24d25a18f6a4505904a0cc21f1ff67","8441a2b8098131edeec9b5092ae81903938a8c3ec8871de2502decff35ccda50","7dbf615f4a2003faa46d93052c7abaa635aa541e266090b0b2350f40f3ae3242","9575d7cfbd601fda04531bb7a10dcc68529554c484e93e5f85a39e2101988612","d91ebb09c2ae0cf320b66c42db3811e4cc8a8ebfc63c3b1e0ee0085cf1fa51ef","b044fccf84b0f5c7cd8a1800a2ef0a7b740c062245823ce009265f4db3942623","97e85df57e051301f940bad38a1e521bf4bd5e98da75554223cd30b0126b29f3","7c717290cb697d86874835037c8aab715d9477e7377c2a53198f2093c0addb2a","e285d39bd2590bf6e30dc326b513ffbc6e7ca2d67fcd94f2761e7f54cfa46dfc","d0d504c82b2a5d2bf48b951a5502ac7284ed974e3249a4fd1c795522c11d9a0d","168eef670afa53e786ccb6afbf3cb78457ff6cc90064e80f0bc5da96cffda665","5651b6955a71b3733260dcf5f7d90f9d648d70b0c1fe24ff8bdcda589f60cbff","36ef474db058911c62a48e6137965cb1dbbdef6a5c97b6887795984d9ee53afb","f416e94790298bdfb37bdc8adb84239880af9224fb1c8513386a6e380aee805d","22af4d26bffe0e8c6c84e9d0d524d9cf770475365ca1c87467dbadd472c90b87","79ce4bd3aabe9f6232bbf25eeaad9994ca94f416139224ebb01085e5ec8290af","fef0f40e32a9e21e58a8ed60607caa0037e55c4c6fe3c842a5c3bd54888f9afa","aebf66a3565c822b77a0c63280f3b07ef3040c985cfea54ad60e91f93b171ab9","aaed09d856decdec134bd8c26a6cbf7d2584bf80c9e89c44c97e267b394b471b","6e18d45952d633c80a1d3a18171aa4a99d3dd0a1615ac2fd88fa93ec01d18ae8","ea4676f9da6673aa1835921f4d9ade3c9fa36a874633b9b90c3dbcde901da3a2","d110ef7cb005b60066855a3d0613dcb33e78c88ab48f1a94be49d8670d9b5496","f3eced93d63b305dd25c3bc0f550921dda3e40acab73276a929e9d01afe44ffe","236a8048bc96944178f7459a0533cc3002e4f923a5f9bca88834d0d2a9290483","d5a60529c38f737d3567074f9a4ec7e4da7759df10912cad6f3d8bdbe662e9a1","4334f5fea672cd97484fa8ef470e5656d0f1bfcc48af553b7f1565bd46f96497","22b6cddb5322bfe32a890fdd3f3a06264d1539f892e3a4f6dbf6f3aa8135883f","3da82fc6ac4649060e524e8bce0b8ba8fe9b17716961f859d30df03734841211","f29e54511f37f6b0c8fa2825db6498afb9ffe2ab828ea6e692b68529cdba7482","437b16e89921dc25ab6313e6685d08c6de6a7df806ff0ffd83596116cb69a0ca","6028cfd2497f620b82b9e75502d3ae11dbb22b87286e2f21859cd5818f75ce9e","543771e77174eda3343f06a7edd0af8b044d83ac8b5e73ec7fbe576fa090d4a2","3134088754c10c988c58ad5cc63b6746e390d72c14a89d73a56100656925b532","95f782b13666a491781b662afacf326f2733f44d8e69a3302ef6e8f30e5784e4","b26659455eb3489593a2bc52a3db4ba638ac626b3a6b2c487c60616846eb33bb","3eba383986313232108bd804db31b71f60367732f6bb08b0a595089efb8f2652","0421ecd58522337c4659fd264eaa659281f494811728c6c9cb873f027719e9d8","5997a6356ec3bca0376b56cd4273adff367934c192e80acb9ca84b2a141727be","fa51e795c197f47e1637261e029249887cd04c36ca9b811d08af8604d8691dc8","d49cc486d093e5e8ae1c26ab9ef34ff6aa3b370173b72a8c7f26d5405abbd896","eb01a7a34a9801b025e68ffcfeba35878026ef0aed36c5d5c1167c27509e68ba","60935703b458c8c407471d3a87112e7733cae17198cf1fa254020c0ffed85b1d","eeabb4e164fe8fbc0caf6afec094230498edc84e7239a3ad38b9c9255b36f80b","e6c450d02573f08e0b7253cbfadd93855c2353344e38b0681c06d44c3caaa6a3","cae3abdc49bdbbefe16879b9e0e08a7c1c8cd2864b7d64645dff1112901145ba","301c604c264389f8f6b4911830488dade60db491489c53b8e7f782616e2b9385","37f92d1fb75f356fcb796bd0dcb65a8a49c93676c1804c13649a690abdd6f2a3","bad7ce18863ea540ea1b6a908f14bb407eeb8ba629f5daed791740cf6512c10e","bc75aa14918b32aab1b84c9f036e0d0636a67a34d87a5c9b8663a43434cb46bf","d9de6be7ea546933d744a8f6c222ce18f840a68cddc8eac8c5a4af37fbc6d802","06511a15f80ee05b40d987fe15532069416e8276d6cd0b0112e6bf058c975ffe","880787c9fb1ef2e540e1f3316ef53d3fb3ce65fc286afc7a060532e8996d475d","f7cd03b1e878621ae53bb9b2898d8cf3e13e79659d544baf0f5a6a39129426a5","9ca70efd76c176145bedb96c56bb726a09b639089f8dedc48a0891be41af29f8","67426c8c5bfb212bd166d5e9418344563c0a87b6f88dd15b9eb7a8d85b763461","f967fb1409dcf8a09eb7cfe815797c33df09a983f1cc28312d78f337791b5110","e68649aeefad399668a19be92e2a47aaf4f7e92818404f781e988834e52026ea","ee621a22b03038e415f92f1a0535c86d7e6f942cba9cd2ccf60b49442fbd142e","372026b0cf2ec3a8d6fe0ff9658056b406389495792369a86cdb38baa6b5e98a","c351c2643b4dc6b14e48d3b522c7f5f0f72e921c2dcb8e4065af9dc60bd3f340","48804ad35e59cf09264d957844fd04d808498e2f9ed88b9e00e133e8790ccd48","b54f75eaf5378372e262502f6070689f1e6377a4a20c2db99094f15e59df995d","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"48d40223f385f00deb112cbc469ddf33e78bd746f6a88d05577f9f75dd614545","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","98a3ebfa494b46265634a73459050befba5da8fdc6ca0ef9b7269421780f4ff3","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"7a5459efa09ea82088234e6533a203d528c594b01787fb90fba148885a36e8b6","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"8207e7e6db9aa5fc7e61c8f17ba74cf9c115d26f51f91ee93f790815a7ea9dfb","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"cfe724f7c694aab65a9bdd1acb05997848c504548c9d4c71645c187a091cfa2a","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","e383ff72aabf294913f8c346f5da1445ae6ad525836d28efd52cbadc01a361a6","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"0c5004386ed814334d2d4abd1d8f2f0b63ea2134d5717d8fb2fb8aabc05288ef","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","ee20d6364acdfe569d2a3e97d1e2a062d64d8b658fa117037a0b2215abd7f163","68f396981b185f29d6b50ecf324ed778634ee3d116c4449d8e86dcc24e1ffc50","b609cff0c21eb62a3db355a78401a6b4156ca9f81e8f66fa124dbd7d621e431d","7082bbd9e3242882548d75372306563e93341efcd5bb5e3e33489149c96f630f","9545236beb9005ac151907c31c40d2a0f8dd6a994eacef776f6eb1b20c976ef0","39f637343b6099f34e552889b86f75c5111b0e703a357b26020be597147ef0ee","2f0041c6adf2c6cf9d46fb37ef43e380e510cc57515d22bea7242d688427ad88","2597d1a0fd5936d48a2a6e2ff30e05deae45453b375e2a7b27a1f8f98b0152ae","77e1496212fab1d809ed2299a5b3d3f8af3e9cb949c9ab0e12d459295a4af43f","069dbe639ca75f89a1535df828e4cd6bf86b98ee9b18b7e72908d926dd6b9cb5","012a04966bcb8a6f522ccd21f6efac3d837f3ea806c55b5849556aad22777f38","c928bb9d9f991e1065e1bdc5658e146279d1467607cd56fe2db448adca9096aa","a81683ba5cc835d0ab780081ee8518cc41f8b1c7212e761ce049f7d21f71a9cf","dd048aab116cd22cacce0644edd45ae889c6e46c6c93bc6e94c0d197f95b5fef","46583f7db81f3bd241cf8479fa24ab09708193e7cfa3286776bd2775c227091e","353832b3e859d4019811d88fa8da794194bd8ea09ff8967e8fb4738792675375","cb45d233f615118a01d16219c8a6053a5d4591450939d7688279169b1f493335","95f916c418e7620915be77b4a3e8538a123d86271c07ad29696ae70bd36ab027","6d359d11ea7014615ef37df4d5665572d6e1d69e1aa5c270331d325a96a78929","f76c5f8e4fa90351a2ef56a52fecf4789159ca2c9a3dda60fa4748afb753a9a5","83ae3bb16964e60b70886a5b1ad692b0d583a2befdb88326ec5189861cc92579","129549720e0865d0729b12d7306362f2598b8b2cf2c2d6d274b68ba2a57b6c3d","f2fa1bd2b75b3e1b55820f12ca78d79e06a7cbb4809558f1f0da0a6fd284612b","a938575014d7ad126c345b04a672a75d2392fcdfdfde9a9172184aee007f7626","38ab85fde9ee590140b80fe53c3aad29b5a8b9fb716b04e3840f87597ace91b3","fcdeffec255ff22f67a7ccf7b1284f5613001ab86bdf5f6891a871551d0704cf","b13715eda434461367e0dc0d7374f313631e02b3fd5b03a299ac6b223312b802","c6196a8bb53c3bca8185c25a4319c7a60a3614b7b0475621c561e89860a4df59","7001d2b80d3339eb8e77d65f1c67451f732744877a1e96c4a992638fcce81842","3103df94f61695e93f42896943943f8005a32821ce2ccbc1233a78c27ac82474","7cb88fd6166603b5ac26c4e6d4942dffbb582e455f58c716cf8ed834ea798c25","ff2a97a498375957837920ddb6c6b952671704a9e4a529b4e57ff41b0c3b108d","e9317d2e5b9669e24243581dc6b483104a9dce9e8540f908da3ebda5eb156c78","6d71329217a5c35039583cb7e1425dc5893269c77b4dec694f0bf10aa99c4445","adf35bb26ba990d31d56cbaca26065945a5b61da3ded825d76154a7e71562db0","3f4c82ab3f26e9eb628a83d7e059a3b0728aaab52899095a834da4805867e297","9964ce12b3121e4944be8060508b339abe82d8922c47ee84ee2b9abf4672bba7","59458ea92342a71f39c628869517f7a6254cc2f7e15be4824a7a75de18643d6e","1504f8a2a0a727699dfc07d9c8e053b8a3e344e6decb85df560105bfa8162665","9999f19b1575a8bf8904296ed69d0f863158e5a49552b4b3de5fc455a1910056","da66c50b95c216a2712097b5c8b54e8ea91ae848b9d0f4230e4ffde8547ff0ff","7bcea2b8403c8117996372a55822d8c34392e768928109fbc6ec0468b24e9ff6","da230f266ce38fc369dae26682930dd8e7027e4b95f1e8d7d072575e18f6730b","22216212714cf42ee3bd2d9d787b4ea61f3dc3d536d2d28a5ab2ce55b72986df","df563ba4312d3a8805ba562826f9a4b5ccc1141f413a5fe226c5e6b6d24099ac","877f859a97ab535b9ff7d58bbec0912314400bfae7e01447d7a71dab5815ea92","ae36523ea4e851aaea491c78e7b97b5c93f92d368777fa08dd1f52d0f5f55d00","75c6c689bb0e672761abb7bee23a87f85ef5a146f323c5609ed7f869cd5ec8e3","a9f213d3b411f5b456f24492ac7d2fa152b352fe260378aa0b70aad113471de6","d27fed479315d001ac02cecdd518280df39296a97b40f8374fe87bfe07b22671","d29f792b8365b947cfd0575e251552b2278a0292b2b7a5e70349cf04cf3ba459","2ff9995137f3e5d68971388ec58af0c79721626323884513f9f5e2e996ac1fdd","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","29afd3970c68fdcbf3168de0f855d7cd84135c436050793b0584e1a904affe2d","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","3b043cf9a81854a72963fdb57d1884fc4da1cf5be69b5e0a4c5b751e58cb6d88","dd5647a9ccccb2b074dca8a02b00948ac293091ebe73fdf2e6e98f718819f669","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190",{"version":"6ff2ca51e2c9d88d6d904c481879b12ec0cad2a69b88e220859a52207444773b","affectsGlobalScope":true},"0359682c54e487c4cab2b53b2b4d35cc8dea4d9914bc6abcdb5701f8b8e745a4","6503fb6addf62f9b10f8564d9869ad824565a914ec1ac3dd7d13da14a3f57036","f313731860257325f13351575f381fef333d4dfe30daf5a2e72f894208feea08","951b37f7d86f6012f09e6b35f1de57c69d75f16908cb0adaa56b93675ea0b853","3816fc03ffd9cbd1a7a3362a264756a4a1d547caabea50ca68303046be40e376","0c417b4ec46b88fb62a43ec00204700b560d01eb5677c7faa8ecd34610f096a8","13d29cdeb64e8496424edf42749bbb47de5e42d201cf958911a4638cbcffbd3f","0f9e381eecc5860f693c31fe463b3ca20a64ca9b8db0cf6208cd4a053f064809","95902d5561c6aac5dfc40568a12b0aca324037749dcd32a81f23423bfde69bab","5dfb2aca4136abdc5a2740f14be8134a6e6b66fd53470bb2e954e40f8abfaf3e","577463167dd69bd81f76697dfc3f7b22b77a6152f60a602a9218e52e3183ad67","b8396e9024d554b611cbe31a024b176ba7116063d19354b5a02dccd8f0118989","4b28e1c5bf88d891e07a1403358b81a51b3ba2eae1ffada51cca7476b5ac6407","7150ad575d28bf98fae321a1c0f10ad17b127927811f488ded6ff1d88d4244e5","8b155c4757d197969553de3762c8d23d5866710301de41e1b66b97c9ed867003","93733466609dd8bf72eace502a24ca7574bd073d934216e628f1b615c8d3cb3c","45e9228761aabcadb79c82fb3008523db334491525bdb8e74e0f26eaf7a4f7f4","aeacac2778c9821512b6b889da79ac31606a863610c8f28da1e483579627bf90","569fdb354062fc098a6a3ba93a029edf22d6fe480cf72b231b3c07832b2e7c97","bf9876e62fb7f4237deafab8c7444770ef6e82b4cad2d5dc768664ff340feeb2","6cf60e76d37faf0fbc2f80a873eab0fd545f6b1bf300e7f0823f956ddb3083e9","6adaa6103086f931e3eee20f0987e86e8879e9d13aa6bd6075ccfc58b9c5681c","ee0af0f2b8d3b4d0baf669f2ff6fcef4a8816a473c894cc7c905029f7505fed0","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","501260c8b07a6e423fb6ebdea704e732ad529208e4fbbc517836fac8f8ae8895","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","f7e133b20ee2669b6c0e5d7f0cd510868c57cd64b283e68c7f598e30ce9d76d2","6ba73232c9d3267ca36ddb83e335d474d2c0e167481e3dec416c782894e11438"],"options":{"declaration":true,"declarationMap":true,"esModuleInterop":true,"inlineSources":true,"module":1,"outDir":"./","removeComments":false,"skipDefaultLibCheck":true,"skipLibCheck":true,"sourceMap":true,"strict":true,"target":8},"fileIdsList":[[167,226],[167],[49,113,121,166,167],[167,177,178,179,180,181,182,183],[167,179],[139,144,167,174,175,176,177,180],[139,167,174,175,176,178],[167,177],[167,177,181],[167,178],[113,156,167,185,203,204],[142,156,167],[167,187,188,189],[167,187],[167,226,227,228,229,230],[167,226,228],[140,167,174],[167,233],[167,234],[167,238,242],[167,265],[167,250],[167,254,255,256],[167,253],[167,255],[167,245,251,252,257,260,262,263,264],[167,252,258,259,265],[167,258,261],[167,252,253,258,265],[167,252,265],[167,246,247,248,249],[124,167],[127,167],[128,133,167],[129,139,140,147,156,166,167],[129,130,139,147,167],[131,167],[132,133,140,148,167],[133,156,163,167],[134,136,139,147,167],[135,167],[136,137,167],[138,139,167],[139,167],[139,140,141,156,166,167],[139,140,141,156,167],[142,147,156,166,167],[139,140,142,143,147,156,163,166,167],[142,144,156,163,166,167],[124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173],[139,145,167],[146,166,167],[136,139,147,156,167],[148,167],[149,167],[127,150,167],[151,165,167,171],[152,167],[153,167],[139,154,167],[154,155,167,169],[139,156,157,158,167],[156,158,167],[156,157,167],[159,167],[160,167],[139,161,162,167],[161,162,167],[133,147,156,163,167],[164,167],[147,165,167],[128,142,153,166,167],[133,167],[156,167,168],[167,169],[167,170],[128,133,139,141,150,156,166,167,169,171],[156,167,172],[139,142,144,156,163,166,167,172,174],[167,272],[49,91,108,109,167],[53,167],[53,54,167],[49,53,54,76,167],[49,53,54,167],[53,54,65,167],[53,54,63,167],[49,52,53,55,56,57,58,59,60,61,62,63,64,68,70,108,167],[49,52,68,70,76,82,167],[49,68,167],[49,167],[49,65,66,67,69,70,76,81,167],[108,167],[49,69,76,81,82,167],[70,74,76,167],[69,70,167],[68,108,113,167],[49,82,83,167],[49,50,75,76,78,80,81,82,85,167],[49,50,51,74,75,81,82,84,167],[49,50,82,167],[49,51,76,82,167],[49,50,51,75,76,77,78,79,80,82,167],[49,81,82,167],[50,51,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,107,167],[68,69,70,71,72,73,167],[76,78,80,81,82,84,167],[49,81,167],[49,82,167],[49,82,106,167],[49,108,167],[49,86,167],[49,91,108,167],[49,91,92,108,167],[49,91,113,167],[49,89,90,92,93,94,95,96,97,98,99,100,101,102,103,104,105,167],[91,97,108,167],[91,108,167],[49,106,108,110,111,112,167],[113,122,123,129,139,156,167,171,184,185,186,190],[113,167,191],[167,236,239],[167,236,239,240,241],[167,238],[167,237],[129,156,167,201,202],[156,167],[114,116,167],[115,116,119,167],[115,167],[121,167],[120,167],[114,115,116,117,118,167],[46,47,167,191,204,223,224],[167,223],[167,191,223],[46,48,167,191,214,223,224],[48,167,223],[48,167,203,205,219,223],[167,199,200,206,209,212,213],[167,191,214,223],[167,191,209,223],[167,207,208],[167,191,204,205,223],[167,191,205,209,212,223],[167,210,211],[167,192,193,214,219,222,224,225],[142,167,191,223],[142,144,166,167,191,223],[167,220,221],[167,191,219,223],[46,167,191,223],[47,167,223],[48,167,191,196,223],[167,194,195,196,197,198,215,216,217,218],[48,167,191,223],[139,166,167,191,205,223]],"referencedMap":[[228,1],[226,2],[122,3],[123,2],[184,4],[180,5],[178,6],[177,7],[181,8],[182,9],[183,10],[176,8],[179,10],[175,2],[205,11],[48,12],[46,2],[47,2],[190,13],[188,14],[187,2],[189,14],[231,15],[227,1],[229,16],[230,1],[232,17],[233,2],[234,18],[235,19],[243,20],[244,2],[245,2],[266,21],[251,22],[257,23],[255,2],[254,24],[256,25],[265,26],[260,27],[262,28],[263,29],[264,30],[258,2],[259,30],[261,30],[253,30],[252,2],[247,2],[246,2],[249,22],[250,31],[248,22],[267,2],[124,32],[125,32],[127,33],[128,34],[129,35],[130,36],[131,37],[132,38],[133,39],[134,40],[135,41],[136,42],[137,42],[138,43],[139,44],[140,45],[141,46],[126,2],[173,2],[142,47],[143,48],[144,49],[174,50],[145,51],[146,52],[147,53],[148,54],[149,55],[150,56],[151,57],[152,58],[153,59],[154,60],[155,61],[156,62],[158,63],[157,64],[159,65],[160,66],[161,67],[162,68],[163,69],[164,70],[165,71],[166,72],[167,73],[168,74],[169,75],[170,76],[171,77],[172,78],[268,2],[269,2],[270,2],[271,2],[185,79],[272,2],[273,80],[109,2],[110,81],[49,2],[54,82],[57,83],[59,84],[56,83],[61,85],[62,83],[60,85],[53,2],[55,83],[63,86],[64,87],[58,85],[65,88],[66,89],[52,90],[67,91],[68,92],[73,93],[70,94],[71,95],[72,96],[69,97],[84,98],[86,99],[76,100],[51,101],[77,102],[81,103],[80,104],[108,105],[74,106],[87,107],[88,2],[50,91],[78,108],[75,109],[83,109],[107,110],[82,108],[79,108],[85,111],[89,2],[90,112],[92,113],[93,113],[94,93],[95,114],[96,115],[106,116],[98,117],[99,111],[100,111],[101,113],[102,118],[103,118],[104,113],[105,93],[97,113],[111,2],[91,2],[112,93],[113,119],[191,120],[186,121],[236,2],[240,122],[242,123],[241,122],[239,124],[238,125],[237,2],[203,126],[201,127],[202,127],[204,2],[10,2],[12,2],[11,2],[2,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[3,2],[4,2],[24,2],[21,2],[22,2],[23,2],[25,2],[26,2],[27,2],[5,2],[28,2],[29,2],[30,2],[31,2],[6,2],[32,2],[33,2],[34,2],[35,2],[7,2],[40,2],[36,2],[37,2],[38,2],[39,2],[8,2],[44,2],[41,2],[42,2],[43,2],[1,2],[9,2],[45,2],[115,128],[120,129],[117,2],[116,130],[118,131],[114,2],[121,132],[119,133],[225,134],[193,135],[200,136],[213,137],[199,138],[206,139],[214,140],[207,141],[208,142],[209,143],[210,144],[211,145],[212,146],[223,147],[220,148],[221,149],[222,150],[217,151],[194,2],[218,151],[196,152],[216,136],[215,141],[197,153],[198,154],[195,2],[219,155],[192,156],[224,157]],"exportedModulesMap":[[228,1],[226,2],[122,3],[123,2],[184,4],[180,5],[178,6],[177,7],[181,8],[182,9],[183,10],[176,8],[179,10],[175,2],[205,11],[48,12],[46,2],[47,2],[190,13],[188,14],[187,2],[189,14],[231,15],[227,1],[229,16],[230,1],[232,17],[233,2],[234,18],[235,19],[243,20],[244,2],[245,2],[266,21],[251,22],[257,23],[255,2],[254,24],[256,25],[265,26],[260,27],[262,28],[263,29],[264,30],[258,2],[259,30],[261,30],[253,30],[252,2],[247,2],[246,2],[249,22],[250,31],[248,22],[267,2],[124,32],[125,32],[127,33],[128,34],[129,35],[130,36],[131,37],[132,38],[133,39],[134,40],[135,41],[136,42],[137,42],[138,43],[139,44],[140,45],[141,46],[126,2],[173,2],[142,47],[143,48],[144,49],[174,50],[145,51],[146,52],[147,53],[148,54],[149,55],[150,56],[151,57],[152,58],[153,59],[154,60],[155,61],[156,62],[158,63],[157,64],[159,65],[160,66],[161,67],[162,68],[163,69],[164,70],[165,71],[166,72],[167,73],[168,74],[169,75],[170,76],[171,77],[172,78],[268,2],[269,2],[270,2],[271,2],[185,79],[272,2],[273,80],[109,2],[110,81],[49,2],[54,82],[57,83],[59,84],[56,83],[61,85],[62,83],[60,85],[53,2],[55,83],[63,86],[64,87],[58,85],[65,88],[66,89],[52,90],[67,91],[68,92],[73,93],[70,94],[71,95],[72,96],[69,97],[84,98],[86,99],[76,100],[51,101],[77,102],[81,103],[80,104],[108,105],[74,106],[87,107],[88,2],[50,91],[78,108],[75,109],[83,109],[107,110],[82,108],[79,108],[85,111],[89,2],[90,112],[92,113],[93,113],[94,93],[95,114],[96,115],[106,116],[98,117],[99,111],[100,111],[101,113],[102,118],[103,118],[104,113],[105,93],[97,113],[111,2],[91,2],[112,93],[113,119],[191,120],[186,121],[236,2],[240,122],[242,123],[241,122],[239,124],[238,125],[237,2],[203,126],[201,127],[202,127],[204,2],[10,2],[12,2],[11,2],[2,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[3,2],[4,2],[24,2],[21,2],[22,2],[23,2],[25,2],[26,2],[27,2],[5,2],[28,2],[29,2],[30,2],[31,2],[6,2],[32,2],[33,2],[34,2],[35,2],[7,2],[40,2],[36,2],[37,2],[38,2],[39,2],[8,2],[44,2],[41,2],[42,2],[43,2],[1,2],[9,2],[45,2],[115,128],[120,129],[117,2],[116,130],[118,131],[114,2],[121,132],[119,133],[225,134],[193,135],[200,136],[213,137],[199,138],[206,139],[214,140],[207,141],[208,142],[209,143],[210,144],[211,145],[212,146],[223,147],[220,148],[221,149],[222,150],[217,151],[194,2],[218,151],[196,152],[216,136],[215,141],[197,153],[198,154],[195,2],[219,155],[192,156],[224,157]],"semanticDiagnosticsPerFile":[228,226,122,123,184,180,178,177,181,182,183,176,179,175,205,48,46,47,190,188,187,189,231,227,229,230,232,233,234,235,243,244,245,266,251,257,255,254,256,265,260,262,263,264,258,259,261,253,252,247,246,249,250,248,267,124,125,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,126,173,142,143,144,174,145,146,147,148,149,150,151,152,153,154,155,156,158,157,159,160,161,162,163,164,165,166,167,168,169,170,171,172,268,269,270,271,185,272,273,109,110,49,54,57,59,56,61,62,60,53,55,63,64,58,65,66,52,67,68,73,70,71,72,69,84,86,76,51,77,81,80,108,74,87,88,50,78,75,83,107,82,79,85,89,90,92,93,94,95,96,106,98,99,100,101,102,103,104,105,97,111,91,112,113,191,186,236,240,242,241,239,238,237,203,201,202,204,10,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,32,33,34,35,7,40,36,37,38,39,8,44,41,42,43,1,9,45,115,120,117,116,118,114,121,119,225,193,200,213,199,206,214,207,208,209,210,211,212,223,220,221,222,217,194,218,196,216,215,197,198,195,219,192,224]},"version":"4.5.5"}
package/dist/type.d.ts DELETED
@@ -1,169 +0,0 @@
1
- import type ytdl from "@distube/ytdl-core";
2
- import type { CustomPlugin, DisTubeVoice, ExtractorPlugin, Playlist, Queue, SearchResult, Song } from ".";
3
- import type { Guild, GuildMember, GuildTextBasedChannel, Interaction, Message, Snowflake, User, VoiceBasedChannel, VoiceState } from "discord.js";
4
- export declare type Awaitable<T = any> = T | PromiseLike<T>;
5
- export declare type DisTubeVoiceEvents = {
6
- disconnect: (error?: Error) => Awaitable;
7
- error: (error: Error) => Awaitable;
8
- finish: () => Awaitable;
9
- };
10
- export declare type DisTubeEvents = {
11
- /** Emitted when DisTube encounters an error. */
12
- error: (channel: GuildTextBasedChannel, error: Error) => Awaitable;
13
- /** Emitted after DisTube add a new playlist to the playing {@link Queue}. */
14
- addList: (queue: Queue, playlist: Playlist) => Awaitable;
15
- /** Emitted after DisTube add a new song to the playing {@link Queue}. */
16
- addSong: (queue: Queue, song: Song) => Awaitable;
17
- /**
18
- * Emitted when DisTube play a song.
19
- *
20
- * If {@link DisTubeOptions.emitNewSongOnly} is `true`,
21
- * this event is not emitted when looping a song or next song is the previous one.
22
- */
23
- playSong: (queue: Queue, song: Song) => Awaitable;
24
- /** Emitted when DisTube finished a song. */
25
- finishSong: (queue: Queue, song: Song) => Awaitable;
26
- /**
27
- * Emitted when there is no user in the voice channel,
28
- * {@link DisTubeOptions.leaveOnEmpty} is `true` and there is a playing queue.
29
- *
30
- * If there is no playing queue (stopped and {@link DisTubeOptions.leaveOnStop} is `false`),
31
- * it will leave the channel without emitting this event.
32
- */
33
- empty: (queue: Queue) => Awaitable;
34
- /**
35
- * Emitted when there is no more song in the queue and {@link Queue#autoplay} is `false`.
36
- * DisTube will leave voice channel if {@link DisTubeOptions.leaveOnFinish} is `true`.
37
- */
38
- finish: (queue: Queue) => Awaitable;
39
- /** Emitted when DisTube initialize a queue to change queue default properties. */
40
- initQueue: (queue: Queue) => Awaitable;
41
- /**
42
- * Emitted when {@link Queue#autoplay} is `true`, {@link Queue#songs} is empty,
43
- * and DisTube cannot find related songs to play.
44
- */
45
- noRelated: (queue: Queue) => Awaitable;
46
- /** Emitted when the bot is disconnected to a voice channel. */
47
- disconnect: (queue: Queue) => Awaitable;
48
- /** Emitted when a {@link Queue} is deleted with any reasons. */
49
- deleteQueue: (queue: Queue) => Awaitable;
50
- /**
51
- * Emitted when {@link DisTubeOptions.searchSongs} bigger than 0,
52
- * and the search canceled due to {@link DisTubeOptions.searchTimeout}.
53
- */
54
- searchCancel: (message: Message<true>, query: string) => Awaitable;
55
- /** Emitted when DisTube cannot find any results for the query. */
56
- searchNoResult: (message: Message<true>, query: string) => Awaitable;
57
- /**
58
- * Emitted when {@link DisTubeOptions.searchSongs} bigger than 0,
59
- * and after the user chose a search result to play.
60
- */
61
- searchDone: (message: Message<true>, answer: Message<true>, query: string) => Awaitable;
62
- /**
63
- * Emitted when {@link DisTubeOptions.searchSongs} bigger than 0,
64
- * and the search canceled due to user's next message is not a number or out of results range.
65
- */
66
- searchInvalidAnswer: (message: Message<true>, answer: Message<true>, query: string) => Awaitable;
67
- /**
68
- * Emitted when {@link DisTubeOptions.searchSongs} bigger than 0,
69
- * and song param of {@link DisTube#play} is invalid url.
70
- * DisTube will wait for user's next message to choose a song manually.
71
- *
72
- * Safe search is enabled
73
- * if {@link DisTubeOptions.nsfw} is disabled and the message's channel is not a nsfw channel.
74
- */
75
- searchResult: (message: Message<true>, results: SearchResult[], query: string) => Awaitable;
76
- };
77
- export declare type Filters = Record<string, string>;
78
- export interface DisTubeOptions {
79
- plugins?: (CustomPlugin | ExtractorPlugin)[];
80
- emitNewSongOnly?: boolean;
81
- leaveOnFinish?: boolean;
82
- leaveOnStop?: boolean;
83
- leaveOnEmpty?: boolean;
84
- emptyCooldown?: number;
85
- savePreviousSongs?: boolean;
86
- searchSongs?: number;
87
- searchCooldown?: number;
88
- youtubeCookie?: string;
89
- youtubeIdentityToken?: string;
90
- customFilters?: Filters;
91
- ytdlOptions?: ytdl.downloadOptions;
92
- nsfw?: boolean;
93
- emitAddSongWhenCreatingQueue?: boolean;
94
- emitAddListWhenCreatingQueue?: boolean;
95
- }
96
- export declare type GuildIdResolvable = Queue | DisTubeVoice | Snowflake | Message | GuildTextBasedChannel | VoiceBasedChannel | VoiceState | Guild | GuildMember | Interaction | string;
97
- export interface OtherSongInfo {
98
- src?: string;
99
- id?: string;
100
- title?: string;
101
- name?: string;
102
- is_live?: boolean;
103
- isLive?: boolean;
104
- _duration_raw?: string | number;
105
- duration?: string | number;
106
- webpage_url?: string;
107
- url: string;
108
- thumbnail?: string;
109
- related?: RelatedSong[];
110
- view_count?: string | number;
111
- views?: string | number;
112
- like_count?: string | number;
113
- likes?: string | number;
114
- dislike_count?: string | number;
115
- dislikes?: string | number;
116
- repost_count?: string | number;
117
- reposts?: string | number;
118
- uploader?: string | {
119
- name: string;
120
- url: string;
121
- };
122
- uploader_url?: string;
123
- age_limit?: string | number;
124
- chapters?: Chapter[];
125
- age_restricted?: boolean;
126
- }
127
- export interface Chapter {
128
- /** Chapter title */
129
- title: string;
130
- /** Chapter start time in seconds */
131
- start_time: number;
132
- }
133
- export interface PlaylistInfo {
134
- /** The source of the playlist */
135
- source: string;
136
- /**
137
- * User requested.
138
- */
139
- member?: GuildMember;
140
- /**
141
- * User requested.
142
- */
143
- user?: User;
144
- /** Playlist songs. */
145
- songs: Song[];
146
- /**
147
- * Playlist name.
148
- */
149
- name?: string;
150
- /**
151
- * Playlist URL.
152
- */
153
- url?: string;
154
- /**
155
- * Playlist thumbnail.
156
- */
157
- thumbnail?: string;
158
- }
159
- export declare type RelatedSong = Omit<Song, "related">;
160
- export interface CustomPluginPlayOptions {
161
- skip?: boolean;
162
- /** @deprecated Use `options.position` instead */
163
- unshift?: boolean;
164
- position?: number;
165
- member?: GuildMember;
166
- textChannel?: GuildTextBasedChannel;
167
- metadata?: any;
168
- }
169
- //# sourceMappingURL=type.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"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"}
package/dist/type.js DELETED
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=type.js.map
package/dist/type.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"","sourcesContent":["import type ytdl from \"@distube/ytdl-core\";\nimport type { CustomPlugin, DisTubeVoice, ExtractorPlugin, Playlist, Queue, SearchResult, Song } from \".\";\nimport type {\n Guild,\n GuildMember,\n GuildTextBasedChannel,\n Interaction,\n Message,\n Snowflake,\n User,\n VoiceBasedChannel,\n VoiceState,\n} from \"discord.js\";\n\nexport type Awaitable<T = any> = T | PromiseLike<T>;\n\nexport type DisTubeVoiceEvents = {\n disconnect: (error?: Error) => Awaitable;\n error: (error: Error) => Awaitable;\n finish: () => Awaitable;\n};\n\nexport type DisTubeEvents = {\n /** Emitted when DisTube encounters an error. */\n error: (channel: GuildTextBasedChannel, error: Error) => Awaitable;\n /** Emitted after DisTube add a new playlist to the playing {@link Queue}. */\n addList: (queue: Queue, playlist: Playlist) => Awaitable;\n /** Emitted after DisTube add a new song to the playing {@link Queue}. */\n addSong: (queue: Queue, song: Song) => Awaitable;\n /**\n * Emitted when DisTube play a song.\n *\n * If {@link DisTubeOptions.emitNewSongOnly} is `true`,\n * this event is not emitted when looping a song or next song is the previous one.\n */\n playSong: (queue: Queue, song: Song) => Awaitable;\n /** Emitted when DisTube finished a song. */\n finishSong: (queue: Queue, song: Song) => Awaitable;\n\n /**\n * Emitted when there is no user in the voice channel,\n * {@link DisTubeOptions.leaveOnEmpty} is `true` and there is a playing queue.\n *\n * If there is no playing queue (stopped and {@link DisTubeOptions.leaveOnStop} is `false`),\n * it will leave the channel without emitting this event.\n */\n empty: (queue: Queue) => Awaitable;\n /**\n * Emitted when there is no more song in the queue and {@link Queue#autoplay} is `false`.\n * DisTube will leave voice channel if {@link DisTubeOptions.leaveOnFinish} is `true`.\n */\n finish: (queue: Queue) => Awaitable;\n /** Emitted when DisTube initialize a queue to change queue default properties. */\n initQueue: (queue: Queue) => Awaitable;\n /**\n * Emitted when {@link Queue#autoplay} is `true`, {@link Queue#songs} is empty,\n * and DisTube cannot find related songs to play.\n */\n noRelated: (queue: Queue) => Awaitable;\n /** Emitted when the bot is disconnected to a voice channel. */\n disconnect: (queue: Queue) => Awaitable;\n /** Emitted when a {@link Queue} is deleted with any reasons. */\n deleteQueue: (queue: Queue) => Awaitable;\n\n /**\n * Emitted when {@link DisTubeOptions.searchSongs} bigger than 0,\n * and the search canceled due to {@link DisTubeOptions.searchTimeout}.\n */\n searchCancel: (message: Message<true>, query: string) => Awaitable;\n /** Emitted when DisTube cannot find any results for the query. */\n searchNoResult: (message: Message<true>, query: string) => Awaitable;\n\n /**\n * Emitted when {@link DisTubeOptions.searchSongs} bigger than 0,\n * and after the user chose a search result to play.\n */\n searchDone: (message: Message<true>, answer: Message<true>, query: string) => Awaitable;\n /**\n * Emitted when {@link DisTubeOptions.searchSongs} bigger than 0,\n * and the search canceled due to user's next message is not a number or out of results range.\n */\n searchInvalidAnswer: (message: Message<true>, answer: Message<true>, query: string) => Awaitable;\n /**\n * Emitted when {@link DisTubeOptions.searchSongs} bigger than 0,\n * and song param of {@link DisTube#play} is invalid url.\n * DisTube will wait for user's next message to choose a song manually.\n *\n * Safe search is enabled\n * if {@link DisTubeOptions.nsfw} is disabled and the message's channel is not a nsfw channel.\n */\n searchResult: (message: Message<true>, results: SearchResult[], query: string) => Awaitable;\n};\n\nexport type Filters = Record<string, string>;\n\nexport interface DisTubeOptions {\n plugins?: (CustomPlugin | ExtractorPlugin)[];\n emitNewSongOnly?: boolean;\n leaveOnFinish?: boolean;\n leaveOnStop?: boolean;\n leaveOnEmpty?: boolean;\n emptyCooldown?: number;\n savePreviousSongs?: boolean;\n searchSongs?: number;\n searchCooldown?: number;\n youtubeCookie?: string;\n youtubeIdentityToken?: string;\n customFilters?: Filters;\n ytdlOptions?: ytdl.downloadOptions;\n nsfw?: boolean;\n emitAddSongWhenCreatingQueue?: boolean;\n emitAddListWhenCreatingQueue?: boolean;\n}\n\nexport type GuildIdResolvable =\n | Queue\n | DisTubeVoice\n | Snowflake\n | Message\n | GuildTextBasedChannel\n | VoiceBasedChannel\n | VoiceState\n | Guild\n | GuildMember\n | Interaction\n | string;\n\nexport interface OtherSongInfo {\n src?: string;\n id?: string;\n title?: string;\n name?: string;\n is_live?: boolean;\n isLive?: boolean;\n _duration_raw?: string | number;\n duration?: string | number;\n webpage_url?: string;\n url: string;\n thumbnail?: string;\n related?: RelatedSong[];\n view_count?: string | number;\n views?: string | number;\n like_count?: string | number;\n likes?: string | number;\n dislike_count?: string | number;\n dislikes?: string | number;\n repost_count?: string | number;\n reposts?: string | number;\n uploader?: string | { name: string; url: string };\n uploader_url?: string;\n age_limit?: string | number;\n chapters?: Chapter[];\n age_restricted?: boolean;\n}\n\nexport interface Chapter {\n /** Chapter title */\n title: string;\n /** Chapter start time in seconds */\n start_time: number;\n}\n\nexport interface PlaylistInfo {\n /** The source of the playlist */\n source: string;\n /**\n * User requested.\n */\n member?: GuildMember;\n /**\n * User requested.\n */\n user?: User;\n /** Playlist songs. */\n songs: Song[];\n /**\n * Playlist name.\n */\n name?: string;\n /**\n * Playlist URL.\n */\n url?: string;\n /**\n * Playlist thumbnail.\n */\n thumbnail?: string;\n}\n\nexport type RelatedSong = Omit<Song, \"related\">;\n\nexport interface CustomPluginPlayOptions {\n skip?: boolean;\n /** @deprecated Use `options.position` instead */\n unshift?: boolean;\n position?: number;\n member?: GuildMember;\n textChannel?: GuildTextBasedChannel;\n metadata?: any;\n}\n"]}
package/dist/util.d.ts DELETED
@@ -1,51 +0,0 @@
1
- import type { GuildIdResolvable } from ".";
2
- import type { AudioPlayer, AudioPlayerStatus, VoiceConnection, VoiceConnectionStatus } from "@discordjs/voice";
3
- import type { Client, ClientOptions, Guild, GuildMember, GuildTextBasedChannel, Message, Snowflake, VoiceBasedChannel, VoiceState } from "discord.js";
4
- /**
5
- * Format duration to string
6
- * @param {number} sec Duration in seconds
7
- * @returns {string}
8
- */
9
- export declare function formatDuration(sec: number): string;
10
- /**
11
- * Convert formatted duration to seconds
12
- * @param {*} input Formatted duration string
13
- * @returns {number}
14
- */
15
- export declare function toSecond(input: any): number;
16
- /**
17
- * Parse number from input
18
- * @param {*} input Any
19
- * @returns {number}
20
- */
21
- export declare function parseNumber(input: any): number;
22
- /**
23
- * Check if the string is an URL
24
- * @param {string} input input
25
- * @returns {boolean}
26
- */
27
- export declare function isURL(input: any): boolean;
28
- /**
29
- * Check if the Client has enough intents to using DisTube
30
- * @param {ClientOptions} options options
31
- */
32
- export declare function checkIntents(options: ClientOptions): void;
33
- /**
34
- * Check if the voice channel is empty
35
- * @param {Discord.VoiceState} voiceState voiceState
36
- * @returns {boolean}
37
- */
38
- export declare function isVoiceChannelEmpty(voiceState: VoiceState): boolean;
39
- export declare function isSnowflake(id: any): id is Snowflake;
40
- export declare function isMemberInstance(member: any): member is GuildMember;
41
- export declare function isTextChannelInstance(channel: any): channel is GuildTextBasedChannel;
42
- export declare function isMessageInstance(message: any): message is Message<true>;
43
- export declare function isSupportedVoiceChannel(channel: any): channel is VoiceBasedChannel;
44
- export declare function isGuildInstance(guild: any): guild is Guild;
45
- export declare function resolveGuildId(resolvable: GuildIdResolvable): Snowflake;
46
- export declare function isClientInstance(client: any): client is Client;
47
- export declare function checkInvalidKey(target: Record<string, any>, source: Record<string, any> | string[], sourceName: string): void;
48
- export declare function entersState<T extends VoiceConnection | AudioPlayer>(target: T, status: T extends VoiceConnection ? VoiceConnectionStatus : AudioPlayerStatus, maxTime: number): Promise<T>;
49
- export declare function isObject(obj: any): obj is object;
50
- export declare function isRecord(obj: any): obj is Record<string, unknown>;
51
- //# sourceMappingURL=util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC/G,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACb,KAAK,EACL,WAAW,EACX,qBAAqB,EACrB,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,UAAU,EACX,MAAM,YAAY,CAAC;AAIpB;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQlD;AACD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAY3C;AACD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAG9C;AACD;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CASzC;AACD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAQzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAKnE;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,IAAI,SAAS,CAMpD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,WAAW,CAQnE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,qBAAqB,CAQpF;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAYxE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,iBAAiB,CASlF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,KAAK,CAE1D;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,iBAAiB,GAAG,SAAS,CAWvE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,MAAM,CAE9D;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,EACtC,UAAU,EAAE,MAAM,QAMnB;AAuBD,wBAAsB,WAAW,CAAC,CAAC,SAAS,eAAe,GAAG,WAAW,EACvE,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,CAAC,SAAS,eAAe,GAAG,qBAAqB,GAAG,iBAAiB,EAC7E,OAAO,EAAE,MAAM,cAIhB;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,MAAM,CAEhD;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEjE"}
package/dist/util.js DELETED
@@ -1,225 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isRecord = exports.isObject = exports.entersState = exports.checkInvalidKey = exports.isClientInstance = exports.resolveGuildId = exports.isGuildInstance = exports.isSupportedVoiceChannel = exports.isMessageInstance = exports.isTextChannelInstance = exports.isMemberInstance = exports.isSnowflake = exports.isVoiceChannelEmpty = exports.checkIntents = exports.isURL = exports.parseNumber = exports.toSecond = exports.formatDuration = void 0;
4
- const url_1 = require("url");
5
- const _1 = require(".");
6
- const discord_js_1 = require("discord.js");
7
- const formatInt = (int) => (int < 10 ? `0${int}` : int);
8
- /**
9
- * Format duration to string
10
- * @param {number} sec Duration in seconds
11
- * @returns {string}
12
- */
13
- function formatDuration(sec) {
14
- if (!sec || !Number(sec))
15
- return "00:00";
16
- const seconds = Math.round(sec % 60);
17
- const minutes = Math.floor((sec % 3600) / 60);
18
- const hours = Math.floor(sec / 3600);
19
- if (hours > 0)
20
- return `${formatInt(hours)}:${formatInt(minutes)}:${formatInt(seconds)}`;
21
- if (minutes > 0)
22
- return `${formatInt(minutes)}:${formatInt(seconds)}`;
23
- return `00:${formatInt(seconds)}`;
24
- }
25
- exports.formatDuration = formatDuration;
26
- /**
27
- * Convert formatted duration to seconds
28
- * @param {*} input Formatted duration string
29
- * @returns {number}
30
- */
31
- function toSecond(input) {
32
- if (!input)
33
- return 0;
34
- if (typeof input !== "string")
35
- return Number(input) || 0;
36
- if (input.match(/:/g)) {
37
- const time = input.split(":").reverse();
38
- let s = 0;
39
- for (let i = 0; i < 3; i++)
40
- if (time[i])
41
- s += Number(time[i].replace(/[^\d.]+/g, "")) * Math.pow(60, i);
42
- if (time.length > 3)
43
- s += Number(time[3].replace(/[^\d.]+/g, "")) * 24 * 60 * 60;
44
- return s;
45
- }
46
- else {
47
- return Number(input.replace(/[^\d.]+/g, "")) || 0;
48
- }
49
- }
50
- exports.toSecond = toSecond;
51
- /**
52
- * Parse number from input
53
- * @param {*} input Any
54
- * @returns {number}
55
- */
56
- function parseNumber(input) {
57
- if (typeof input === "string")
58
- return Number(input.replace(/[^\d.]+/g, "")) || 0;
59
- return Number(input) || 0;
60
- }
61
- exports.parseNumber = parseNumber;
62
- /**
63
- * Check if the string is an URL
64
- * @param {string} input input
65
- * @returns {boolean}
66
- */
67
- function isURL(input) {
68
- if (typeof input !== "string" || input.includes(" "))
69
- return false;
70
- try {
71
- const url = new url_1.URL(input);
72
- if (!["https:", "http:"].includes(url.protocol) || !url.host)
73
- return false;
74
- }
75
- catch {
76
- return false;
77
- }
78
- return true;
79
- }
80
- exports.isURL = isURL;
81
- /**
82
- * Check if the Client has enough intents to using DisTube
83
- * @param {ClientOptions} options options
84
- */
85
- function checkIntents(options) {
86
- const requiredIntents = [128 /* GuildVoiceStates */];
87
- const intents = new discord_js_1.IntentsBitField(options.intents);
88
- for (const intent of requiredIntents) {
89
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
90
- // @ts-ignore
91
- if (!intents.has(intent))
92
- throw new _1.DisTubeError("MISSING_INTENTS", discord_js_1.GatewayIntentBits[intent.toString()]);
93
- }
94
- }
95
- exports.checkIntents = checkIntents;
96
- /**
97
- * Check if the voice channel is empty
98
- * @param {Discord.VoiceState} voiceState voiceState
99
- * @returns {boolean}
100
- */
101
- function isVoiceChannelEmpty(voiceState) {
102
- const voiceChannel = voiceState.guild?.me?.voice?.channel;
103
- if (!voiceChannel)
104
- return false;
105
- const members = voiceChannel.members.filter(m => !m.user.bot);
106
- return !members.size;
107
- }
108
- exports.isVoiceChannelEmpty = isVoiceChannelEmpty;
109
- function isSnowflake(id) {
110
- try {
111
- return discord_js_1.SnowflakeUtil.deconstruct(id).timestamp > discord_js_1.SnowflakeUtil.epoch;
112
- }
113
- catch {
114
- return false;
115
- }
116
- }
117
- exports.isSnowflake = isSnowflake;
118
- function isMemberInstance(member) {
119
- return (!!member &&
120
- isSnowflake(member.id) &&
121
- isSnowflake(member.guild?.id) &&
122
- isSnowflake(member.user?.id) &&
123
- member.id === member.user.id);
124
- }
125
- exports.isMemberInstance = isMemberInstance;
126
- function isTextChannelInstance(channel) {
127
- return (!!channel &&
128
- isSnowflake(channel.id) &&
129
- isSnowflake(channel.guildId) &&
130
- typeof channel.send === "function" &&
131
- typeof channel.awaitMessages === "function");
132
- }
133
- exports.isTextChannelInstance = isTextChannelInstance;
134
- function isMessageInstance(message) {
135
- // Simple check for using distube normally
136
- return (!!message &&
137
- isSnowflake(message.id) &&
138
- isSnowflake(message.guildId) &&
139
- isTextChannelInstance(message.channel) &&
140
- isMemberInstance(message.member) &&
141
- isSnowflake(message.author.id) &&
142
- message.member.id === message.author.id &&
143
- message.guild.id === message.channel.guild.id);
144
- }
145
- exports.isMessageInstance = isMessageInstance;
146
- function isSupportedVoiceChannel(channel) {
147
- return (!!channel &&
148
- typeof channel.joinable === "boolean" &&
149
- isSnowflake(channel.id) &&
150
- isSnowflake(channel.guildId) &&
151
- typeof channel.full === "boolean" &&
152
- discord_js_1.Constants.VoiceBasedChannelTypes.includes(channel.type));
153
- }
154
- exports.isSupportedVoiceChannel = isSupportedVoiceChannel;
155
- function isGuildInstance(guild) {
156
- return !!guild && isSnowflake(guild.id) && typeof guild.fetchAuditLogs === "function";
157
- }
158
- exports.isGuildInstance = isGuildInstance;
159
- function resolveGuildId(resolvable) {
160
- let guildId;
161
- if (typeof resolvable === "string") {
162
- guildId = resolvable;
163
- }
164
- else if (isObject(resolvable)) {
165
- if (resolvable instanceof _1.Queue || resolvable instanceof _1.DisTubeVoice)
166
- guildId = resolvable.id;
167
- else if ("guild" in resolvable && isGuildInstance(resolvable.guild))
168
- guildId = resolvable.guild.id;
169
- else if ("id" in resolvable && isGuildInstance(resolvable))
170
- guildId = resolvable.id;
171
- }
172
- if (!isSnowflake(guildId))
173
- throw new _1.DisTubeError("INVALID_TYPE", "GuildIdResolvable", resolvable);
174
- return guildId;
175
- }
176
- exports.resolveGuildId = resolveGuildId;
177
- function isClientInstance(client) {
178
- return !!client && typeof client.login === "function";
179
- }
180
- exports.isClientInstance = isClientInstance;
181
- function checkInvalidKey(target, source, sourceName) {
182
- if (!isObject(target))
183
- throw new _1.DisTubeError("INVALID_TYPE", "object", target, sourceName);
184
- const sourceKeys = Array.isArray(source) ? source : Object.keys(source);
185
- const invalidKey = Object.keys(target).find(key => !sourceKeys.includes(key));
186
- if (invalidKey)
187
- throw new _1.DisTubeError("INVALID_KEY", sourceName, invalidKey);
188
- }
189
- exports.checkInvalidKey = checkInvalidKey;
190
- async function waitEvent(target, status, maxTime) {
191
- let cleanup = () => {
192
- // void
193
- };
194
- try {
195
- await new Promise((resolve, reject) => {
196
- const timeout = setTimeout(() => reject(new Error(`Didn't trigger ${status} within ${maxTime}ms`)), maxTime);
197
- target.once(status, resolve);
198
- target.once("error", reject);
199
- cleanup = () => {
200
- clearTimeout(timeout);
201
- target.off(status, resolve);
202
- target.off("error", reject);
203
- };
204
- });
205
- return target;
206
- }
207
- finally {
208
- cleanup();
209
- }
210
- }
211
- async function entersState(target, status, maxTime) {
212
- if (target.state.status === status)
213
- return target;
214
- return waitEvent(target, status, maxTime);
215
- }
216
- exports.entersState = entersState;
217
- function isObject(obj) {
218
- return typeof obj === "object" && obj !== null && !Array.isArray(obj);
219
- }
220
- exports.isObject = isObject;
221
- function isRecord(obj) {
222
- return isObject(obj);
223
- }
224
- exports.isRecord = isRecord;
225
- //# sourceMappingURL=util.js.map
package/dist/util.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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","sourcesContent":["import { URL } from \"url\";\nimport { DisTubeError, DisTubeVoice, Queue } from \".\";\nimport { Constants, GatewayIntentBits, IntentsBitField, SnowflakeUtil } from \"discord.js\";\nimport type { GuildIdResolvable } from \".\";\nimport type { EventEmitter } from \"node:events\";\nimport type { AudioPlayer, AudioPlayerStatus, VoiceConnection, VoiceConnectionStatus } from \"@discordjs/voice\";\nimport type {\n Client,\n ClientOptions,\n Guild,\n GuildMember,\n GuildTextBasedChannel,\n Message,\n Snowflake,\n VoiceBasedChannel,\n VoiceState,\n} from \"discord.js\";\n\nconst formatInt = (int: number) => (int < 10 ? `0${int}` : int);\n\n/**\n * Format duration to string\n * @param {number} sec Duration in seconds\n * @returns {string}\n */\nexport function formatDuration(sec: number): string {\n if (!sec || !Number(sec)) return \"00:00\";\n const seconds = Math.round(sec % 60);\n const minutes = Math.floor((sec % 3600) / 60);\n const hours = Math.floor(sec / 3600);\n if (hours > 0) return `${formatInt(hours)}:${formatInt(minutes)}:${formatInt(seconds)}`;\n if (minutes > 0) return `${formatInt(minutes)}:${formatInt(seconds)}`;\n return `00:${formatInt(seconds)}`;\n}\n/**\n * Convert formatted duration to seconds\n * @param {*} input Formatted duration string\n * @returns {number}\n */\nexport function toSecond(input: any): number {\n if (!input) return 0;\n if (typeof input !== \"string\") return Number(input) || 0;\n if (input.match(/:/g)) {\n const time = input.split(\":\").reverse();\n let s = 0;\n for (let i = 0; i < 3; i++) if (time[i]) s += Number(time[i].replace(/[^\\d.]+/g, \"\")) * Math.pow(60, i);\n if (time.length > 3) s += Number(time[3].replace(/[^\\d.]+/g, \"\")) * 24 * 60 * 60;\n return s;\n } else {\n return Number(input.replace(/[^\\d.]+/g, \"\")) || 0;\n }\n}\n/**\n * Parse number from input\n * @param {*} input Any\n * @returns {number}\n */\nexport function parseNumber(input: any): number {\n if (typeof input === \"string\") return Number(input.replace(/[^\\d.]+/g, \"\")) || 0;\n return Number(input) || 0;\n}\n/**\n * Check if the string is an URL\n * @param {string} input input\n * @returns {boolean}\n */\nexport function isURL(input: any): boolean {\n if (typeof input !== \"string\" || input.includes(\" \")) return false;\n try {\n const url = new URL(input);\n if (![\"https:\", \"http:\"].includes(url.protocol) || !url.host) return false;\n } catch {\n return false;\n }\n return true;\n}\n/**\n * Check if the Client has enough intents to using DisTube\n * @param {ClientOptions} options options\n */\nexport function checkIntents(options: ClientOptions): void {\n const requiredIntents = [GatewayIntentBits.GuildVoiceStates];\n const intents = new IntentsBitField(options.intents);\n for (const intent of requiredIntents) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n if (!intents.has(intent)) throw new DisTubeError(\"MISSING_INTENTS\", GatewayIntentBits[intent.toString()]);\n }\n}\n\n/**\n * Check if the voice channel is empty\n * @param {Discord.VoiceState} voiceState voiceState\n * @returns {boolean}\n */\nexport function isVoiceChannelEmpty(voiceState: VoiceState): boolean {\n const voiceChannel = voiceState.guild?.me?.voice?.channel;\n if (!voiceChannel) return false;\n const members = voiceChannel.members.filter(m => !m.user.bot);\n return !members.size;\n}\n\nexport function isSnowflake(id: any): id is Snowflake {\n try {\n return SnowflakeUtil.deconstruct(id).timestamp > SnowflakeUtil.epoch;\n } catch {\n return false;\n }\n}\n\nexport function isMemberInstance(member: any): member is GuildMember {\n return (\n !!member &&\n isSnowflake(member.id) &&\n isSnowflake(member.guild?.id) &&\n isSnowflake(member.user?.id) &&\n member.id === member.user.id\n );\n}\n\nexport function isTextChannelInstance(channel: any): channel is GuildTextBasedChannel {\n return (\n !!channel &&\n isSnowflake(channel.id) &&\n isSnowflake(channel.guildId) &&\n typeof channel.send === \"function\" &&\n typeof channel.awaitMessages === \"function\"\n );\n}\n\nexport function isMessageInstance(message: any): message is Message<true> {\n // Simple check for using distube normally\n return (\n !!message &&\n isSnowflake(message.id) &&\n isSnowflake(message.guildId) &&\n isTextChannelInstance(message.channel) &&\n isMemberInstance(message.member) &&\n isSnowflake(message.author.id) &&\n message.member.id === message.author.id &&\n message.guild.id === message.channel.guild.id\n );\n}\n\nexport function isSupportedVoiceChannel(channel: any): channel is VoiceBasedChannel {\n return (\n !!channel &&\n typeof channel.joinable === \"boolean\" &&\n isSnowflake(channel.id) &&\n isSnowflake(channel.guildId) &&\n typeof channel.full === \"boolean\" &&\n Constants.VoiceBasedChannelTypes.includes(channel.type)\n );\n}\n\nexport function isGuildInstance(guild: any): guild is Guild {\n return !!guild && isSnowflake(guild.id) && typeof guild.fetchAuditLogs === \"function\";\n}\n\nexport function resolveGuildId(resolvable: GuildIdResolvable): Snowflake {\n let guildId: string | undefined;\n if (typeof resolvable === \"string\") {\n guildId = resolvable;\n } else if (isObject(resolvable)) {\n if (resolvable instanceof Queue || resolvable instanceof DisTubeVoice) guildId = resolvable.id;\n else if (\"guild\" in resolvable && isGuildInstance(resolvable.guild)) guildId = resolvable.guild.id;\n else if (\"id\" in resolvable && isGuildInstance(resolvable)) guildId = resolvable.id;\n }\n if (!isSnowflake(guildId)) throw new DisTubeError(\"INVALID_TYPE\", \"GuildIdResolvable\", resolvable);\n return guildId;\n}\n\nexport function isClientInstance(client: any): client is Client {\n return !!client && typeof client.login === \"function\";\n}\n\nexport function checkInvalidKey(\n target: Record<string, any>,\n source: Record<string, any> | string[],\n sourceName: string,\n) {\n if (!isObject(target)) throw new DisTubeError(\"INVALID_TYPE\", \"object\", target, sourceName);\n const sourceKeys = Array.isArray(source) ? source : Object.keys(source);\n const invalidKey = Object.keys(target).find(key => !sourceKeys.includes(key));\n if (invalidKey) throw new DisTubeError(\"INVALID_KEY\", sourceName, invalidKey);\n}\n\nasync function waitEvent(target: EventEmitter, status: string, maxTime: number) {\n let cleanup = () => {\n // void\n };\n try {\n await new Promise((resolve, reject) => {\n const timeout = setTimeout(() => reject(new Error(`Didn't trigger ${status} within ${maxTime}ms`)), maxTime);\n target.once(status, resolve);\n target.once(\"error\", reject);\n cleanup = () => {\n clearTimeout(timeout);\n target.off(status, resolve);\n target.off(\"error\", reject);\n };\n });\n return target;\n } finally {\n cleanup();\n }\n}\n\nexport async function entersState<T extends VoiceConnection | AudioPlayer>(\n target: T,\n status: T extends VoiceConnection ? VoiceConnectionStatus : AudioPlayerStatus,\n maxTime: number,\n) {\n if (target.state.status === status) return target;\n return waitEvent(target, status, maxTime) as Promise<T>;\n}\n\nexport function isObject(obj: any): obj is object {\n return typeof obj === \"object\" && obj !== null && !Array.isArray(obj);\n}\n\nexport function isRecord(obj: any): obj is Record<string, unknown> {\n return isObject(obj);\n}\n"]}