Skip to content
/ ragu2 Public

RAGU2 is a music bot for Discord that allows users to play, pause, and manage music tracks in voice channels. The bot supports integration with Yandex Music and provides various commands for controlling playback.

Notifications You must be signed in to change notification settings

Dirold2/ragu2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ragu2 Project

RAGU2 is a Discord music bot that allows users to play, pause, and manage music tracks in voice channels. The bot supports integration with Yandex Music and provides various commands for playback control.

Localization

English, Русский

Plugins in RAGU2

RAGU2 uses a plugin system that allows adding new features and capabilities to the bot. Currently, the following music platform plugins are available:

  • Yandex Music

Installation

  1. Clone the repository:

    git clone https://github.com/dirold2/ragu2.git
    cd ragu2
  2. Install dependencies:

    npm install
  3. Create a .env file in the project root and add your Discord token:

    # discord_token
    DISCORD_TOKEN="" #https://discord.com/developers/applications
    
    # bot locale
    BOT_LOCALE="" # default en
    
    # ffprobe path
    FFPROBE_PATH="" 
    
    # yandex_api
    YM_USER_ID="" # https://mail.yandex.ru/
    YM_API_KEY="" # https://oauth.yandex.ru/authorize?response_type=token&client_id=23cabbbdc6cd418abb4b39c32c41195d

Launching the Bot

To launch the bot, follow these steps:

  1. Build the project:

    pnpm build
  2. Start the bot:

    pnpm start

    For development:

    pnpm dev

Commands

The bot supports the following commands:

  • /play <track_name> - Play a track.
  • /pause - Pause playback.
  • /skip - Skip the current track.
  • /volume <level> - Set the volume level.
  • /shuffle - Shuffle the queue.
  • /wave - Enable "My Wave" based on the last track.
  • /queue - Show the current track queue.
  • /other - Show other commands.

Project Structure

  • .env - Environment variables.
  • src/ - Bot source code.
  • src/config/ - Bot configuration.
  • src/commands/ - Bot commands.
  • src/services/ - Services for managing bot logic.
  • src/utils/ - Utilities and helper functions.
  • src/locales/ - Localization files for multilingual support.
  • src/types/ - Data types.
  • src/interfaces/ - Interfaces.

TODO

Work in progress:

  • Add localization
  • Add "wave" for continuous music playback
  • Replacing node-cache with lru-cache
  • Solving the bug with an empty track on the side of the Yandex Music plugin
  • Fix memory (Max 270MB)

Plugins:

  • Add Yandex Music plugin
  • Add YouTube plugin
  • Add SoundCloud plugin
  • Add Apple Music plugin
  • Add Deezer plugin
  • Add Spotify plugin

About

RAGU2 is a music bot for Discord that allows users to play, pause, and manage music tracks in voice channels. The bot supports integration with Yandex Music and provides various commands for controlling playback.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published