An adorable lavalink discord music bot that has a lot of features inside it.

Overview

Laffey

An adorable lavalink discord music bot that has a lot of features inside it.

laffey

First Project of Weeb-Devs

Features:

✓ High quality
✓ Support filters
✓ Stable
✓ Suport 8 music sources
✓ Feature-rich
✓ per guild prefix configuration
✓ and of course, adorable shipgirl

Current version:

Requirements:

Lavalink server

You need dev lavalink version to use our filters. You can get it by clicking Here and then, click on Lavalink.jar files How to setup
All required OS and other for lavalink server available here

Server for the bot to run

  • nodejs v14.x.x or higher because we're using ? method
  • discordjs v12.x.x or higher

Data

  • Discord bot's token You should know why you need this or you won't go to this repo Get or create bot here | How to get token
  • Mongodb URI for prefix feature. It won't work if you enter invalid or no URI MongoDB
  • Your ID for eval command. It's dangerous if eval accessible to everyone
  • Spotify client ID for spotify support Click here to get
  • Spotify client Secret for spotify support Click here to get
  • Ksoft API Key additional, but you can't use lyrics if you didn't provide it Click here to get
  • Lavalink server
    • Host url to your lavalink server
    • Password your lavalink's password. Default is youshallnotpass
    • Port port for your lavalink server. Default is 80
    • Identifier Name for your node. Default to its url
    • Retry amount retry amount when the node encounted error. Default is 3
    • Retry delay delay for each retry. Default is 1000 (1s)
    • Secure wether your node use ssl connection. Default is false

Note

  • Why use ksoft.si api and not other? Because other modules are bad and we have to provide a very specific title which is ksoft.si didn't

Available music sources:

  • youtube*
  • bandcamp*
  • soundcloud*
  • twitch*
  • vimeo*
  • http (you can use radio for it)*
  • spotify
  • deezer

**Note:** - `*` is depend on your lavalink's configuration

Configuration & Starting the bot:

  1. First, change config.json.example file's name into config.json, and fill it
{
    "TOKEN": "YOUR TOKEN",
    "PREFIX": "?",
    "OWNERS": [
        "Your discord id for eval, can be more than 1 user"
    ],
    "MONGODB_URI": "Additional, but needed for custom prefix feautre",
    "SPOTIFY_CLIENT_ID": "spotify client id for spotify support",
    "SPOTIFY_CLIENT_SECRET": "spotify client secret for spotify support",
    "KSOFT_API_KEY": "KSOFT API Key to use lyrics feature",
    "NODES": [
        {
            "HOST": "lavalink's host",
            "PASSWORD": "lavalink's password",
            "PORT": 80,
            "IDENTIFIER": "lavalink's identifier. Additional",
            "RETRY_AMOUNT": 3,
            "RETRY_DELAY": 1000,
            "SECURE": false
        }
    ],
    "DEBUG": true,
    "LOG_USAGE": false
}
  1. Go to your console, and type cd "path to laffey's file" and install all dependencies by typing npm i
  2. You're ready to go, use node . or npm start to start the bot

**Note:** - `DEBUG` is to see more data when your bot starting and other warning - `LOG_USAGE` is to log all command usage by user. Default to false because it'll be annoying

Screenshots




