Git Product home page Git Product logo

discord-music-bot's People

Contributors

lpoto avatar

Stargazers

 avatar

Watchers

 avatar

discord-music-bot's Issues

Config slash command

The bot should allow a /config slash command that opens a moda through which the bot's configuration may be changed.

The main feature of this command should be setting which roles may use which commands(buttons).

The command could also allow changing the default values from config.yaml such as:

  • Max alone time (the duration before the bot disconnects after having no listeners)
  • Button labels (Buttons section in config could be rather represented as a list of objects with Name and Label fields, so the buttons in the queue message are displayed in same order as are defined in the config, that way the members could change the label and the position of the buttons)

The command could also allow changing the default help.

Join button not displayed on inactivity DC

When the bot disconnects due to the lack of listeners, the Join button should appear.

At the moment it does not, and when clicking on any other buttons the

Interaction failed

error is displayed.

This could be linked to #36.

Moving the bot between channels

Currently when a member with the required permissions moves the bot that is playing music to another channel, it breaks.

This should be solved by either detecting when the bot was moved and continuing with the music, or displaying the Join button and requiring the bot to rejoin the channel if the first solution is not possible.

Modal with additional commands

The bot should have a button that opens a modal that contains additional commands such as:

  • Removing songs from the queue,
  • Shuffling songs,
  • Forwarding songs in the queue,
  • Resending the queue in the channel
  • Clearing all songs from the queue
  • Stopping the queue (this should replace the /stop slash command)

To avoid too many buttons and dropdowns, some of these commands could be implemented in a single text box, where
commands may be typed and are parsed. Example:

# this represents the user-typed contents of the text box
shuffle
remove 1,2,3
forward 5,6
clear
resend
stop
# this would shuffle all the songs, then remove songs with indexes 1,2 and 3, then send songs with indexes 5 and 6 to the fron of the queue, then clear all the songs from the queue, resend the queue in the channel and then stop the music.

Later a command for jumping forward and backward in the song could be added aswell.

Queue not being updated properly

When the bot is playing songs for a while, the queue is not being updated. There is never an issue when updating the queue message from an interaction, only when it is being updated directly based on it's messageID and channelID.

Also occasionally, the bot disconnects randomly after the end of a song, then immediately reconnects but does not start playing the next song.

Datastore config in config.yaml

The Datastore environment variables (POSTGRES_DB, ...) should be moved to config.yaml under the MusicBot/Datastore/Postgres section. That way the whole config is in a single config file instead of having just a few required environment variables.

Also the help.txt file should be converted to markdown, as discord supports markdown anyway.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.