-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Update Docker and CI #2432
feat: Update Docker and CI #2432
Conversation
…e-fix Move message fix
Something weird was going on where this was raising errors, even with no modifications to the code.
black got updated
commit 45f3b7d Author: Snow <[email protected]> Date: Mon Feb 5 18:16:58 2024 -0600 update readme to include black commit 8d11ae3 Author: Snow <[email protected]> Date: Mon Feb 5 18:01:07 2024 -0600 new black version commit 37bcf1f Author: Fae <[email protected]> Date: Mon Feb 5 15:53:13 2024 -0800 fix for timer events in server specific data. (Just-Some-Bots#2385) * hot fix for timer events in server specific data. * fix both events. commit 270da4d Author: Fae <[email protected]> Date: Fri Jan 26 11:38:31 2024 -0800 Fix missing logs bug (now on dev) (Just-Some-Bots#2384) * Fix broken startup is logs directory is missing. * Run black * Add certifi to requirements, since it's missing. commit 5810590 Author: Snow <[email protected]> Date: Mon Jan 22 19:08:21 2024 -0600 I haven't done anything productive in awhile Missed ` in i18n Changes show config on launch: only show timeout's if enabled. Add search list. commit 8d8148f Author: Snow <[email protected]> Date: Thu Jan 18 23:25:18 2024 -0600 Revert "add ping" This reverts commit 0a0e171. commit 0a0e171 Author: Snow <[email protected]> Date: Thu Jan 18 23:24:21 2024 -0600 add ping commit 7694da0 Author: Snow <[email protected]> Date: Thu Jan 11 13:53:46 2024 -0600 Change command disconnect Update the disconnect command so that it doesn't say disconnected when it doesn't have an active player in the guild. Additionally adds i18n support. Update cmd-restart-invalid-arg i18n to match with what's in the code. commit 01773d4 Author: Fae <[email protected]> Date: Mon Jan 8 18:45:11 2024 -0800 Restart overhaul - with upgrade commands (Just-Some-Bots#2373) * Attempt full process restart. Clean up bot.py global. Clean up some of run.py * Ensure discord TCPConnector is closed. Run black. * Use the correct creationflag name. * Fix _wait_delete_msg() to check for bot.is_closed() * Make sure logging is shutdown. * Add i18n and command responses. * Run black * attempt upgrade options for restart command * Remove unused code * load self.exit_signal with actual signal, not just type. * make it easier to get RestartCode qualities from RestartSignal * Update command output and help text. * ensure black formatting * git needs shell=True on linux * Actually decode bytes to utf8. * run black on merged dev * run black on merged dev * Clean up exception handling, and remove cruft import. * Clean up exception handling and remove cruft import. * Squashed commit of the following: commit 7b4b153 Author: Snow <[email protected]> Date: Mon Jan 8 20:43:33 2024 -0600 Remove shuffle play Can't get it working right, will look into again at a later time. Maybe we need to do something like get_info? --------- Co-authored-by: Snow <[email protected]> commit 7b4b153 Author: Snow <[email protected]> Date: Mon Jan 8 20:43:33 2024 -0600 Remove shuffle play Can't get it working right, will look into again at a later time. Maybe we need to do something like get_info? commit eb26ab9 Author: Fae <[email protected]> Date: Sat Jan 6 20:03:25 2024 -0800 Pause resume updates (Just-Some-Bots#2381) * Auto unpause when play-like commands are used. Clean up the old auto pause code (cause I've learned since then) * clean up a bit more, ensure things work. * Flake8 * actually import typing. * Quote the custom type * run black on dev merge. grumble grumble * correct the function comment. commit 13484ce Author: Fae <[email protected]> Date: Wed Dec 27 11:04:03 2023 -0800 Fix skip tally and cmd prefix bugs (Just-Some-Bots#2380) * Fix issue with _get_guild_cmd_prefix in non-guild channels. * tally num_skips by counting members who are in skippers set of author.id numbers. * remove TODO note. commit 8e8a433 Author: Snow <[email protected]> Date: Fri Dec 22 18:00:10 2023 -0600 remove todo commit 29a510d Author: Snow <[email protected]> Date: Fri Dec 22 17:29:58 2023 -0600 Fixes, and rework Rework repeat off. Set fallback owner group to have skip looped songs perms. commit 0cf25c1 Author: Fae <[email protected]> Date: Fri Dec 22 14:50:00 2023 -0800 Stop spotify playlists fetch on clear command (Just-Some-Bots#2378) * Exit the spotify album/playlist loops when clear is used. * add guild to command args, fix bad ref * ditch the sleep method. this should work well enough... commit a08f792 Author: Fae <[email protected]> Date: Fri Dec 22 14:49:15 2023 -0800 Update flake8 config and run Flake8 over the whole project. (Just-Some-Bots#2379) Also changes skip command permission checks for looped songs. commit 9c9e6ca Author: Fae <[email protected]> Date: Tue Dec 19 17:20:31 2023 -0800 Server specific data cleanup (Just-Some-Bots#2377) * use guild.id in server_specific_data key * auto black the whole repo. commit 7cde7ad Author: Fae <[email protected]> Date: Mon Dec 18 12:58:40 2023 -0800 Fix error thrown when non-yt link is used. (Just-Some-Bots#2374) * Fix error thrown when non-yt link is used. * run black commit e11464f Author: Fae <[email protected]> Date: Sat Dec 16 17:46:13 2023 -0800 Better SSL Patch (Just-Some-Bots#2371) * Proper fix for SSL issue on windows with missing cert store cert. This should only use certifi if certs are missing, not by default. * patch only when broken. * Fix bot._cleanup() method. Remove some code cruft from pre 3.8. Make sure aiohttp isn't closed prematurely... * Flake8, black, and general clean up. * Make sure to clean up what could be broken. * fix this little thing before it stops the show. * run black on run.py commit 7b18023 Author: Fae <[email protected]> Date: Sat Dec 16 12:34:46 2023 -0800 Fix error when timer options are missing and default int is used. (Just-Some-Bots#2372) commit 8ce4ce2 Author: Snow <[email protected]> Date: Fri Dec 15 22:07:43 2023 -0600 rework repeat command Add some new options and handle invalid options better. I found myself doing repeat on a lot and cycling through everything so I reworked it. Remove unnecessary json strings. commit cd9c168 Author: Snow <[email protected]> Date: Fri Dec 15 20:11:28 2023 -0600 run black commit 3d0132e Author: Snow <[email protected]> Date: Fri Dec 15 20:10:52 2023 -0600 small change Make np text less ugly commit 6083544 Author: Snow <[email protected]> Date: Fri Dec 15 17:10:06 2023 -0600 forgot black commit 117ec17 Author: Snow <[email protected]> Date: Fri Dec 15 17:09:02 2023 -0600 oops, that was server deafen. Need to find a better method of error catching, maybe let admin know we need perms then try again after sleeping for some time? commit 19a19e1 Author: Snow <[email protected]> Date: Fri Dec 15 15:05:24 2023 -0600 deafen if set to. Edit for stage channels to deafen if set to. commit 612f341 Author: Snow <[email protected]> Date: Fri Dec 15 14:26:47 2023 -0600 Fix stage channels Stage channels where being recognized as text channels. This should fix that. Closes Just-Some-Bots#2252 Add autoplaylist cache map to gitignore commit 9c14a19 Author: Fae <[email protected]> Date: Wed Dec 13 19:38:31 2023 -0800 Inactive player timeout & timer touch ups. (Just-Some-Bots#2366) * Add inactivity option based on player state, in addition to VC activity. * Naming consistency. * Fix auto join channels check. * clean up VC and guild references. Prevent redundant resets. * Add shorthand english time format support to time-related config options. Tiny scope creep for this branch... * missing import re * I should remove test prints before commits. * revert scope creep * Remove guild name from activity message. * Black & Flake8 * Make sure these timers don't block further execution. * Make some logs info level and remove log from finally to make it less chatty. * Update status message on disconnect. * Make sure to clear both active timers on disconnect. * Simplify update_now_playing_status. * check for paused players over just active players. * black * black * Prevent starting an already active VC timer. * Clarify and document options. * black * Revert to LeaveAfterSong to remain compatible with existing config. commit b557386 Author: Fae <[email protected]> Date: Wed Dec 13 18:20:27 2023 -0800 Prefix per server (Just-Some-Bots#2367) * Initial per-server command prefix * Add example_option, and file check. * clean up and add missing import json * add method to clear prefix * ensure black format. * Remove redundant space check. * Add i18n strings. * make command list less error prone in multi-guild. * Try to make emoji prefix possible. * black format * tidy output and add i18n string. * ensure prefix is listed. * Fix missing prefix * fix missing , in i18n/en.json * make emoji prefix work without backspace required. * Rename option to EnablePrefixPerGuild instead. * Add prefix history for better clean command, and match animated emoji/better emoji checking. * Fix typo, add regex emoji check to on_message, and convert regex to raw strings for Flake8. * Note for future reference * Better support for emoji in unicode rather than markdown. Fixed emoji check for animated emoji in help command. commit dcc703e Author: Fae <[email protected]> Date: Wed Dec 13 18:20:09 2023 -0800 Typing compatible with 3.8 (Just-Some-Bots#2370) commit 2785ac3 Author: Fae <[email protected]> Date: Tue Dec 12 12:13:24 2023 -0800 Cache autoplay retention option & cache folder option. (Just-Some-Bots#2365) * Add option and logic to retain autoplaylist data in cache. Testing required. * await preload in a proper place. * Add config option to set audio cache directory. Refactor audio cache into its own class. Clean up some auto playlist handling. All to enable cache retention of auto playlist entries... Some of this could help with stability in the long run though. * Flake8 & black and fix my errors. * Handle cache earlier. Actually save cachemap on updates... Add some maybe temporary logs for debug. * Playlist urls now removed from cache map on purge_from_ap. Fixed broken asyncio.Lock usage. Refactored with Flake8 and Black. Added annotations/typing * Use proper forward ref. * make autoplaylist command work without player in voice. Clarify example options more. * Count retained size against cache immediately. * satisfy flake8 and black * don't add the current size in the purge test. commit dce4dad Author: Fae <[email protected]> Date: Mon Dec 4 10:54:33 2023 -0800 Fix spotify ssl issue (Just-Some-Bots#2364) * patch spotify.py SSL with certifi * remove ssl_context from global scope commit 330b111 Author: Fae <[email protected]> Date: Sat Dec 2 15:40:46 2023 -0800 Allow cache config shorthand & clarify functionality. (Just-Some-Bots#2363) * StorageLimitBytes now with notation conversion. * Clarify/Document cache options in example_options.ini * Function name consistency. * Linux instead of *nix commit 10371b5 Author: Fae <[email protected]> Date: Thu Nov 30 12:54:09 2023 -0800 More audio cache options. (Just-Some-Bots#2362) * Lets try cache management. * early bail if no limits are set. Fix missing pathlib. * Fix invalid use of rmtree. * Fix bytes/days in show config * bytes typo * Log removed count and size to debug. * Add 'cache' command for info and on-demand clear. * Typo * format_bytes to 3 decimal places. Add 'days' in time limit info. * Format uses binary prefix, lets be clear. * Get file size early. * Fix formatting in example_options.ini * improve cache info. * Add basic automatic cache clear. * Update cached_audio_bytes when cleared * Make sure we update the cache size value. * might as well update here too. * Add i18n strings for cache command. * Throw command error on invalid option. * make sure example_options match config defaults. * Compat with Windows, only remove cache dir on startup, & fix sorting order. * Make SaveVideos=no work as expected on Windows. Also fix a typo. commit ff0cb1d Author: Snow <[email protected]> Date: Wed Nov 29 22:51:32 2023 -0600 Shuffle play fixes Fix that shuffleplay wasn't actually shuffling due to an early return. Follow same format as the rest of the help docs. Fix format issue for repeat command no songs errror. Add an expire in to repeat command no voice. commit 579eeb3 Author: Snow <[email protected]> Date: Wed Nov 29 21:08:31 2023 -0600 Clarification. Clarify that the playlist plays the first few songs in order only if nothing else is playing first. Also ran black. commit 8f36dad Author: Snow <[email protected]> Date: Wed Nov 29 20:50:05 2023 -0600 Fix mentions in now playing There's an issue where using mentions in a title doesn't convert and shows as <@numbers> instead. This ensures now playing mentions work correctly by putting it into a field instead of a title. I'm sure there's a better way to hack the name parameter for add_field but this seems work fine. commit b691d45 Author: Snow <[email protected]> Date: Wed Nov 29 19:43:51 2023 -0600 Shuffle the playlist I did this wrong, this will correctly shuffle the playlist after it's been fully downloaded. Due to the nature of how _cmd_play works, the first few songs of the playlist will be played in the order they are in the playlist. commit 7e2adb0 Author: Snow <[email protected]> Date: Wed Nov 29 19:13:27 2023 -0600 Adds shuffleplay A shorthand command of doing the play command and then the shuffle command commit 0d3eb97 Author: DestinyofYeet <[email protected]> Date: Tue Nov 28 23:26:27 2023 +0100 Round robin queue (Just-Some-Bots#2361) * Added a round-robin queue * ran black * added round_robin_queue to !option * ran black * changed default option to no * Extra info --------- Co-authored-by: Snow <[email protected]> commit dd98309 Author: DestinyofYeet <[email protected]> Date: Wed Nov 22 23:44:13 2023 +0100 "Now playing" now respects DeleteNowPlaying option (Just-Some-Bots#2358) commit 7295687 Author: Snow <[email protected]> Date: Wed Nov 22 13:52:49 2023 -0600 Squashed commit of the following: commit 607783b Author: DestinyofYeet <[email protected]> Date: Wed Nov 22 14:43:34 2023 +0100 "Now playing" now respects DeleteNowPlaying option commit e8eebff Author: Snow <[email protected]> Date: Fri Nov 17 15:51:20 2023 -0600 Remove checks for request usage. Something weird was going on where this was raising errors, even with no modifications to the code. commit 24e2798 Author: Snow <[email protected]> Date: Fri Nov 10 21:02:18 2023 -0600 only delete invoking if set to Also add missing expire_in commit 5fe6209 Author: P.H. Knot <[email protected]> Date: Tue Nov 7 01:22:06 2023 +0100 Include git in Dockerfile (Just-Some-Bots#2355) git is needed to install the git+https://github.com/Rapptz/discord.py pip dependency commit f141234 Author: Snow <[email protected]> Date: Sun Nov 5 21:30:23 2023 -0600 fix messages deleting even when set not to commit 1800656 Merge: 773fa3d 2dd4f73 Author: Snow <[email protected]> Date: Thu Oct 26 04:08:13 2023 -0500 Merge pull request Just-Some-Bots#2352 from DestinyofYeet/fix-autoplaylist-skipping-song fixed that the autoplaylist skips the current song playing when enabling it commit 2dd4f73 Author: DestinyofYeet <[email protected]> Date: Thu Oct 26 11:04:28 2023 +0200 fixed that the autoplaylist skips the current song playing when enabling it commit 773fa3d Merge: f9c3621 2be8f19 Author: Snow <[email protected]> Date: Thu Oct 26 03:53:20 2023 -0500 Merge pull request Just-Some-Bots#2351 from DestinyofYeet/move-message-fix Move message fix commit 2be8f19 Author: DestinyofYeet <[email protected]> Date: Thu Oct 26 10:46:08 2023 +0200 bot.py: fixed move-message en.json: fixed spelling mistakes commit f9c3621 Author: DestinyofYeet <[email protected]> Date: Thu Oct 19 23:46:37 2023 +0200 Disconnect timer (Just-Some-Bots#2350) * apparently auto_paused was needed, whoops * Made the text more informative and fixed a bug where the bot would not disconnect when moved between VC's * ran black commit ce179c1 Author: DestinyofYeet <[email protected]> Date: Thu Oct 19 22:42:23 2023 +0200 apparently auto_paused was needed, whoops (Just-Some-Bots#2349) commit 1653440 Merge: b5b6f32 03789a0 Author: Snow <[email protected]> Date: Thu Oct 19 15:28:12 2023 -0500 Merge pull request Just-Some-Bots#2348 from DestinyofYeet/disconnect-timer updated inactivity timeout logic commit 03789a0 Merge: fc49fe7 b1a1c8a Author: DestinyofYeet <[email protected]> Date: Thu Oct 19 22:23:25 2023 +0200 Merge remote-tracking branch 'origin/disconnect-timer' into disconnect-timer commit fc49fe7 Author: DestinyofYeet <[email protected]> Date: Thu Oct 19 22:23:21 2023 +0200 fixed bound channels and changed text as requested commit b1a1c8a Author: Snow <[email protected]> Date: Thu Oct 19 15:15:06 2023 -0500 Update example_options.ini Missed one lol commit 5cf64d8 Author: DestinyofYeet <[email protected]> Date: Thu Oct 19 21:29:51 2023 +0200 bot.py: updated inactivity timeout logic example_options.ini: added space between text and # commit b5b6f32 Author: Snow <[email protected]> Date: Fri Oct 13 20:32:58 2023 -0500 No real point in having a different set for this Refactor to use ssd instead of a separate list for guild ID's and timers. commit 764bc3b Author: Snow <[email protected]> Date: Fri Oct 13 06:07:51 2023 -0500 Attempt to send it to a channel. I'm not really sure if this is wanted or needed but I like it. If anyone complains it can always be removed. commit 0823941 Author: Snow <[email protected]> Date: Fri Oct 13 04:52:31 2023 -0500 Should close Just-Some-Bots#2265 Thanks ole for pointing out the way to do this. commit 13e1878 Author: Snow <[email protected]> Date: Fri Oct 13 04:06:36 2023 -0500 Remove unnecessary list. Never get's used. Every byte matters. commit 381634f Author: Snow <[email protected]> Date: Sun Oct 1 20:59:32 2023 -0500 change from debug to info. Make sure we don't disconnect from binded voice channels. Add a little more detail about canceled timers. commit 8acff12 Author: Snow <[email protected]> Date: Fri Sep 29 16:20:16 2023 -0500 forgot to run black over it commit 5e6686e Author: Snow <[email protected]> Date: Fri Sep 29 16:19:04 2023 -0500 I did not account for user moving to a different channel and taking the bot with them. commit a19faa3 Author: Snow <[email protected]> Date: Fri Sep 29 15:30:00 2023 -0500 Feat: Leave inactive VC after x time. Saw this requested a few different times. I tested with 1 server, hasn't been tested with multiple servers. Should be fine but time will tell. commit 922f5f2 Author: Snow <[email protected]> Date: Thu Sep 28 19:37:02 2023 -0500 waiting for pypi release. commit 54086ba Author: Snow <[email protected]> Date: Thu Sep 28 16:59:28 2023 -0500 Update requirements.txt Target was merged. commit c9f95d8 Merge: b8c744e cc769bb Author: Snow <[email protected]> Date: Thu Sep 28 13:27:51 2023 -0500 Merge pull request Just-Some-Bots#1544 from obi23lipnik/playlist_manipulations Adds 'autoplaylist' command to allow better autoplaylist manipulation commit cc769bb Author: Snow <[email protected]> Date: Thu Sep 28 13:24:12 2023 -0500 Remove redundant code and run black There was no point in having a save command since the autoplaylist command has it. commit f903623 Merge: de51079 b8c744e Author: Snow <[email protected]> Date: Thu Sep 28 13:06:39 2023 -0500 Merge branch 'dev' into pr/1544 commit b8c744e Author: Snow <[email protected]> Date: Wed Sep 27 19:08:37 2023 -0500 typo. Fix typo. commit 3eacf3f Author: Snow <[email protected]> Date: Wed Sep 27 19:07:01 2023 -0500 change video ID handling Update the way we grab a video ID from a url to account for links being used that don't have the watchv in it. Could potentially solve Just-Some-Bots#2341? commit 8b316d2 Author: TheerapakG <[email protected]> Date: Sun Sep 24 22:32:40 2023 +0700 fix: pass stderr bytesio for dpy voice rewrite (Just-Some-Bots#2336) commit 8c05005 Author: Snow <[email protected]> Date: Sun Sep 24 09:39:17 2023 -0500 target borkeds rewrite of voice handling commit 22905cd Author: TheerapakG <[email protected]> Date: Sun Sep 24 12:55:37 2023 +0700 refactor: remove PatchedBuff (Just-Some-Bots#2335) commit 870165f Author: Snow <[email protected]> Date: Sat Sep 9 20:01:30 2023 -0500 Update PULL_REQUEST_TEMPLATE.md Target the dev branch. commit de51079 Merge: 47a5e46 f068fe8 Author: BabyBoySnow <[email protected]> Date: Sat Jul 29 23:00:22 2023 -0500 Merge branch 'master' into pr/1544 commit 47a5e46 Author: David Lipnik <[email protected]> Date: Tue Mar 20 22:36:07 2018 +0000 Removes redundat cmd handle commit 1d1ca21 Author: David Lipnik <[email protected]> Date: Tue Mar 20 22:28:03 2018 +0000 Removes and applies better formatting (shorter lines) commit f55ca8f Author: David Lipnik <[email protected]> Date: Tue Mar 20 17:44:34 2018 +0000 Adds 'autoplaylist [+, -, add, remove]' command and refactors functioning parts of save/unsave commands commit 06f114b Author: David Lipnik <[email protected]> Date: Tue Mar 20 15:41:11 2018 +0000 Removes redundant newline and uses better wording on cmd-unsave-invalid exception commit 674da78 Author: David Lipnik <[email protected]> Date: Tue Mar 20 15:09:26 2018 +0000 Adds 'unsave' command
commit ddbc8e6 Author: Snow <[email protected]> Date: Fri May 17 11:11:51 2024 -0500 add some with multiple add latency as ping commit c79d72a Merge: 4c1326f dd96f1c Author: Snow <[email protected]> Date: Fri May 17 11:09:52 2024 -0500 Merge branch 'pr/2405' into dev commit 4c1326f Author: Snow <[email protected]> Date: Fri May 17 08:56:52 2024 -0500 fix broken resolve commit a76f648 Author: Fae <[email protected]> Date: Fri May 17 06:50:19 2024 -0700 Add uptime command (Just-Some-Bots#2407) Co-authored-by: Snow <[email protected]> commit c256eb9 Author: Fae <[email protected]> Date: Fri May 17 06:46:45 2024 -0700 Add latency and botlatency commands. (Just-Some-Bots#2406) commit dd96f1c Author: itsTheFae <[email protected]> Date: Fri May 17 06:26:36 2024 -0700 Add the follow command commit 876ffb8 Author: Fae <[email protected]> Date: Wed May 15 18:39:41 2024 -0700 Bug fixes, QOL tweaks, and code clean up. (Just-Some-Bots#2404) * Bug fixes, QOL tweaks, and code clean up. * Fix regression of relative seek. commit c7ac43a Author: Fae <[email protected]> Date: Wed May 15 06:31:49 2024 -0700 Add multi-playlist support and local media support. (Just-Some-Bots#2403) commit e2ad0fe Author: Fae <[email protected]> Date: Wed May 15 05:32:35 2024 -0700 Seek and speed features (Just-Some-Bots#2402) * Adds seeking and playback speed support. * Update example_options.ini * Add relative seek. commit 20e674d Author: Fae <[email protected]> Date: Tue May 14 08:33:08 2024 -0700 Installer updates (Just-Some-Bots#2401) * Update install.sh to work in cloned directory. * Update install.ps1 to work in cloned directory, and clean up some output. * Update install.bat to be more informative and less lazy. * Update run.py to show pip packages when checking, and handle missing discord.py when extensions are installed. * Tidy up comments * Update comment for disk check option. * Don't forget TerminateSignal can set an exit code now. * Remove refreshenv call commit bea0b46 Author: Fae <[email protected]> Date: Tue May 14 08:06:31 2024 -0700 remove unused bootstrap and travis files. (Just-Some-Bots#2400) commit 86e54e2 Author: Fae <[email protected]> Date: Mon May 6 19:52:12 2024 -0700 Add commands for config and permission editing and reloading. (Just-Some-Bots#2397) * Add commands for config and permission editing and reloading. Refactors how options are registered, and adds a new dependency configupdater. * Update example_options.ini * Some fixes for setperms commit 2b2b88a Author: Fae <[email protected]> Date: Fri Apr 5 09:20:01 2024 -0700 Round robin patch (Just-Some-Bots#2396) * Fix index errors in reorder_for_round_robin function. * Update comments commit 4c287a4 Author: Fae <[email protected]> Date: Fri Apr 5 07:44:04 2024 -0700 Updates for the Installer and Updater scripts. (Just-Some-Bots#2395) * Updates for installer and update scripts. Adds ffmpeg install step to install.ps1 using winget tool Installers now prompt before installing. SysD service file requires user and group settings. * Update requirements.txt to use voice and speed options for discord.py repo pull. commit e935b0d Merge: 9ed048c 7ba155e Author: Snow <[email protected]> Date: Thu Apr 4 13:34:13 2024 -0500 Merge branch 'dev' of https://github.com/Just-Some-Bots/MusicBot into dev commit 9ed048c Author: Snow <[email protected]> Date: Thu Apr 4 13:33:51 2024 -0500 use essentials build Use a newer binary file. commit 7ba155e Author: Fae <[email protected]> Date: Thu Apr 4 11:31:06 2024 -0700 General stability updates. (Just-Some-Bots#2394) * just debug logs mostly * Reorganize a little bit of logging at startup. still debugging though. * This should just be empty, for now... * clean up some logs. * no more async main in run.py. This refactors further signal and shutdown handling for the bot. * Fix up pip install attempt and make code checks happy. * Set console title in run.py main. Improve some more logic with graceful recovery cases. Fix some check complaints. * More fixes for graceful startup and shutdown on windows. * Use asyncio not self.loop. * Ensure restart still works as expected. * More fixes * pylint * restructure how on-ready fires other events. try not to send updates while on_ready runs first time. * fix the obviously broken bits. * Fix --no-checks only skip optional checks. Also log python version. * refine some exception handling in auto playlists and on shutdown. * Fix logic issue with auto playlist. * improve replace in autoplaylist. * Allow run.bat and run.sh to pass CLI args to python. Simplify checks done in run.sh. * Bootleg connection resumption. Probably still busted and shitty, but it's close. * Fix custom log functions to use stacklevel 2 on windows. Organize log formats in order of log level number. * correct stacklevel ... * Update voice_state_update warning to be more clear. * Create player is no serialized player exists. oops. :) * Ensure auto playlists actually kick off in non-serialized guild. * run formatting and tidy up some spam. * Move auto_pause and availability into MusicPlayer. * Change status updates to run on disconnect again, also adds an offline status for logout/shutdown. * Prevent deadlock if exception is thrown in signal handler. * change guild auto pause handler to wait for connection. * Update player.py formatting * Update network test with ICMP ping via sub process call * Make sure old queue.json does not stop the show. * Use shutil.which() to get ping binary path. Tries to catch errors from sys call. * Make sure shutil also fails gracefully. * proper 3.8 compatible types should be part of this too. * Copy over some missing changes. * Attempt to handle the discord API connection termination. * Fix backward logic. * Don't resume an auto-paused player when returning from network outage. * Fix race condition in unpause check. * remove entry_added check in favor of check on play * refactor playlist entry meta and handle auto-playlist expansion of playlist links differently. also disables extraction logs. also adds indicator for autoplaylist entries, though none should be enqueued to playlist queue now. * Try to avoid excessive auto-pause retry when player is being discarded/reconnected. * Attempt to rejoin on API termination when configured to auto-join. If auto-join bot is moved, attempt to join old channel instead. * remove redundant calls to finish_playing event. * Fix error with rouge player check in disconnect_all_voice_clients * Now playing messages should not repeat on reconnect. * fix erroneous logic in last_np_msg content check. * dyslexic logic strikes again. gotta love it. * Add more sanity checks to play-invoked unpause. Allow unpause check to trigger summon if perms.summonplay is set. * update self summon to pass message Added setting lnp in summon, which uses message so we need to pass it in our calls. * lnp inside of summon cmd Sets lnp inside the summon command for various instances when it's needed. A quality of life change surely. * last_np_msg should actually compare the content of embed and not just the hash in the collection. I'm an idiot. : ) * Track last played song subject for better control of last now playing message. * format fix * Respect queue persist option, and make sure auto-playlist starts without a queue. --------- Co-authored-by: Snow <[email protected]> commit 4823581 Author: Snow <[email protected]> Date: Thu Mar 21 23:01:55 2024 -0500 Revert "update binaries" This reverts commit 0d3b768. commit 0d3b768 Author: Snow <[email protected]> Date: Thu Mar 21 22:58:40 2024 -0500 update binaries commit 440482f Author: Snow <[email protected]> Date: Thu Mar 21 20:33:38 2024 -0500 Revert "update binaries" This reverts commit 76e7d36. commit 76e7d36 Author: Snow <[email protected]> Date: Sat Mar 16 21:29:39 2024 -0500 update binaries commit 1ad2cd2 Author: Snow <[email protected]> Date: Thu Mar 7 14:27:04 2024 -0600 new black version commit 03c10ea Author: Snow <[email protected]> Date: Thu Mar 7 14:13:55 2024 -0600 update self summon to pass message Added setting lnp in summon, which uses message so we need to pass it in our calls. commit 611f4c0 Author: Snow <[email protected]> Date: Thu Mar 7 13:39:03 2024 -0600 lnp inside of summon cmd Sets lnp inside the summon command for various instances when it's needed. A quality of life change surely. commit df97f58 Author: Snow <[email protected]> Date: Tue Mar 5 19:09:39 2024 -0600 remove pre commit as a requirment Didn't work as desired. Leaving files for those who want to use pre commit commit 2ce9dbc Author: Snow <[email protected]> Date: Fri Feb 16 20:11:32 2024 -0600 actually make max 1000 lol commit 1d635ba Author: Fae <[email protected]> Date: Wed Feb 14 12:07:13 2024 -0800 Graceful invalid queue (Just-Some-Bots#2391) * return none rather than raise an error on bad deserialize version. * Python 3.8 compat I somehow missed. * py 3.8 compat with proper formatting. * now actually use the type alias. * i am scatter brain today. :) commit 0b9f37b Author: Snow <[email protected]> Date: Tue Feb 13 22:20:36 2024 -0600 Update LICENSE commit 7dfd0be Author: Fae <[email protected]> Date: Tue Feb 13 20:06:56 2024 -0800 More player updates (Just-Some-Bots#2390) * Update spotify.py with doc strings, and linted/typed code. * Refactor Config and add constants for default file paths. Refactor server_specific_data into its own class. Adds bot commands `blockuser` and `blocksong` Removes command `blacklist` replaced by `blockuser` Adds a bunch of doc strings and linting/typing changes. * Make sure Files section get validated as well! * Update .gitignore * Update downloader.py, entry.py, json.py, and 4 more files * Update event_emitter.py * Update bot.py * Update config.py comma * Update en.json * Add blocklists to example_options.ini and add basic extractors to example_permissions.ini --------- Co-authored-by: Snow <[email protected]> commit d741aa2 Author: Fae <[email protected]> Date: Tue Feb 13 19:52:54 2024 -0800 Refactor config internals. (Just-Some-Bots#2389) * Refactor Config and add constants for default file paths. Refactor server_specific_data into its own class. Adds bot commands `blockuser` and `blocksong` Removes command `blacklist` replaced by `blockuser` Adds a bunch of doc strings and linting/typing changes. * Make sure Files section get validated as well! * Update .gitignore * forgot a comma. commit b55b5c3 Author: Fae <[email protected]> Date: Tue Feb 13 11:08:11 2024 -0800 Overhaul startup and logging, bring back graceful dep failures. (Just-Some-Bots#2387) Adds CLI args for logs and update checking. Includes bug fix for python 3.12 deprecation warning. Converts doBotInit() to setup_hook() Removes logging code from bot.py and musicbot/__init__.py Likely includes some groundwork for later changes in util.py commit 662fa3b Author: Fae <[email protected]> Date: Tue Feb 13 11:07:58 2024 -0800 Fix StatusMessage handling, and removes dead code. (Just-Some-Bots#2388) commit 516078e Author: Snow <[email protected]> Date: Sat Feb 10 19:56:37 2024 -0600 name change commit 04df6a7 Author: Snow <[email protected]> Date: Sat Feb 10 19:52:16 2024 -0600 Create pre-commit.yaml commit d33cb6a Author: Snow <[email protected]> Date: Sat Feb 10 19:49:06 2024 -0600 force black to run before commits. commit 331786c Author: DestinyofYeet <[email protected]> Date: Sat Feb 10 23:04:35 2024 +0100 Fix: File section is now validated (Just-Some-Bots#2386) * file section is now validated + black * black format I forgot to include * updated black and re-formatted commit fd6f854 Author: Snow <[email protected]> Date: Thu Feb 8 12:39:15 2024 -0600 Update playlist.py commit 592a754 Author: Fae <[email protected]> Date: Wed Feb 7 19:18:53 2024 -0800 Optimize play commands (Just-Some-Bots#2382) * half-broken start of a rewrite. * more half-broken code, stashing on repo :) * Substantially less broken, but still broken optimizations... * in the middle of changing ytdlp settings, so this is half broken still. we call to extract_info many more times that we maybe should, so its time to rectify that... * Mostly working, requires lots of cleanup. stashing for now. * Mostly working, mostly tested, just needs tidy up. * Flake8 and Black * Make Entry types use and serialize extracted info. * add shuffle for entries under shuffleplay command. * Cleanup with a bit of black, flake8 and mypy. * commit early and often, and this is why. Mostly code clean up. Coverage tests still pending. Tiny scope creeps: pldump now names files, and tries the public channel if DM fails. now playing status got a little brush up i guess... * patch issue in deserialize player. minor typing fixes. * Fix some empty channel check and bot check issues. * Fix print() in cmd_skip to use return Response instead. * Use is_empty_voice_channel util in channel activity checks. * Force HEAD requests and ytdlp to use the same UA string. Sending "MusicBot" UA to some providers will get blocked or rate limited quickly. * Get more info on duration failures. * Allow defer queue serialization for better disk IO when importing playlists. Preempt failure of YT links by checking for deleted/private names. Also changes track numbering for tracks missing titles. * run black * Fix mypy complaints against ytdlp options. * Actually send to channel when DM fails. :) * Detect youtube:search with 0 results. * Allow StageChannel type in is_empty_voice_channel * Forgot to import StageChannel * Improve download checks. * general clean up, add some notes for later. Also some black, flake8, and mypy compliance * check for missing author ahead of download call, and don't spam about it. * More typing and code clean up. * run black * Remove stream check to enable all media through stream... some code tidy up with info references. * Fix cmd_search for new backend. * remove unused method * run black and do some more mypy typing clean up. * Remove shlex from search. The search engines will handle the quotes. * Start PR prep, remove changes to ignore and flake file. * Replace EMOJI_IDLE_ICON with sleeping face emoji, and run Black. * Revert changes in run.py as out of scope from commit 6016bdb * Fix broken startup if logs directory is missing. * Add missing certifi requirement. * Fix bug with missing duration. * Better compound link support for youtube and ignored carrier videos. * black format commit 45f3b7d Author: Snow <[email protected]> Date: Mon Feb 5 18:16:58 2024 -0600 update readme to include black commit 8d11ae3 Author: Snow <[email protected]> Date: Mon Feb 5 18:01:07 2024 -0600 new black version commit 37bcf1f Author: Fae <[email protected]> Date: Mon Feb 5 15:53:13 2024 -0800 fix for timer events in server specific data. (Just-Some-Bots#2385) * hot fix for timer events in server specific data. * fix both events. commit 270da4d Author: Fae <[email protected]> Date: Fri Jan 26 11:38:31 2024 -0800 Fix missing logs bug (now on dev) (Just-Some-Bots#2384) * Fix broken startup is logs directory is missing. * Run black * Add certifi to requirements, since it's missing. commit 5810590 Author: Snow <[email protected]> Date: Mon Jan 22 19:08:21 2024 -0600 I haven't done anything productive in awhile Missed ` in i18n Changes show config on launch: only show timeout's if enabled. Add search list. commit 8d8148f Author: Snow <[email protected]> Date: Thu Jan 18 23:25:18 2024 -0600 Revert "add ping" This reverts commit 0a0e171. commit 0a0e171 Author: Snow <[email protected]> Date: Thu Jan 18 23:24:21 2024 -0600 add ping commit 7694da0 Author: Snow <[email protected]> Date: Thu Jan 11 13:53:46 2024 -0600 Change command disconnect Update the disconnect command so that it doesn't say disconnected when it doesn't have an active player in the guild. Additionally adds i18n support. Update cmd-restart-invalid-arg i18n to match with what's in the code. commit 01773d4 Author: Fae <[email protected]> Date: Mon Jan 8 18:45:11 2024 -0800 Restart overhaul - with upgrade commands (Just-Some-Bots#2373) * Attempt full process restart. Clean up bot.py global. Clean up some of run.py * Ensure discord TCPConnector is closed. Run black. * Use the correct creationflag name. * Fix _wait_delete_msg() to check for bot.is_closed() * Make sure logging is shutdown. * Add i18n and command responses. * Run black * attempt upgrade options for restart command * Remove unused code * load self.exit_signal with actual signal, not just type. * make it easier to get RestartCode qualities from RestartSignal * Update command output and help text. * ensure black formatting * git needs shell=True on linux * Actually decode bytes to utf8. * run black on merged dev * run black on merged dev * Clean up exception handling, and remove cruft import. * Clean up exception handling and remove cruft import. * Squashed commit of the following: commit 7b4b153 Author: Snow <[email protected]> Date: Mon Jan 8 20:43:33 2024 -0600 Remove shuffle play Can't get it working right, will look into again at a later time. Maybe we need to do something like get_info? --------- Co-authored-by: Snow <[email protected]> commit 7b4b153 Author: Snow <[email protected]> Date: Mon Jan 8 20:43:33 2024 -0600 Remove shuffle play Can't get it working right, will look into again at a later time. Maybe we need to do something like get_info? commit eb26ab9 Author: Fae <[email protected]> Date: Sat Jan 6 20:03:25 2024 -0800 Pause resume updates (Just-Some-Bots#2381) * Auto unpause when play-like commands are used. Clean up the old auto pause code (cause I've learned since then) * clean up a bit more, ensure things work. * Flake8 * actually import typing. * Quote the custom type * run black on dev merge. grumble grumble * correct the function comment. commit 13484ce Author: Fae <[email protected]> Date: Wed Dec 27 11:04:03 2023 -0800 Fix skip tally and cmd prefix bugs (Just-Some-Bots#2380) * Fix issue with _get_guild_cmd_prefix in non-guild channels. * tally num_skips by counting members who are in skippers set of author.id numbers. * remove TODO note. commit 8e8a433 Author: Snow <[email protected]> Date: Fri Dec 22 18:00:10 2023 -0600 remove todo commit 29a510d Author: Snow <[email protected]> Date: Fri Dec 22 17:29:58 2023 -0600 Fixes, and rework Rework repeat off. Set fallback owner group to have skip looped songs perms. commit 0cf25c1 Author: Fae <[email protected]> Date: Fri Dec 22 14:50:00 2023 -0800 Stop spotify playlists fetch on clear command (Just-Some-Bots#2378) * Exit the spotify album/playlist loops when clear is used. * add guild to command args, fix bad ref * ditch the sleep method. this should work well enough... commit a08f792 Author: Fae <[email protected]> Date: Fri Dec 22 14:49:15 2023 -0800 Update flake8 config and run Flake8 over the whole project. (Just-Some-Bots#2379) Also changes skip command permission checks for looped songs. commit 9c9e6ca Author: Fae <[email protected]> Date: Tue Dec 19 17:20:31 2023 -0800 Server specific data cleanup (Just-Some-Bots#2377) * use guild.id in server_specific_data key * auto black the whole repo. commit 7cde7ad Author: Fae <[email protected]> Date: Mon Dec 18 12:58:40 2023 -0800 Fix error thrown when non-yt link is used. (Just-Some-Bots#2374) * Fix error thrown when non-yt link is used. * run black commit e11464f Author: Fae <[email protected]> Date: Sat Dec 16 17:46:13 2023 -0800 Better SSL Patch (Just-Some-Bots#2371) * Proper fix for SSL issue on windows with missing cert store cert. This should only use certifi if certs are missing, not by default. * patch only when broken. * Fix bot._cleanup() method. Remove some code cruft from pre 3.8. Make sure aiohttp isn't closed prematurely... * Flake8, black, and general clean up. * Make sure to clean up what could be broken. * fix this little thing before it stops the show. * run black on run.py commit 7b18023 Author: Fae <[email protected]> Date: Sat Dec 16 12:34:46 2023 -0800 Fix error when timer options are missing and default int is used. (Just-Some-Bots#2372) commit 8ce4ce2 Author: Snow <[email protected]> Date: Fri Dec 15 22:07:43 2023 -0600 rework repeat command Add some new options and handle invalid options better. I found myself doing repeat on a lot and cycling through everything so I reworked it. Remove unnecessary json strings. commit cd9c168 Author: Snow <[email protected]> Date: Fri Dec 15 20:11:28 2023 -0600 run black commit 3d0132e Author: Snow <[email protected]> Date: Fri Dec 15 20:10:52 2023 -0600 small change Make np text less ugly commit 6083544 Author: Snow <[email protected]> Date: Fri Dec 15 17:10:06 2023 -0600 forgot black commit 117ec17 Author: Snow <[email protected]> Date: Fri Dec 15 17:09:02 2023 -0600 oops, that was server deafen. Need to find a better method of error catching, maybe let admin know we need perms then try again after sleeping for some time? commit 19a19e1 Author: Snow <[email protected]> Date: Fri Dec 15 15:05:24 2023 -0600 deafen if set to. Edit for stage channels to deafen if set to. commit 612f341 Author: Snow <[email protected]> Date: Fri Dec 15 14:26:47 2023 -0600 Fix stage channels Stage channels where being recognized as text channels. This should fix that. Closes Just-Some-Bots#2252 Add autoplaylist cache map to gitignore commit 9c14a19 Author: Fae <[email protected]> Date: Wed Dec 13 19:38:31 2023 -0800 Inactive player timeout & timer touch ups. (Just-Some-Bots#2366) * Add inactivity option based on player state, in addition to VC activity. * Naming consistency. * Fix auto join channels check. * clean up VC and guild references. Prevent redundant resets. * Add shorthand english time format support to time-related config options. Tiny scope creep for this branch... * missing import re * I should remove test prints before commits. * revert scope creep * Remove guild name from activity message. * Black & Flake8 * Make sure these timers don't block further execution. * Make some logs info level and remove log from finally to make it less chatty. * Update status message on disconnect. * Make sure to clear both active timers on disconnect. * Simplify update_now_playing_status. * check for paused players over just active players. * black * black * Prevent starting an already active VC timer. * Clarify and document options. * black * Revert to LeaveAfterSong to remain compatible with existing config. commit b557386 Author: Fae <[email protected]> Date: Wed Dec 13 18:20:27 2023 -0800 Prefix per server (Just-Some-Bots#2367) * Initial per-server command prefix * Add example_option, and file check. * clean up and add missing import json * add method to clear prefix * ensure black format. * Remove redundant space check. * Add i18n strings. * make command list less error prone in multi-guild. * Try to make emoji prefix possible. * black format * tidy output and add i18n string. * ensure prefix is listed. * Fix missing prefix * fix missing , in i18n/en.json * make emoji prefix work without backspace required. * Rename option to EnablePrefixPerGuild instead. * Add prefix history for better clean command, and match animated emoji/better emoji checking. * Fix typo, add regex emoji check to on_message, and convert regex to raw strings for Flake8. * Note for future reference * Better support for emoji in unicode rather than markdown. Fixed emoji check for animated emoji in help command. commit dcc703e Author: Fae <[email protected]> Date: Wed Dec 13 18:20:09 2023 -0800 Typing compatible with 3.8 (Just-Some-Bots#2370) commit 2785ac3 Author: Fae <[email protected]> Date: Tue Dec 12 12:13:24 2023 -0800 Cache autoplay retention option & cache folder option. (Just-Some-Bots#2365) * Add option and logic to retain autoplaylist data in cache. Testing required. * await preload in a proper place. * Add config option to set audio cache directory. Refactor audio cache into its own class. Clean up some auto playlist handling. All to enable cache retention of auto playlist entries... Some of this could help with stability in the long run though. * Flake8 & black and fix my errors. * Handle cache earlier. Actually save cachemap on updates... Add some maybe temporary logs for debug. * Playlist urls now removed from cache map on purge_from_ap. Fixed broken asyncio.Lock usage. Refactored with Flake8 and Black. Added annotations/typing * Use proper forward ref. * make autoplaylist command work without player in voice. Clarify example options more. * Count retained size against cache immediately. * satisfy flake8 and black * don't add the current size in the purge test. commit dce4dad Author: Fae <[email protected]> Date: Mon Dec 4 10:54:33 2023 -0800 Fix spotify ssl issue (Just-Some-Bots#2364) * patch spotify.py SSL with certifi * remove ssl_context from global scope commit 330b111 Author: Fae <[email protected]> Date: Sat Dec 2 15:40:46 2023 -0800 Allow cache config shorthand & clarify functionality. (Just-Some-Bots#2363) * StorageLimitBytes now with notation conversion. * Clarify/Document cache options in example_options.ini * Function name consistency. * Linux instead of *nix commit 10371b5 Author: Fae <[email protected]> Date: Thu Nov 30 12:54:09 2023 -0800 More audio cache options. (Just-Some-Bots#2362) * Lets try cache management. * early bail if no limits are set. Fix missing pathlib. * Fix invalid use of rmtree. * Fix bytes/days in show config * bytes typo * Log removed count and size to debug. * Add 'cache' command for info and on-demand clear. * Typo * format_bytes to 3 decimal places. Add 'days' in time limit info. * Format uses binary prefix, lets be clear. * Get file size early. * Fix formatting in example_options.ini * improve cache info. * Add basic automatic cache clear. * Update cached_audio_bytes when cleared * Make sure we update the cache size value. * might as well update here too. * Add i18n strings for cache command. * Throw command error on invalid option. * make sure example_options match config defaults. * Compat with Windows, only remove cache dir on startup, & fix sorting order. * Make SaveVideos=no work as expected on Windows. Also fix a typo. commit ff0cb1d Author: Snow <[email protected]> Date: Wed Nov 29 22:51:32 2023 -0600 Shuffle play fixes Fix that shuffleplay wasn't actually shuffling due to an early return. Follow same format as the rest of the help docs. Fix format issue for repeat command no songs errror. Add an expire in to repeat command no voice. commit 579eeb3 Author: Snow <[email protected]> Date: Wed Nov 29 21:08:31 2023 -0600 Clarification. Clarify that the playlist plays the first few songs in order only if nothing else is playing first. Also ran black. commit 8f36dad Author: Snow <[email protected]> Date: Wed Nov 29 20:50:05 2023 -0600 Fix mentions in now playing There's an issue where using mentions in a title doesn't convert and shows as <@numbers> instead. This ensures now playing mentions work correctly by putting it into a field instead of a title. I'm sure there's a better way to hack the name parameter for add_field but this seems work fine. commit b691d45 Author: Snow <[email protected]> Date: Wed Nov 29 19:43:51 2023 -0600 Shuffle the playlist I did this wrong, this will correctly shuffle the playlist after it's been fully downloaded. Due to the nature of how _cmd_play works, the first few songs of the playlist will be played in the order they are in the playlist. commit 7e2adb0 Author: Snow <[email protected]> Date: Wed Nov 29 19:13:27 2023 -0600 Adds shuffleplay A shorthand command of doing the play command and then the shuffle command commit 0d3eb97 Author: DestinyofYeet <[email protected]> Date: Tue Nov 28 23:26:27 2023 +0100 Round robin queue (Just-Some-Bots#2361) * Added a round-robin queue * ran black * added round_robin_queue to !option * ran black * changed default option to no * Extra info --------- Co-authored-by: Snow <[email protected]> commit dd98309 Author: DestinyofYeet <[email protected]> Date: Wed Nov 22 23:44:13 2023 +0100 "Now playing" now respects DeleteNowPlaying option (Just-Some-Bots#2358) commit 7295687 Author: Snow <[email protected]> Date: Wed Nov 22 13:52:49 2023 -0600 Squashed commit of the following: commit 607783b Author: DestinyofYeet <[email protected]> Date: Wed Nov 22 14:43:34 2023 +0100 "Now playing" now respects DeleteNowPlaying option commit e8eebff Author: Snow <[email protected]> Date: Fri Nov 17 15:51:20 2023 -0600 Remove checks for request usage. Something weird was going on where this was raising errors, even with no modifications to the code. commit 24e2798 Author: Snow <[email protected]> Date: Fri Nov 10 21:02:18 2023 -0600 only delete invoking if set to Also add missing expire_in commit 5fe6209 Author: P.H. Knot <[email protected]> Date: Tue Nov 7 01:22:06 2023 +0100 Include git in Dockerfile (Just-Some-Bots#2355) git is needed to install the git+https://github.com/Rapptz/discord.py pip dependency commit f141234 Author: Snow <[email protected]> Date: Sun Nov 5 21:30:23 2023 -0600 fix messages deleting even when set not to commit 1800656 Merge: 773fa3d 2dd4f73 Author: Snow <[email protected]> Date: Thu Oct 26 04:08:13 2023 -0500 Merge pull request Just-Some-Bots#2352 from DestinyofYeet/fix-autoplaylist-skipping-song fixed that the autoplaylist skips the current song playing when enabling it commit 2dd4f73 Author: DestinyofYeet <[email protected]> Date: Thu Oct 26 11:04:28 2023 +0200 fixed that the autoplaylist skips the current song playing when enabling it commit 773fa3d Merge: f9c3621 2be8f19 Author: Snow <[email protected]> Date: Thu Oct 26 03:53:20 2023 -0500 Merge pull request Just-Some-Bots#2351 from DestinyofYeet/move-message-fix Move message fix commit 2be8f19 Author: DestinyofYeet <[email protected]> Date: Thu Oct 26 10:46:08 2023 +0200 bot.py: fixed move-message en.json: fixed spelling mistakes commit f9c3621 Author: DestinyofYeet <[email protected]> Date: Thu Oct 19 23:46:37 2023 +0200 Disconnect timer (Just-Some-Bots#2350) * apparently auto_paused was needed, whoops * Made the text more informative and fixed a bug where the bot would not disconnect when moved between VC's * ran black commit ce179c1 Author: DestinyofYeet <[email protected]> Date: Thu Oct 19 22:42:23 2023 +0200 apparently auto_paused was needed, whoops (Just-Some-Bots#2349) commit 1653440 Merge: b5b6f32 03789a0 Author: Snow <[email protected]> Date: Thu Oct 19 15:28:12 2023 -0500 Merge pull request Just-Some-Bots#2348 from DestinyofYeet/disconnect-timer updated inactivity timeout logic commit 03789a0 Merge: fc49fe7 b1a1c8a Author: DestinyofYeet <[email protected]> Date: Thu Oct 19 22:23:25 2023 +0200 Merge remote-tracking branch 'origin/disconnect-timer' into disconnect-timer commit fc49fe7 Author: DestinyofYeet <[email protected]> Date: Thu Oct 19 22:23:21 2023 +0200 fixed bound channels and changed text as requested commit b1a1c8a Author: Snow <[email protected]> Date: Thu Oct 19 15:15:06 2023 -0500 Update example_options.ini Missed one lol commit 5cf64d8 Author: DestinyofYeet <[email protected]> Date: Thu Oct 19 21:29:51 2023 +0200 bot.py: updated inactivity timeout logic example_options.ini: added space between text and # commit b5b6f32 Author: Snow <[email protected]> Date: Fri Oct 13 20:32:58 2023 -0500 No real point in having a different set for this Refactor to use ssd instead of a separate list for guild ID's and timers. commit 764bc3b Author: Snow <[email protected]> Date: Fri Oct 13 06:07:51 2023 -0500 Attempt to send it to a channel. I'm not really sure if this is wanted or needed but I like it. If anyone complains it can always be removed. commit 0823941 Author: Snow <[email protected]> Date: Fri Oct 13 04:52:31 2023 -0500 Should close Just-Some-Bots#2265 Thanks ole for pointing out the way to do this. commit 13e1878 Author: Snow <[email protected]> Date: Fri Oct 13 04:06:36 2023 -0500 Remove unnecessary list. Never get's used. Every byte matters. commit 381634f Author: Snow <[email protected]> Date: Sun Oct 1 20:59:32 2023 -0500 change from debug to info. Make sure we don't disconnect from binded voice channels. Add a little more detail about canceled timers. commit 8acff12 Author: Snow <[email protected]> Date: Fri Sep 29 16:20:16 2023 -0500 forgot to run black over it commit 5e6686e Author: Snow <[email protected]> Date: Fri Sep 29 16:19:04 2023 -0500 I did not account for user moving to a different channel and taking the bot with them. commit a19faa3 Author: Snow <[email protected]> Date: Fri Sep 29 15:30:00 2023 -0500 Feat: Leave inactive VC after x time. Saw this requested a few different times. I tested with 1 server, hasn't been tested with multiple servers. Should be fine but time will tell. commit 922f5f2 Author: Snow <[email protected]> Date: Thu Sep 28 19:37:02 2023 -0500 waiting for pypi release. commit 54086ba Author: Snow <[email protected]> Date: Thu Sep 28 16:59:28 2023 -0500 Update requirements.txt Target was merged. commit c9f95d8 Merge: b8c744e cc769bb Author: Snow <[email protected]> Date: Thu Sep 28 13:27:51 2023 -0500 Merge pull request Just-Some-Bots#1544 from obi23lipnik/playlist_manipulations Adds 'autoplaylist' command to allow better autoplaylist manipulation commit cc769bb Author: Snow <[email protected]> Date: Thu Sep 28 13:24:12 2023 -0500 Remove redundant code and run black There was no point in having a save command since the autoplaylist command has it. commit f903623 Merge: de51079 b8c744e Author: Snow <[email protected]> Date: Thu Sep 28 13:06:39 2023 -0500 Merge branch 'dev' into pr/1544 commit b8c744e Author: Snow <[email protected]> Date: Wed Sep 27 19:08:37 2023 -0500 typo. Fix typo. commit 3eacf3f Author: Snow <[email protected]> Date: Wed Sep 27 19:07:01 2023 -0500 change video ID handling Update the way we grab a video ID from a url to account for links being used that don't have the watchv in it. Could potentially solve Just-Some-Bots#2341? commit 8b316d2 Author: TheerapakG <[email protected]> Date: Sun Sep 24 22:32:40 2023 +0700 fix: pass stderr bytesio for dpy voice rewrite (Just-Some-Bots#2336) commit 8c05005 Author: Snow <[email protected]> Date: Sun Sep 24 09:39:17 2023 -0500 target borkeds rewrite of voice handling commit 22905cd Author: TheerapakG <[email protected]> Date: Sun Sep 24 12:55:37 2023 +0700 refactor: remove PatchedBuff (Just-Some-Bots#2335) commit 870165f Author: Snow <[email protected]> Date: Sat Sep 9 20:01:30 2023 -0500 Update PULL_REQUEST_TEMPLATE.md Target the dev branch. commit de51079 Merge: 47a5e46 f068fe8 Author: BabyBoySnow <[email protected]> Date: Sat Jul 29 23:00:22 2023 -0500 Merge branch 'master' into pr/1544 commit 47a5e46 Author: David Lipnik <[email protected]> Date: Tue Mar 20 22:36:07 2018 +0000 Removes redundat cmd handle commit 1d1ca21 Author: David Lipnik <[email protected]> Date: Tue Mar 20 22:28:03 2018 +0000 Removes and applies better formatting (shorter lines) commit f55ca8f Author: David Lipnik <[email protected]> Date: Tue Mar 20 17:44:34 2018 +0000 Adds 'autoplaylist [+, -, add, remove]' command and refactors functioning parts of save/unsave commands commit 06f114b Author: David Lipnik <[email protected]> Date: Tue Mar 20 15:41:11 2018 +0000 Removes redundant newline and uses better wording on cmd-unsave-invalid exception commit 674da78 Author: David Lipnik <[email protected]> Date: Tue Mar 20 15:09:26 2018 +0000 Adds 'unsave' command
Original PR at Just-Some-Bots#2431 Created feature branch and squash commits based on feedback. `docker.yml`: build amd64 and arm64 images, then push to container registries (tested GitHub Container Registry and Docker Hub) `Dockerfile`: buildkit syntax, formatting, pip and python env vars, and optional label (used with gha) `docker-compose.example.yml`: refactored for implicit or unset directives based on Dockerfile `docker-entrypoint.sh`: get posix sh from env, remove bashisms, double quote cli args to avoid word splitting `.dockerignore`: added relevant files to ignore `.dive-ci`: analyzes docker images `.hadolint.yaml`: added to lint Dockerfiles `.gitignore`: added relevant files to ignore, annotated sections, added inclusions at the end `.env.example`: added to provide an example of the environment variables for docker compose builds
It seems that the rebase has reverted some of the features in the dev branch |
Yeah, this wont fly either. Sorry. Since this PR is from a branch, you should be able to force-push the clean copy and subsequent changes to that branch and reset the commits of this PR automatically. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the above comments are all very valid takes.
To add on, while I understand your reasoning behind adding them, theres no reason to add the following:
.env.example
- we dont need a.env
just for CI, these things should be contained to just the CI..dive-ci
- I have never heard of this and see no benefit to it.hadolint.yaml
- I have never heard of this and see no benefit to it
Beyond that, I'd say cut out all the extra fluff added. No one needs a defined docker compose network for this bot. That changes nothing other than increased diff. Less is more
paths: | ||
- 'Dockerfile*' | ||
- 'pyproject.toml' | ||
- 'poetry.lock' | ||
- 'requirements.txt' | ||
- '**.py' | ||
- '**.sh' | ||
- '.dockerignore' | ||
- '.env.example' | ||
- '.github/workflows/**' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what will this actually do? this seems largely pointless and should just be removed
- name: Set password by container registry | ||
run: | | ||
case "${{ env.REGISTRY_URL }}" in | ||
"ghcr.io") | ||
echo "REGISTRY_PASS=${{ secrets.GITHUB_TOKEN }}" >> $GITHUB_ENV | ||
;; | ||
*) | ||
if [ -n "${{ secrets.REGISTRY_PASS }}" ]; then | ||
echo "REGISTRY_PASS=${{ secrets.REGISTRY_PASS }}" >> $GITHUB_ENV | ||
else | ||
echo "REGISTRY_PASS secret is not set and registry is not recognized. Exiting..." | ||
exit 1 | ||
fi | ||
;; | ||
esac | ||
|
||
- name: Log into container registry | ||
if: github.event_name != 'pull_request' | ||
uses: docker/login-action@v3 | ||
with: | ||
registry: ${{ env.REGISTRY_URL }} | ||
username: ${{ env.REGISTRY_USER }} | ||
password: ${{ env.REGISTRY_PASS }} | ||
|
||
- name: Set image name | ||
id: image_name | ||
run: | | ||
if [ -n "${{ env.IMAGE }}" ]; then | ||
IMAGE="${{ env.IMAGE }}" | ||
else | ||
IMAGE=$(grep "LABEL org.opencontainers.image.title" Dockerfile | cut -d'"' -f2) | ||
fi | ||
echo "IMAGE=$IMAGE" >> $GITHUB_OUTPUT | ||
echo "IMAGE=$IMAGE" >> $GITHUB_ENV | ||
|
||
- name: Docker meta | ||
id: meta | ||
uses: docker/metadata-action@v5 | ||
with: | ||
images: | | ||
${{ env.REGISTRY_URL }}/${{ env.REGISTRY_USER }}/${{ steps.image_name.outputs.IMAGE }} | ||
tags: | | ||
type=schedule | ||
type=ref,event=branch | ||
type=ref,event=pr | ||
type=semver,pattern={{version}} | ||
type=semver,pattern={{major}}.{{minor}} | ||
type=semver,pattern={{major}} | ||
type=sha | ||
type=raw,value=latest,enable={{is_default_branch}} | ||
|
||
- name: Setup QEMU | ||
uses: docker/setup-qemu-action@v3 | ||
|
||
- name: Setup Docker Buildx | ||
uses: docker/setup-buildx-action@v3 | ||
|
||
- name: Build and push | ||
uses: docker/build-push-action@v6 | ||
with: | ||
context: . | ||
platforms: linux/amd64,linux/arm64/v8 | ||
push: ${{ github.event_name != 'pull_request' }} | ||
tags: ${{ steps.meta.outputs.tags }} | ||
labels: ${{ steps.meta.outputs.labels }} | ||
cache-from: type=registry,ref=${{ env.REGISTRY_URL }}/${{ env.REGISTRY_USER }}/${{ steps.image_name.outputs.IMAGE }}:buildcache | ||
cache-to: type=registry,ref=${{ env.REGISTRY_URL }}/${{ env.REGISTRY_USER }}/${{ steps.image_name.outputs.IMAGE }}:buildcache,mode=max |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is all so insanely complex for a simple task such as uploading a built docker image to github's container registry.
I built this exact workflow in another repo I maintain @ here, feel free to use it as inspiration as this workflow is really awful.
ENV PIP_DEFAULT_TIMEOUT=100 | ||
|
||
# don't generate .pyc, enable tracebacks on seg faults | ||
ENV PYTHONDONTWRITEBYTECODE=1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we dont want this enabled. It greatly reduces performance
# pip env vars | ||
ENV PIP_NO_CACHE_DIR=off | ||
ENV PIP_DISABLE_PIP_VERSION_CHECK=on | ||
ENV PIP_DEFAULT_TIMEOUT=100 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these aren't needed as well. No reason to add them
FROM python:3.8-alpine | ||
# syntax=docker/dockerfile:1.7.0 | ||
|
||
FROM python:3.8-alpine3.20 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is there any reason to deeply specify the alpine version?
environment: | ||
- APP_ENV=docker |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this isnt really needed unless we're using this in code somewhere.
networks: | ||
- musicbot | ||
working_dir: /musicbot | ||
|
||
networks: | ||
musicbot: | ||
name: musicbot | ||
driver: bridge |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
none of this networking stuff is needed.
Don't have the bandwidth for this. Take what you want or not.
glhf ✌️
________________________________
From: Rhino ***@***.***>
Sent: Thursday, October 17, 2024 11:42:55 PM
To: Just-Some-Bots/MusicBot ***@***.***>
Cc: pythoninthegrass ***@***.***>; Author ***@***.***>
Subject: Re: [Just-Some-Bots/MusicBot] feat: Update Docker and CI (PR #2432)
@srhinos requested changes on this pull request.
the above comments are all very valid takes.
To add on, while I understand your reasoning behind adding them, theres no reason to add the following:
* .env.example - we dont need a .env just for CI, these things should be contained to just the CI.
* .dive-ci - I have never heard of this and see no benefit to it
* .hadolint.yaml - I have never heard of this and see no benefit to it
Beyond that, I'd say cut out all the extra fluff added. No one needs a defined docker compose network for this bot. That changes nothing other than increased diff. Less is more
________________________________
In .github/workflows/docker.yml<#2432 (comment)>:
+ paths:
+ - 'Dockerfile*'
+ - 'pyproject.toml'
+ - 'poetry.lock'
+ - 'requirements.txt'
+ - '**.py'
+ - '**.sh'
+ - '.dockerignore'
+ - '.env.example'
+ - '.github/workflows/**'
what will this actually do
________________________________
In .github/workflows/docker.yml<#2432 (comment)>:
+ - name: Set password by container registry
+ run: |
+ case "${{ env.REGISTRY_URL }}" in
+ "ghcr.io")
+ echo "REGISTRY_PASS=${{ secrets.GITHUB_TOKEN }}" >> $GITHUB_ENV
+ ;;
+ *)
+ if [ -n "${{ secrets.REGISTRY_PASS }}" ]; then
+ echo "REGISTRY_PASS=${{ secrets.REGISTRY_PASS }}" >> $GITHUB_ENV
+ else
+ echo "REGISTRY_PASS secret is not set and registry is not recognized. Exiting..."
+ exit 1
+ fi
+ ;;
+ esac
+
+ - name: Log into container registry
+ if: github.event_name != 'pull_request'
+ uses: ***@***.***
+ with:
+ registry: ${{ env.REGISTRY_URL }}
+ username: ${{ env.REGISTRY_USER }}
+ password: ${{ env.REGISTRY_PASS }}
+
+ - name: Set image name
+ id: image_name
+ run: |
+ if [ -n "${{ env.IMAGE }}" ]; then
+ IMAGE="${{ env.IMAGE }}"
+ else
+ IMAGE=$(grep "LABEL org.opencontainers.image.title" Dockerfile | cut -d'"' -f2)
+ fi
+ echo "IMAGE=$IMAGE" >> $GITHUB_OUTPUT
+ echo "IMAGE=$IMAGE" >> $GITHUB_ENV
+
+ - name: Docker meta
+ id: meta
+ uses: ***@***.***
+ with:
+ images: |
+ ${{ env.REGISTRY_URL }}/${{ env.REGISTRY_USER }}/${{ steps.image_name.outputs.IMAGE }}
+ tags: |
+ type=schedule
+ type=ref,event=branch
+ type=ref,event=pr
+ type=semver,pattern={{version}}
+ type=semver,pattern={{major}}.{{minor}}
+ type=semver,pattern={{major}}
+ type=sha
+ type=raw,value=latest,enable={{is_default_branch}}
+
+ - name: Setup QEMU
+ uses: ***@***.***
+
+ - name: Setup Docker Buildx
+ uses: ***@***.***
+
+ - name: Build and push
+ uses: ***@***.***
+ with:
+ context: .
+ platforms: linux/amd64,linux/arm64/v8
+ push: ${{ github.event_name != 'pull_request' }}
+ tags: ${{ steps.meta.outputs.tags }}
+ labels: ${{ steps.meta.outputs.labels }}
+ cache-from: type=registry,ref=${{ env.REGISTRY_URL }}/${{ env.REGISTRY_USER }}/${{ steps.image_name.outputs.IMAGE }}:buildcache
+ cache-to: type=registry,ref=${{ env.REGISTRY_URL }}/${{ env.REGISTRY_USER }}/${{ steps.image_name.outputs.IMAGE }}:buildcache,mode=max
this is all so insanely complex for a simple task such as uploading a built docker image to github's container registry.
I built this exact workflow in another repo I maintain @ here<https://github.com/srhinos/primelooter/blob/main/.github/workflows/release.yml>, feel free to use it as inspiration as this workflow is really awful.
________________________________
In Dockerfile<#2432 (comment)>:
+ ca-certificates \
+ ffmpeg \
+ gcc \
+ git \
+ libffi \
+ libsodium \
+ opus-dev \
+ && rm -rf /var/cache/apk/*
+
+# pip env vars
+ENV PIP_NO_CACHE_DIR=off
+ENV PIP_DISABLE_PIP_VERSION_CHECK=on
+ENV PIP_DEFAULT_TIMEOUT=100
+
+# don't generate .pyc, enable tracebacks on seg faults
+ENV PYTHONDONTWRITEBYTECODE=1
we dont want this enabled. It greatly reduces performance
________________________________
In Dockerfile<#2432 (comment)>:
+# pip env vars
+ENV PIP_NO_CACHE_DIR=off
+ENV PIP_DISABLE_PIP_VERSION_CHECK=on
+ENV PIP_DEFAULT_TIMEOUT=100
these aren't needed as well. No reason to add them
________________________________
In Dockerfile<#2432 (comment)>:
@@ -1,4 +1,6 @@
-FROM python:3.8-alpine
+# syntax=docker/dockerfile:1.7.0
+
+FROM python:3.8-alpine3.20
is there any reason to deeply specify the alpine version?
________________________________
In docker-compose.example.yml<#2432 (comment)>:
+ environment:
+ - APP_ENV=docker
this isnt really needed unless we're using this in code somewhere.
________________________________
In docker-compose.example.yml<#2432 (comment)>:
+ networks:
+ - musicbot
+ working_dir: /musicbot
+
+networks:
+ musicbot:
+ name: musicbot
+ driver: bridge
none of this networking stuff is needed.
—
Reply to this email directly, view it on GitHub<#2432 (review)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AA7ILPYLVBL4QWJC6CKP2V3Z4CGU7AVCNFSM6AAAAABQE7DPEGVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDGNZWHE3DGMZYHE>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
@pythoninthegrass fwiw if you have a cellular device with unlimited data I recommend looking into pdanet+ an app which allows you to use your phones data on your computer. (Separate from hotspot) |
dev
branch (the latest developmental version), and this pull request is targeting that branch as a baseDescription
Original PR at #2431
Note
This PR includes recent updates from the
dev
branch. My specific contributions are focused on Docker and CI/CD improvements, as detailed in the commit "feat: update docker and CI/CD".I did my best to rebase my feature branch against the upstream dev, but ended up coauthoring a handful of commits.
Hoping that since github says the branch can be merged automatically, that should be sufficient 🤞
My key changes include:
docker.yml
for multi-architecture builds and container registry pushesDockerfile
with buildkit syntax and environment variable improvementsdocker-compose.example.yml
docker-entrypoint.sh
to remove bashisms and control for word splitting.dockerignore
,.dive-ci
, and.hadolint.yaml
for Docker build optimization and linting.gitignore
and added.env.example
These changes are aimed at improving the Docker-related aspects of the project and enhancing the CI/CD pipeline.
Related issues (if applicable)
Closes #2412