Commit graph

208 commits

Author SHA1 Message Date
Max Isom 21c9dee6f8
Fix database path for Windows 2022-01-09 18:52:05 -06:00
Max Isom c3231defb8
Add script to clear key value cache 2022-01-07 13:47:53 -06:00
Max Isom 892c06a110
Bump discord.js 2022-01-07 12:38:07 -06:00
Max Isom c1f64486e1
Bump youtube.ts 2022-01-07 12:26:17 -06:00
Max Isom 65dd43ac68
Don't silently fail 2022-01-06 16:27:38 -06:00
Peerawas Archavanuntakun 51d378e4cb
Setup and migrate to Prisma (#456) 2022-01-05 14:30:32 -06:00
Max Isom 83fa78e9fa
Fix invite scope 2021-12-27 22:58:22 -06:00
Federico fuji97 Rapetti 55d8a2e97b Refactor shuffle command as slash command 2021-12-27 18:41:26 +01:00
Federico fuji97 Rapetti 65e1f975b9 Refactor seek command as slash command 2021-12-27 18:26:37 +01:00
Federico fuji97 Rapetti e7a87c4f52 Remove old functions from commands 2021-12-27 16:56:19 +01:00
Federico fuji97 Rapetti 29c32ce65e Refactor unskip command as slash command 2021-12-27 16:53:36 +01:00
Federico fuji97 Rapetti 1890f264ac Refactor skip command as slash command 2021-12-27 16:43:23 +01:00
Federico fuji97 Rapetti 995c0360fe Change module version to ES2020 2021-12-26 19:44:17 +01:00
Federico fuji97 Rapetti 7298ae1562 Update remove command to slash command 2021-12-26 18:06:24 +01:00
Federico fuji97 Rapetti 767cbf0e6c Rollback to Node v16.13.0 2021-12-26 18:05:56 +01:00
Federico fuji97 Rapetti 827ff350ee Improve commands registration 2021-12-26 04:45:50 +01:00
Max Isom c20e3b1760
Merge branch 'master' into feature/slash-commands 2021-12-21 21:14:59 -06:00
Max Isom 812d01edbd
Handle if queue reply is deleted 2021-12-21 21:02:07 -06:00
Max Isom e8e7591730
Merge branch 'master' into playlist-limit-config 2021-12-18 12:13:13 -06:00
Thongrapee Panyapatiphan 5ce3f92023
Revert incorrect changes 2021-12-18 14:53:00 +07:00
Max Isom d07dc5baf4
Merge branch 'master' into mutex 2021-12-17 18:36:31 -06:00
Max Isom 0b20cb3982
Start migrating queue command
Also: make it persistent & updating, add buttons 
2021-12-15 22:01:54 -05:00
Max Isom e965c02358
Migrate pause command 2021-12-15 13:46:03 -05:00
Max Isom cbc9aafe78
Migrate fseek command 2021-12-13 21:04:17 -05:00
Max Isom c33526b8b7
Migrate disconnect command 2021-12-13 20:51:08 -05:00
Max Isom c5e4c4b5cf
Migrate clear command 2021-12-13 20:45:34 -05:00
Max Isom cf7f6c7e8f
Merge branch 'master' into feature/slash-commands 2021-12-13 20:28:04 -05:00
Max Isom ffc8493ea3
Add splash banner and spinner progress for initial connection 2021-12-13 20:11:14 -05:00
Max Isom d2ab10a13a
Edit interaction reply if necessary for error messages 2021-12-12 20:31:55 -05:00
Max Isom dcb1351791
Migrate play command to slash command 2021-12-12 20:22:21 -05:00
Max Isom e4a8dde776
Always resume 2021-12-12 13:20:36 -05:00
Max Isom f1756b9e9c
Merge branch 'master' into play-behavior-fix-gpg 2021-12-12 13:00:05 -05:00
Max Isom f833b3b756
Merge branch 'master' into play-behavior-fix-gpg 2021-12-12 12:59:19 -05:00
Thongrapee Panyapatiphan d8086be5cf
Merge branch 'master' into playlist-limit-config 2021-12-09 17:55:29 +07:00
Max Isom 0396949b39
Check database direction for orphans 2021-12-07 20:36:37 -05:00
Max Isom 29ec1d0092
Revert back to static property 2021-12-03 11:28:50 -05:00
Max Isom 7ff54b9495
Use loop instead of recursion 2021-12-03 11:06:56 -05:00
Max Isom 4ffd679ddb
Update debug logging 2021-12-03 10:52:30 -05:00
Max Isom 3f0f97f762
Return when queue is empty 2021-12-03 10:45:09 -05:00
Max Isom 70a55e9a2e
Disable @typescript-eslint/no-implicit-any-catch
(Strict mode in TS 4.4 enables useUnknownInCatchVariables, so this is redundant.)
2021-12-03 10:36:06 -05:00
Hellyson Rodrigo Parteka b52f9253c2
add some debug logs 2021-12-03 03:26:36 -03:00
Hellyson Rodrigo Parteka af82be13f9
fix(file-cache): add queue to handle eviction of old files
This commit also removes the `await` from every stream creation. The eviction will be handled totally assyncronously. The only drawback is the possibility of  exceeding the cache limit for a moment, until the next execution of `evictOldest`.
This will only be a problem if the cache is set too close to the remaining disk space, which I wouldn't recomend.

I also removed the recursion.
2021-12-03 01:01:35 -03:00
Hellyson Rodrigo Parteka 3b2aa47e95
fix(file-cache): try/catch to prevent concurrency issues 2021-12-03 00:30:00 -03:00
Max Isom 9f9469f682
Add back -re option on uncached streams 2021-11-24 13:16:44 -06:00
Max Isom 49664be9e1
Change event to close 2021-11-24 12:03:54 -06:00
Max Isom 71b62cb3aa
Merge branch 'master' into feature/better-file-caching 2021-11-24 11:42:38 -06:00
Max Isom b93e6644b7
Merge branch 'master' into remove 2021-11-20 19:02:48 -05:00
Max Isom 490b082587
Update strings 2021-11-20 19:01:53 -05:00
DrunkenToast 7538a2ebb8
fix: loading message isn't required 2021-11-20 19:01:53 -05:00
DrunkenToast fe233cb98c
fix: range and q size check 2021-11-20 19:01:52 -05:00
DrunkenToast 5a74115beb
feat: remove from queue
+ fix typo queuecommand
2021-11-20 19:01:52 -05:00
Hellyson Rodrigo Parteka 46701a8aab
fix: change player.add(...) behavior 2021-11-20 19:01:52 -05:00
Hellyson Rodrigo Parteka 5cc74a3d51
fix: add missing DIRECT_MESSAGES intent 2021-11-20 19:01:52 -05:00
Hellyson Rodrigo Parteka fe5f9cf9a7
feat: discord.js v13 2021-11-20 19:01:51 -05:00
Max Isom 1ddd19dbb9
Only add event listeners once
See #372
2021-11-20 19:01:00 -05:00
Max Isom 34e45d6273
Add .removeOrphans() 2021-11-19 12:22:27 -05:00
Max Isom f5149dfaba
Move file caching logic to new FileCache service
Also: removes the -re ffmpeg option.
If this option is passed, ffmpeg won't write to fs-capacitor (and the cache file) as fast as possible.
In other words, the cache file won't finish writing until the entire stream has been played.
2021-11-19 12:13:45 -05:00
Max Isom 04c7e61fc0
Add FileCache model 2021-11-18 20:55:57 -05:00
Max Isom d805da906a
Rename existing cache model 2021-11-18 20:50:44 -05:00
Hellyson Rodrigo Parteka c16449b08f
fix: change player.add(...) behavior 2021-11-17 20:17:08 -03:00
Max Isom dd81fc47fd
Merge branch 'master' into bugfix/only-add-listeners-once 2021-11-17 16:16:00 -05:00
Hellyson Rodrigo Parteka 96bf53b28a
fix: add missing DIRECT_MESSAGES intent 2021-11-17 01:48:48 -03:00
Hellyson Rodrigo Parteka 8448feebb6
feat: discord.js v13 2021-11-12 16:30:18 -03:00
Max Isom a4e67d6383
Add -re flag
See #389, https://trac.ffmpeg.org/wiki/StreamingGuide
2021-10-31 11:20:59 -04:00
Max Isom defb56ed5e
Only add event listeners once
See #372
2021-10-03 12:59:26 -04:00
cheqpat 3924c8007c
Always autoplay rather than alerting that it is paused 2021-10-02 02:16:59 -05:00
cheqpat b91e072e2f
implement @udany's fix 2021-10-02 02:14:47 -05:00
Thongrapee Panyapatiphan 33b0ffa244
Update parsing and validation logic for playlist-limit config 2021-10-01 23:59:33 +07:00
Thongrapee Panyapatiphan 847c578b5d
Remove custom getter 2021-10-01 23:49:22 +07:00
Thongrapee Panyapatiphan 4364f459be
Add playlist-limit in config command 2021-10-01 22:33:39 +07:00
Thongrapee Panyapatiphan 11eba5746d
Simplify code 2021-10-01 22:15:34 +07:00
Thongrapee Panyapatiphan 56a899250e
Remove eslint rule disable statement 2021-10-01 21:13:37 +07:00
Thongrapee Panyapatiphan c9cc9a17b1
Read playlist song limit from Settings 2021-10-01 21:11:43 +07:00
Thongrapee Panyapatiphan 96dcc4a536
Revert "Add config for song limit per playlist"
This reverts commit 296a0a8178.
2021-10-01 20:48:32 +07:00
Thongrapee Panyapatiphan 296a0a8178
Add config for song limit per playlist 2021-09-30 23:55:21 +07:00
Hellyson Rodrigo Parteka 58cc548739
fix: wrong minute count in long videos 2021-09-28 04:27:55 -03:00
Jordan Nguy 7e14084163
Binds recursive call function to keep original scope 2021-09-25 17:50:10 -07:00
Max Isom c23f04ba5a
Warn if cache key is too short
See #357
2021-09-23 13:09:54 -04:00
Hellyson Rodrigo Parteka 3f210c53f4
fix: playlist load, cache key
Fixes #357
2021-09-23 00:41:26 -03:00
Max Isom abb02912c8
Add support for music.youtube.com URLs
Closes #355
2021-09-22 15:53:04 -04:00
Max Isom dcac22832d
Bump linter version 2021-09-19 22:24:46 -04:00
Max Isom fd782219ef
Move to ESM, use ytsr, implement caching
Closes #315
2021-09-19 22:09:09 -04:00
Max Isom efcdeb78c8
Reorg third party services & config 2021-09-19 19:50:25 -04:00
Max Isom 79e7e88fab
Remove requirement for DISCORD_CLIENT_ID
Closes #336
2021-09-18 17:04:04 -04:00
Max Isom 9a2ef876d3
Correctly skip song if unavailable
Also lets user know in text channel that song is unavailable after skipping.

Fixes #324
2021-09-18 16:55:50 -04:00
Luis Ávila cd9d5248ac
Join the message sender's channel if possible 2021-09-15 23:12:48 +01:00
Max Isom af8e81a569
Fix lint issues 2021-09-14 14:18:17 -04:00
Luis Ávila e59db76694
Fix URL cleaning: youtube IDs are not valid URLs 2021-09-14 19:07:43 +01:00
Max Isom 1212ffc102
Merge pull request #311 from likuilin/master
Remove Manage Messages perms requirement by only deleting own reactions
2021-09-14 13:39:45 -04:00
Max Isom 427654fc60
Use same logic for removing reactions when either animation is ongoing or animation is stopped 2021-09-14 13:35:54 -04:00
Max Isom fcbff53a7a
Clean URL search params
Closes #316
2021-09-14 09:43:34 -04:00
Max Isom 4bce011b0c
Fix type error
Closes #313
2021-09-13 13:18:06 -04:00
Kuilin Li 257191b183
Remove Manage Messages perms requirement by only deleting own reactions 2021-09-12 23:56:45 +00:00
Max Isom 1cb55cb8ce
Fix help command 2021-08-04 13:22:40 -05:00
Max Isom cf75afd4bc
Fix shuffle bug for long Spotify playlists
A random sample of 50 songs is taken for long playlists since mapping Spotify -> YouTube is expensive.
However, the function used previously allowed for duplicates within that sample of 50.
2021-05-30 15:01:11 -05:00
Max Isom d61107aedd
Add play immediate feature 2021-04-30 12:05:45 -04:00
Max Isom 6355ca9d44
😏 2021-04-28 19:17:19 -04:00
Max Isom 5d92d4ed54
Allow skipping multiple tracks 2021-04-23 12:30:31 -04:00
Max Isom 531da56dd0
Bump dependency 2021-04-01 15:28:46 -04:00
Max Isom 6e0d4c7927
Support playlists with more than 50 items 2021-04-01 15:20:18 -04:00