Commit graph

222 commits

Author SHA1 Message Date
Thongrapee Panyapatiphan 59cbc8b474
Announce current song (#470)
Co-authored-by: Max Isom <hi@maxisom.me>
2022-01-21 12:50:57 -06:00
Max Isom 7901fcce3d
add autocomplete 2022-01-19 18:15:12 -06:00
Max Isom 43baa57c51
Remove unnecessary properties 2022-01-19 14:00:50 -06:00
Max Isom 4169104c4d
Type fixes, remove shortcuts 2022-01-19 13:46:32 -06:00
Max Isom ed4e7b5ceb
Merge branch 'master' into feature/slash-commands 2022-01-19 13:40:48 -06:00
Max Isom 86e9936578
Update README, naming 2022-01-18 22:09:07 -06:00
Koopa 7090ed2a52
Add option to shuffle newly added playlist (#473)
Co-authored-by: Max Isom <codetheweb@users.noreply.github.com>
2022-01-17 13:17:31 -06:00
Federico "fuji97" Rapetti 0f0c3eb681 Wrap guild-wise command set code in a Promise.all() to correctly wait the API to resolve 2022-01-13 12:59:18 +01:00
Federico "fuji97" Rapetti 732a3bb87a Fix typo in guild-create.ts 2022-01-13 12:51:56 +01:00
Federico fuji97 Rapetti 03fdf1aab7 Refactor production checks 2022-01-12 00:47:54 +01:00
Federico fuji97 Rapetti ce686b4281 Fix lint commands and lint errors 2022-01-10 22:02:55 +01:00
Federico Rapetti 20018955 1a1e90a642
Merge branch 'feature/slash-commands' into feature/slash-commands 2022-01-10 20:24:23 +01:00
Federico fuji97 Rapetti ab164353c1 Refactor bot commands update system 2022-01-10 20:13:50 +01:00
Federico fuji97 Rapetti ac1fef836f Change welcome message to use slash command 2022-01-10 19:41:43 +01:00
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