{"_rev":"50-56fc6d5930fdb141b27122c30d73f90a","time":{"created":"2023-11-17T15:39:12.002Z","0.1.1":"2022-10-31T16:10:41.785Z","modified":"2023-11-17T15:39:12.531Z","0.1.2":"2022-10-31T16:12:16.274Z","0.1.3":"2022-10-31T16:18:45.044Z","0.1.4":"2022-10-31T16:23:24.396Z","0.1.5":"2022-11-01T13:29:25.780Z","0.1.6":"2022-11-01T15:25:29.428Z","0.1.7":"2022-11-01T15:27:57.489Z","0.1.8":"2022-11-01T15:44:59.323Z","0.1.9":"2022-11-01T17:10:42.919Z","0.2.0":"2022-11-01T17:59:59.668Z","0.2.1":"2022-11-02T13:23:11.394Z","0.2.2":"2022-11-02T15:23:56.831Z","0.2.3":"2022-11-02T15:27:39.822Z","0.2.4":"2022-11-03T12:14:52.922Z","0.2.5":"2022-11-03T21:19:08.245Z","0.2.6":"2022-11-05T03:59:57.310Z","0.2.7":"2022-11-05T14:19:37.991Z","0.2.8":"2022-11-05T14:30:15.757Z","0.2.81":"2022-11-06T16:09:47.818Z","0.2.82":"2022-11-07T15:19:10.252Z","0.2.85":"2022-11-08T13:23:39.207Z","0.3.0":"2022-11-09T12:59:22.003Z","0.3.1":"2022-11-12T03:20:18.104Z","0.3.2":"2022-11-12T09:43:49.673Z","0.3.3":"2022-11-13T08:07:27.403Z","0.3.31":"2022-11-13T15:15:06.544Z","0.3.32":"2022-11-14T16:47:14.181Z","0.3.33":"2022-11-16T04:47:15.820Z","0.3.4":"2022-11-16T05:11:21.873Z","0.3.5":"2022-11-19T07:53:58.804Z","0.3.51":"2022-11-19T14:27:25.032Z","0.3.52":"2022-11-19T16:16:19.595Z","0.3.55":"2022-11-19T16:26:23.670Z","0.3.56":"2022-11-19T16:32:26.114Z","0.3.6":"2022-11-19T16:40:16.834Z","0.3.7":"2022-12-30T08:38:34.125Z","0.3.8":"2022-12-30T15:54:05.367Z","0.3.9":"2023-02-21T05:33:31.380Z","0.4.0":"2023-02-21T06:56:00.803Z","0.4.1":"2023-02-21T07:23:30.044Z","0.4.2":"2023-02-21T17:34:05.008Z","0.4.3":"2023-02-21T18:06:20.969Z","0.4.4":"2023-02-22T15:33:16.631Z","0.4.5":"2023-02-22T16:10:06.645Z","0.4.6":"2023-02-25T17:02:49.944Z","0.4.7":"2023-06-27T01:39:50.357Z","0.4.8":"2023-06-27T13:53:44.686Z","0.4.9":"2023-11-17T15:39:12.231Z"},"_id":"ferra-link","name":"ferra-link","dist-tags":{"latest":"0.4.9"},"versions":{"0.4.9":{"name":"ferra-link","version":"0.4.9","description":"A power lavalink wrapper for nodeJS made with shoukaku.","main":"./src/index.js","types":"./types/index.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/FerralTeam/Ferralink.git"},"author":{"name":"FerralTeam"},"license":"MIT","bugs":{"url":"https://github.com/FerralTeam/Ferralink/issues"},"homepage":"https://github.com/FerralTeam/Ferralink#readme","dependencies":{"shoukaku":"^3.4.0","undici":"^5.22.1"},"engines":{"node":">=16.9.0"},"keywords":["lavalink","lavalink weapper","discord","music","discord.js"],"devDependencies":{"typescript":"^4.8.4"},"_id":"ferra-link@0.4.9","gitHead":"0bdc7fa7a98f337a9f2192e7d3c5468a18b072e6","_nodeVersion":"18.16.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-dqx/+SQNOO6Y8iswgunBK1AsIfH0K4Dp3VBwwbMzr4Wb8kaDehpRmJcu91+Yi+u0UdbWTtjDx5vlwIrbFqwUJA==","shasum":"0be83bbc229efaa50293f877810e7b8b074809e5","tarball":"https://registry.npmjs.org/ferra-link/-/ferra-link-0.4.9.tgz","fileCount":14,"unpackedSize":39680,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDFKoG51PNHVEO/cKjzvsYQJLnP4BTHw773iQFehm5RfAiEAh36DUrTVp5vjaUxVnZQLy4+6n7YpSAhVuf9NYGdRbfk="}]},"_npmUser":{"name":"corgi-cd","email":"creep3rcor7@gmail.com"},"directories":{},"maintainers":[{"name":"corgi-cd","email":"creep3rcor7@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ferra-link_0.4.9_1700235552002_0.5694972806739438"},"_hasShrinkwrap":false}},"maintainers":[{"name":"corgi-cd","email":"creep3rcor7@gmail.com"}],"description":"A power lavalink wrapper for nodeJS made with shoukaku.","homepage":"https://github.com/FerralTeam/Ferralink#readme","keywords":["lavalink","lavalink weapper","discord","music","discord.js"],"repository":{"type":"git","url":"git+https://github.com/FerralTeam/Ferralink.git"},"author":{"name":"FerralTeam"},"bugs":{"url":"https://github.com/FerralTeam/Ferralink/issues"},"license":"MIT","readme":"<p align=\"center\">\r\n  <img src=\"https://media.discordapp.net/attachments/936271538196451379/1035586844617883708/feralink_tape.png?width=705&height=134\">\r\n</p>\r\n\r\n[![Discord](https://img.shields.io/discord/1035595149385945088?color=fa860a&logo=discord&logoColor=white)](https://discord.gg/7M6yGBTn79)\r\n[![npm version](https://img.shields.io/npm/v/ferra-link?style=flat-square)](https://www.npmjs.com/package/ferra-link)\r\n[![npm download](https://img.shields.io/npm/dt/ferra-link.svg?maxAge=3600)](https://www.npmjs.com/package/ferra-link)\r\n![GitHub issues](https://img.shields.io/github/issues-raw/Cd-corgi/Ferralink?style=flat-square)\r\n\r\n  \r\n# 🎶 FerraLink\r\n\r\nA Simple but powerful Lavalink Client for your JavaScript Discord Bot!\r\n\r\n# 🔨 Requirements \r\n\r\n* Node.js >= 16.9.0 or Latest.\r\n* Discord.js >= 14.6.0.\r\n\r\n# 📖 Documentation\r\n- [FerraLink Docs](https://ferralink.gitbook.io/docs/).\r\n- [Shoukaku Docs](https://deivu.github.io/Shoukaku).\r\n\r\n# 📂 Implementation\r\n- A [example bot](https://github.com/vkamsingh/Ferralink-Example) as guide for beginners.\r\n- If you have any issues, please join our [support server](https://discord.gg/8n3yNqtPAE).\r\n\r\n# 📦 How to Install FerraLink\r\n```js\r\nDev: \"npm i https://github.com/vkamsingh/Ferralink-Dev.git\" //Dev version supports lavalink v4. https://github.com/vkamsingh/Ferralink-Dev#how-to-setup-our-ferralink\r\nStable: \"npm i npm i ferra-link\"\r\n```\r\n\r\n# How to Setup our FerraLink\r\n\r\n## Set the Initilizer of Ferralink\r\n\r\n*Creating in a way like the code example you can import the bot, nodes and shoukakuOptions.*\r\n\r\n```js\r\nconst { Client, GatewayIntentBits } = require(\"discord.js\");\r\nconst { FerraLink } = require(\"ferra-link\");\r\nconst { Connectors } = require(\"shoukaku\");\r\n\r\nconst client = new Client({\r\n    intents: [\r\n        GatewayIntentBits.Guilds,\r\n        GatewayIntentBits.GuildMessages,\r\n        GatewayIntentBits.GuildVoiceStates,\r\n        GatewayIntentBits.MessageContent\r\n    ],\r\n});\r\n\r\n\r\nclient.FerraLink = new FerraLink({\r\n    nodes: [{\r\n      name: \"Lavalink\",\r\n      url: \"localhost:2333\",\r\n      auth: \"youshallpass\",\r\n      secure: false\r\n    }],\r\n    shoukakuoptions: {\r\n        moveOnDisconnect: false,\r\n        resumable: false,\r\n        resumableTimeout: 60,\r\n        reconnectTries: 10,\r\n        restTimeout: 60000\r\n    },\r\n    spotify: [{\r\n        ClientID: \"Your spotify clientId here\",\r\n        ClientSecret: \"Your spotify clientSecret here\"\r\n    }],\r\n    defaultSearchEngine: \"FerralinkSpotify\",\r\n}, new Connectors.DiscordJS(client));\r\n\r\nclient.login(\"token\");\r\n```\r\n\r\n## A small example to create play command.\r\n```js\r\nmodule.exports = {\r\n   name: \"play\",\r\n   aliases: [\"p\"],\r\n   run: async (client, message, args) => {\r\n   \r\nconst player = await client.FerraLink.createPlayer({\r\n    guildId: message.guild.id,\r\n    voiceId: message.member.voice.channel.id,\r\n    textId: message.channel.id,\r\n    shardId: message.guild.shardId,\r\n    volume: 100,\r\n    deaf: true,\r\n});\r\n\r\nconst resolve = await player.search(args.join(\" \"));\r\nconst { loadType, tracks, playlistInfo } = resolve;\r\n\r\nif (loadType === \"NO_MATCHES\" || !tracks.length) return message.reply({content: \"No match songs result found!\"});\r\n\r\nif (loadType === \"PLAYLIST_LOADED\") {\r\n    for (const track of tracks) {\r\n        player.queue.add(track, { requester: message.author });\r\n    }\r\n    if (!player.playing && !player.paused) await player.play();\r\n    message.channel.send({ content: `Added ${player.queue.length} tracks from ${playlistInfo.name}` });\r\n} else if (loadType === \"SEARCH_RESULT\" || loadType === \"TRACK_LOADED\") {\r\n    player.queue.add(tracks[0], { requester: message.author });\r\n    if (!player.playing && !player.paused) await player.play();\r\n    message.channel.send({ content: `Queued ${tracks[0].info.title}` });\r\n} else return;\r\n  }\r\n}\r\n```\r\n\r\n# Getting the Events (shoukaku)\r\n\r\n> *You can access event with the help of `client.FerraLink.shoukaku.on()....`.*\r\n\r\n<center>\r\n\r\n| **Event Name** \t|   **Elements**  \t  |       **Description**         |\r\n|:--------------:\t|:------------------: |:----------------------------: |\r\n|   ready \t      | name, resumed       | Event of the node connection. |\r\n|   error         | name, error \t      | Event of the node error.      |\r\n|   close         | name, code, reason  | Event of the node close.\t    |\r\n|   disconnect    | name, players, move | Event of the node disconnect.\t|\r\n|   debug         | name, reason\t      | Event of the node debug.      |\r\n</center>\r\n\r\n# Getting the Events (FerraLink)\r\n\r\n> *You can access event with the help of `client.FerraLink.on()....`.*\r\n\r\n<center>\r\n\r\n| **Event Name** \t  |   **Elements**  |       **Description**         |\r\n|:----------------: |:--------------: |:----------------------------: |\r\n|   trackStart\t    | player, track   | Event of the track start.     |\r\n|   trackEnd        | player, track\t  | Event of the track end.       |\r\n|   queueEnd        | player          | Event of the queue end.\t      |\r\n|   PlayerClosed    | player, data    | Event of the player close.\t  |\r\n|   trackException  | player, data\t  | Event of the track exception. |\r\n|   PlayerUpdate    | player, data\t  | Event of the player update.   |\r\n|   trackStuck      | player, data\t  | Event of the track stuck.     |\r\n|   trackError      | player, error   | Event of the track error.     |\r\n|   PlayerResumed   | player          | Event of the player resumed.  |\r\n|   PlayerDestroy   | player\t        | Event of the player destroyed.|\r\n|   PlayerCreate    | player\t        | Event of the player create.   |\r\n</center>\r\n\r\n## Donations 🧡🧡\r\n> You can donate to us to improve our project!\r\n\r\n[![\"Buy Me A Coffee\"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/CorgiOtterBot)\r\n\r\n## Contributors\r\n> Deivu as the owner of [Shoukaku](https://github.com/Deivu/Shoukaku).\r\n>\r\n> Vkamsingh, Corgi as the owner of [FerraLink](https://github.com/Cd-corgi/Ferralink).\r\n>\r\n> Prahar as the maintainer of [FerraLink Docs](https://ferralink.gitbook.io/untitled).\r\n>\r\n> Inspired by [kazagumo](https://www.npmjs.com/package/kazagumo), [Poru](https://www.npmjs.com/package/poru) and [erela.js](https://www.npmjs.com/package/erela.js).\r\n","readmeFilename":"README.MD"}