Commands

  • music

    • play play music from 7 music sources
      -aliases: p
      -example: ?play https://www.youtube.com/playlist?list=PL0jh16Vp3NzVjEjKbZ3pV4f15Jze5EANV

    • forceplay same like play, but this will force the player to play specific song
      -aliases: fp
      -example: ?forceplay https://www.youtube.com/watch?v=dQw4w9WgXcQ

    • loop toggle track/queue loop
      -aliases: l
      -example: ?loop

    • lyrics Get specific/current playing song's lyrics
      -aliases: ly
      -example: ?lyrics [ song's title ]

    • volume Set player's volume. 0-1000
      -aliases: v
      -example: ?volume 1000

    • nowplaying see current playing song
      -aliases: np
      -example: ?nowplaying

    • move Move song
      -aliases: -
      -example: ?move 2 | ?move 4 3

    • queue check all songs inside queue
      -aliases: q
      -example: ?queue

    • skip skip the song
      -aliases: s
      -example: ?skip

    • skipto skip to specific song
      -aliases: st, jump, jumpto
      -example: ?skipto 3

    • join Join a voice channel
      -aliases: -
      -example: ?join

    • leave Leave a voice channel
      -aliases: stop
      -example: ?leave

    • shuffle Shuffle queue
      -aliases: -
      -example: ?shuffle

    • clear Clear the queue
      -aliases: -
      -example: ?clear

    • bassboost Set bassboost filter for the player
      -aliases: bb
      -example: ?bassboost [reset | 1 - 2000]

    • 24h whether the bot to leave vc when there's no user or not
      -aliases: -
      -example: ?24h

    • vaporwave Set vaporwave filter for the player
      -aliases: -
      -example: ?vaporwave

    • nightcore Set nightcore filter for the player
      -aliases: nc
      -example: ?nightcore

    • 8d Set 8d filter for the player
      -aliases: -
      -example: ?8d

    • remove Remove song from queue
      -aliases: -
      -example: ?remove 3

    • previous Play song that played previously
      -aliases: pr
      -example: ?previous

    • resume Resume the player
      -aliases: r
      -example: ?resume

    • pause Pause the player
      -aliases: -
      -example: ?pause

  • config

    • prefix get, set, or reset prefix on guild
      -aliases: -
      -example: ?prefix set ! | ?prefix reset | ?prefix get
  • misc

    • ping get bot's ping
      -aliases: -
      -example: ?ping

    • help Show list of available commands
      -aliases: h
      -example: ?help play

    • eval to evaluate code
      -aliases: -
      -example: ?eval message.channel.send('hello')

    • about Give information about this project
      -aliases: -
      -example: ?about

    • stats Give bot's stats
      -aliases: -
      -example: ?stats adv

    • node Give lavalink's stats
      -aliases: -
      -example: ?node

    • invite Invite your bot to another guild
      -aliases: -
      -example: ?invite

Description & About

Created at: Friday, 2 April 2021
Published at: Sunday, 11 April 2021
Laffey is Weeb-Devs's first project. Was created by our first member aka owner, Takiyo. He really wants to make his first open source project ever. Because he wants more for coding experience. In this project, he was challenged to make project with less bugs. Hope you enjoy using Laffey!

You might also like...

A multipurpose bot, a clan bot, a all in one bot. The one bot u need for ur server originally made as Milrato discord Bot and by Tomato6966.

A multipurpose bot, a clan bot, a all in one bot. The one bot u need for ur server originally made as Milrato discord Bot and by Tomato6966.

Public Bot and Support Server! Invite the Public Version of this Bot so you don't need to host it by yourself or join my Discord server to get a custo

Dec 25, 2022

Setar-bot has many features, but to begin with, we would suggest

Setar-bot has many features, but to begin with, we would suggest

Setar-bot has many features, but to begin with, we would suggest, the bot has a mutli language system implanted in the source, so you can easily manage and add your own very language to the bot.

May 16, 2022

Aeona is a multi-purpose discord bot ready to skill up and boost up your Discord server! It has an State of the Art AI chatbot to make sure you never feel bored!

Aeona | Chatbot Aeona is an ever-growing multipurpose bot; primarily a fun chatbot you can converse with, but also showcases a wide range of fun comma

Jan 9, 2023

Springlink - ♨️ springlink, a lightweight, fast, highly customizable and stable lavalink wrapper for Node.js 🟩

SpringLink ♨️ A lightweight, fast and stable lavalink wrapper for Node.js Features 🌹 Stable Feature-rich Customizable Lightweight Installation 🍮 (No

Nov 17, 2022

A lavalink wrapper in Node.js

Vulkava A lavalink wrapper in Node.JS Documentation Common errors/Issues 🔌 Installation You will need NodeJS v14+ and a running lavalink server. Offi

Dec 17, 2022

A discord bot using @discord.js and mongoose. Used for music, moderation, and entertainment.

hazel A discord bot using @discord.js and mongoose. Used for music, moderation, and entertainment. Features Music ― supporting YouTube, Spotify and So

Dec 31, 2022

Voice Controlled Discord Music Bot in discord.js v14

Voice Controlled Discord Music Bot in discord.js v14

Voice Controlled Discord Bot This repository is for the 5th Hackathon of Documatic. With that Project I am aiming to place #1 and win 50€ About It is

Nov 28, 2022

Gitlift Discord Bot is a discord bot which is listening Discord Messages to reply with user gitlift profile and total contributions.

Gitlift Discord Bot is a discord bot which is listening Discord Messages to reply with user gitlift profile and total contributions.

Remoklify - Gitlift Discord Bot Gitlift Discord Bot is a discord bot which is listening Discord Messages to reply with user gitlift profile and total

Mar 20, 2022

About Discord bot draft that does not contain ready-made commands, compatible with discord.js v14. Create your own discord bot with this command handler.

discordJS-V14 About Discord bot draft that does not contain ready-made commands, compatible with discord.js v14. Create your own discord bot with this

Dec 28, 2022
Comments
  • KSoft Lyrics Don't Work!

    KSoft Lyrics Don't Work!

    I Have a KSoft API Key. I Tried Running The Bot It Works Fine!

    I Tried the lyrics command and it says No lyrics found everytime.

    Please upgrade to genius-lyrics-api Its better than ksoft.

    unverified-bug 
    opened by gaurishhs 2
  • Bump ws from 7.4.4 to 7.4.6

    Bump ws from 7.4.4 to 7.4.6

    Bumps ws from 7.4.4 to 7.4.6.

    Release notes

    Sourced from ws's releases.

    7.4.6

    Bug fixes

    • Fixed a ReDoS vulnerability (00c425ec).

    A specially crafted value of the Sec-Websocket-Protocol header could be used to significantly slow down a ws server.

    for (const length of [1000, 2000, 4000, 8000, 16000, 32000]) {
      const value = 'b' + ' '.repeat(length) + 'x';
      const start = process.hrtime.bigint();
    

    value.trim().split(/ *, */);

    const end = process.hrtime.bigint();

    console.log('length = %d, time = %f ns', length, end - start); }

    The vulnerability was responsibly disclosed along with a fix in private by Robert McLaughlin from University of California, Santa Barbara.

    In vulnerable versions of ws, the issue can be mitigated by reducing the maximum allowed length of the request headers using the --max-http-header-size=size and/or the maxHeaderSize options.

    7.4.5

    Bug fixes

    • UTF-8 validation is now done even if utf-8-validate is not installed (23ba6b29).
    • Fixed an edge case where websocket.close() and websocket.terminate() did not close the connection (67e25ff5).
    Commits
    • f5297f7 [dist] 7.4.6
    • 00c425e [security] Fix ReDoS vulnerability
    • 990306d [lint] Fix prettier error
    • 32e3a84 [security] Remove reference to Node Security Project
    • 8c914d1 [minor] Fix nits
    • fc7e27d [ci] Test on node 16
    • 587c201 [ci] Do not test on node 15
    • f672710 [dist] 7.4.5
    • 67e25ff [fix] Fix case where abortHandshake() does not close the connection
    • 23ba6b2 [fix] Make UTF-8 validation work even if utf-8-validate is not installed
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • When I do /play foo with slash commands

    When I do /play foo with slash commands

    Lavalink Version: Version: 3.4 Build: 1257 Build time: 26.10.2021 14:18:37 UTC Branch master Commit: a364833 Commit time: 26.10.2021 14:15:20 UTC JVM: 11.0.15 Lavaplayer 1.3.96-original

    Java Version: openjdk version "11.0.15" 2022-04-19 OpenJDK Runtime Environment (build 11.0.15+10-post-Debian-1deb10u1) OpenJDK 64-Bit Server VM (build 11.0.15+10-post-Debian-1deb10u1, mixed mode, sharing)

    Laffey Version: 2.0.0-dev NodeJS Version: 16.X

    Error: node:events:505 throw er; // Unhandled 'error' event ^ TypeError: ctx.isCommand is not a function at Object.execute (/home/container/src/events/interactionCreate.js:7:18) at Laffey. (/home/container/src/modules/eventHandler.js:16:63) at Laffey.emit (node:events:527:28) at InteractionCreateAction.handle (/home/container/node_modules/discord.js/src/client/actions/InteractionCreate.js:81:12) at Object.module.exports [as INTERACTION_CREATE] (/home/container/node_modules/discord.js/src/client/websocket/handlers/INTERACTION_CREATE.js:4:36) at WebSocketManager.handlePacket (/home/container/node_modules/discord.js/src/client/websocket/WebSocketManager.js:352:31) at WebSocketShard.onPacket (/home/container/node_modules/discord.js/src/client/websocket/WebSocketShard.js:476:22) at WebSocketShard.onMessage (/home/container/node_modules/discord.js/src/client/websocket/WebSocketShard.js:320:10) at WebSocket.onMessage (/home/container/node_modules/discord.js/node_modules/ws/lib/event-target.js:199:18) at WebSocket.emit (node:events:527:28) at Receiver.receiverOnMessage (/home/container/node_modules/discord.js/node_modules/ws/lib/websocket.js:1169:20) at Receiver.emit (node:events:527:28) at Receiver.dataMessage (/home/container/node_modules/discord.js/node_modules/ws/lib/receiver.js:528:14) at Receiver.getData (/home/container/node_modules/discord.js/node_modules/ws/lib/receiver.js:446:17) at Receiver.startLoop (/home/container/node_modules/discord.js/node_modules/ws/lib/receiver.js:148:22) at Receiver._write (/home/container/node_modules/discord.js/node_modules/ws/lib/receiver.js:83:10) Emitted 'error' event on Laffey instance at: at emitUnhandledRejectionOrErr (node:events:384:10) at processTicksAndRejections (node:internal/process/task_queues:85:21)

    opened by SysMath 0
  • setLoop issue

    setLoop issue

    There is an Issue

    • When I set loop for the current track Ok its work, but when I skip the track while its in loop the track skipped an starts playing again .. it must be deleted from the queue and didn't start again or starts the next track
    verified-bug enhancement unverified-bug will do 
    opened by Charlie10x 2
Releases(2.0.0)
Owner
An organization for weebs ( non-weeb can join too ) to make anime project 'soon':tm:
null
Advanced Music Bot It is an advance type of discord music bot which plays high quality of music with spotify

Advanced Music Bot It is an advance type of discord music bot which plays high quality of music with spotify, apple music support . You can save your songs and play it. It also has DJ mode system.

Diwas Atreya 65 Dec 25, 2022
I’m a very useful music bot that can make you play a music with a simple command! I have a lot of good commands that you can have a better experience playing your favorites songs!

I’m a very useful music bot that can make you play a music with a simple command! I have a lot of good commands that you can have a better experience playing your favorites songs!

Hugo Kishi 2 Aug 16, 2022
A Discord.js Music Bot, which connects via Lavalink and erela.js

Discord.js Lavalink Music Bot using erela.js A Advance Discord Music Bot Like Hydra Erela.js docs Note this Discord Bot Repository is the Same as for

ᴋᴀʙɪʀ々ꜱɪɴɢʜ 47 Dec 9, 2022
Tritan is a Discord.js bot that has many general-purpose features such as logging, moderation, image manipulation, music, and much more!

Tritan Bot Tritan Bot is a Discord Verified general purpose bot built with discord.js and express (yes, it has a dashboard included). Please read thro

Dylan J. 0 Jul 3, 2022
Tritan is a Discord.js bot that has many general-purpose features such as logging, moderation, image manipulation, music, and much more!

Tritan Bot Tritan Bot is a Discord Verified general purpose bot built with discord.js and express (yes, it has a dashboard included). Please read thro

Team Tritan 5 Nov 19, 2022
Music bot that uses Lavalink for its audio player

Msv Music ?? A Advanced Discord Music Bot Made With Lavalink And Have Many Premium Features with filters and more willl be add soon About Msv Music ??

M s v 36 Jan 4, 2022
⚡ Discord bot with economy, gambling, music, fun, moderation features based on discord.js v12

Crucian Crucian is my discord bot with simple structure based on discord.js Click Here to invite Crucian to your server Author Crucian © Apoo Authored

apoow3b 3 Jul 26, 2021
A multi-purpose discord bot, that has 100+ commands. Includes 🎶 Music, 📷 Image Generation, 📊 Leaderboard, and more!

Cleckzie An open-source, multi-purpose discord bot, made with JavaScript. Has useful categories like: ?? Music - filter, seek, queue, volume and more.

null 42 Jul 2, 2022
It is a discord bot bot which can play lofi song in different language 24/7. It has premium system and cool embed looks with buttons. It can play youtube songs, playlists. This bot code was made by Supreme#2401. It uses djs V12

Lofi-Radio-Music-Bot It is a discord bot bot which can play lofi song in different language 24/7. It has premium system and cool embed looks with butt

Diwas Atreya 89 Jan 2, 2023
Discord-Bot - You can use the discord bot codes that are updated in every video of the codes I use in the discord bot making series that I have published on my youtube channel.

Discord-Bot You can use the discord bot codes that are updated in every video of the codes I use in the discord bot making series that I have publishe

Umut Bayraktar 114 Jan 3, 2023