boombot

command module
v0.0.0-...-8475036 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 11, 2022 License: MIT Imports: 6 Imported by: 0

README

▄▄▄▄·             • ▌ ▄ ·.  ▄▄▄▄      ▄▄▄▄▄▄▄
▐█ ▀█▪ ▄█▀▄  ▄█▀▄ ·██ ▐███▪▐█ ▀█▪ ▄█▀▄ •██
▐█▀▀█▄▐█▌.▐▌▐█▌.▐▌▐█ ▌▐▌▐█·▐█▀▀█▄▐█▌.▐▌ ▐█.▪
██▄▪▐█▐█▌.▐▌▐█▌.▐▌██ ██▌▐█▌██▄▪▐█▐█▌.▐▌ ▐█▌·
·▀▀▀▀  ▀█▄▀▪ ▀█▄▀▪▀▀  █▪▀▀▀·▀▀▀▀  ▀█▄▀▪ ▀▀▀

The ultimate interactive and intuitive music streaming Discord bot

Master-Tests

Dev-

gopherbadger-tag-do-not-edit Go Report Card

Description

Boombot is a music streaming bot for group listening and sharing in Discord voice channels. The idea behind Boombot is to make music streaming simple, accessible and interactive enough for every Discord user, not just the hip ones. Boombot currently supports Youtube videos/playlist links and custom searching from any text channel.

Getting Started

Boombot is not currently setup for easy plug and play quite yet, but if you're eager...

If you'd rather just use Boombot before it's open to the public, you can be a beta tester in Boombot's home server

Dependencies

  • Docker
  • FFMPEG
  • Clone the repo and add these .env files into root dir with their respective key=values
    • boombot.env
      • AWS_ACCESS_KEY=yourawsaccesskeyhere
      • AWS_SECRET_ACCESS_KEY=yourawssecretaccesskeyhere
      • ENV=container - this is the literal value that needs to be here
      • BOT_PREFIX=yourprefferedcommandprefix - the symbol you'd like to be used for invoking commands
    • db.env
      • POSTGRES_PASSWORD=yourpgpasswordhere
      • POSTGRES_USER=yourpguserhere
  • In order to be able to fetch the bot's client and youtube tokens, you'll need to register your own applications and store the tokens under the secret name in AWS Secrets Manager: boombot_creds with the keys BOT_TOKEN and YOUTUBE_TOKEN

Building\Launching

  • After installing your dependencies and setting up your secrets, run docker-compose up at root dir

How to use Boombot via commands

  • Commands
    • This will invoke Boombot to fetch your request from youtube and put it into your own queue. Boombot will then join you in the voice channel you're currently residing in and start playing.
    • [prefix]next

      This will skip the currently playing song, moving on to your next item in your queue, unless multiple users have queues, in that case Boombot will alternate between the different queues to avoid a listening monopoly for a better group listening experience.
    • [prefix]purge

      This will stop all playback for your queue and remove it completely. This also hapens if you leave voice chat entirely, preventing users from trolling by requesting large playlists, then disappearing.
    • [prefix]shuffle

      This will shuffle your queue, randomizing playback order.
    • [prefix]pause

      Pauses playback
    • [prefix]play

      Resumes paused playback

How to use Boombot via jukebox

Boombot uses a special text channel to display the currently playing song info inside an embedded message, these messages have auto-generated reaction emojis attached to them that represent all the different command controls, all you have to do is click them and Boombot will respond accordingly!

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
_mocks
generated/discordclient
Package mock_disgordclient is a generated GoMock package.
Package mock_disgordclient is a generated GoMock package.
generated/discorduser
Package mock_disgorduser is a generated GoMock package.
Package mock_disgorduser is a generated GoMock package.
generated/youtube
Package mock_youtubesearchservice is a generated GoMock package.
Package mock_youtubesearchservice is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL