Commit graph

87 commits

Author SHA1 Message Date
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 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 e4a8dde776
Always resume 2021-12-12 13:20:36 -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
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 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 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
Thongrapee Panyapatiphan 11eba5746d
Simplify code 2021-10-01 22:15:34 +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
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 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 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
Luis Ávila e59db76694
Fix URL cleaning: youtube IDs are not valid URLs 2021-09-14 19:07:43 +01:00
Max Isom fcbff53a7a
Clean URL search params
Closes #316
2021-09-14 09:43:34 -04: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 6355ca9d44
😏 2021-04-28 19:17:19 -04:00
Max Isom 5d92d4ed54
Allow skipping multiple tracks 2021-04-23 12:30:31 -04:00