From af9b870d6fae7af96fc5ecb7e6e595cdbe167b51 Mon Sep 17 00:00:00 2001 From: Minteck Date: Thu, 14 Jul 2022 10:05:24 +0200 Subject: TODO and stuff --- TODO.md | 94 ++++------------------------------------------------------------- 1 file changed, 5 insertions(+), 89 deletions(-) (limited to 'TODO.md') diff --git a/TODO.md b/TODO.md index 091c5cc..aecde24 100644 --- a/TODO.md +++ b/TODO.md @@ -1,91 +1,7 @@ # To-Do List -## To be implemented - -Note that the tasks described here may not exactly be the same once implemented on the bot (for example command names or behavior can change). - -### Features - -- [ ] Make `/info` and `/remove` autocomplete with items from the queue - -### Bug Fixes - -- [ ] Enormous delay between each song - -### Performance Optimizations - -- *nothing* - -### New Commands - -- [ ] `/rmdupes`: removes duplicate songs from the queue -- [ ] `/lock`: locks the bot to only the user who executed this command and administrators -- [ ] `/save`: save the current queue to a playlist - - [ ] `/load`: loads a saved playlist - - [ ] `/list`: lists all saved playlists - - [ ] `/delete`: deletes a saved playlist - ----- - -## Completed - -The completed tasks are ordered by completion date (most recent is at the bottom). - -### Features - -- [x] A feature to restart the bot (so the CI server can restart it after deploying) -- [x] Add buttons to command outputs - * Create a `CommandAction` class that allows to emulate slash commands -- [x] Support for Argon -- [x] Support for Bandcamp -- [x] Support for SoundCloud -- [x] Disconnect the bot after 30 minutes of inactivity (`VoiceBase.playing` is `false`; do NOT check - for `VoiceBase.paused`) -- [x] Support for HTTP files -- [x] If the URL given to `/add` is a playlist, add all the videos in that playlist to the queue -- [x] Save history of played songs so it is easier to find songs that have already been played - * The `/search` command can use autocompletion and complete with history results -- [x] Pass titles through [YouToo](https://gitlab.minteck.org/minteck/youtoo)'s "magic" title parser -- [x] `/queue` gives the duration (in minutes) of the entire queue -- [x] Block playing songs that are longer than 10 minutes -- [x] Volume normalization -- [x] Make `/queue` more consistent - - `01.` (`00:00`) Song name -- [x] On `/queue`, show time when the playlist will be done -- [x] Make `/lyrics` fetch lyrics from Bandcamp -- [x] Prevent `RESTART` when the bot is playing -- [x] Properly handle connection issues -- [x] More logging -- [x] History matches from SoundCloud result in corrupt entries -- [x] Better loading items with cool messages (like what Discord did) - -### Bug Fixes - -- [x] Connection reset for random reasons -- [x] Webhook errors for random reasons -- [x] Handle being disconnected by a server moderator (right click > Disconnect) - * This will be harder than expected: class `VoiceConnectionEvents` in `@discordjs/voice` is totally undocumented. -- [x] `/tmp/stream.ogg` is not deleted automatically -- [x] Playing songs from Argon 2 times without wiping /tmp results in an error (BugCheck 0xD460A59A) -- [x] Detect and prevent restart loops (more than 1 restart within 1 minute) - -### Performance Optimizations - -- [x] On `QueueManager.add`, don't use both `ytdl-core` and the `yt-dlp` command to get metadata - -### New Commands - -- [x] `/search`: search on YouTube instead of using the full video URL -- [x] `/logs`: displays the bots logs -- [x] `/lyrics`: get lyrics for the currently playing song (probably - use [`genius-api-client`](https://npmjs.com/package/genius-api-client)) -- [x] `/shuffle`: randomly changes the queue's order -- [x] `/restart`: restart the bot -- [x] `/random`: picks a random item from history and adds it to the queue -- [x] `/about`: more user-friendly debugging information -- [x] `/skipto`: skip to a certain item in the queue -- [x] `/loopone`: repeat the current playing song instead of the whole queue (`/loop`) -- [x] `/nowplaying`: shows info about the currently playing song -- [x] `/info`: gets info about a song in the queue (who added, when, ...) -- [x] `/clear`: clears all songs in the queue -- [x] `/autodj`: Auto-DJ +- [ ] `/wikipedia` +- [ ] `/search` ([lib](https://www.npmjs.com/package/duck-duck-scrape)) +- [ ] `/echo` +- [ ] `/user` +- [ ] Antiraid, autorole, antispam, filter \ No newline at end of file -- cgit