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
Max Isom
faa1dcd5ec
Use yarn, remove manual type for package
2020-12-03 16:08:07 -05:00
Max Isom
e7bf2a4b47
Automatically refresh Spotify token
2020-10-31 10:42:06 -04:00
Max Isom
f941dbbddd
Fix setup wizard when there's >20 channels
2020-10-24 14:27:02 -04:00
Max Isom
30c8068363
Add permissions to invite link
2020-10-24 14:22:30 -04:00
Max Isom
e103282cd7
Fix auto translate search function
2020-10-24 13:11:29 -04:00
Max Isom
599dbce6e6
Bump packages
2020-10-24 12:32:43 -04:00
Max Isom
cd4b42a8f6
Bump dependencies
2020-08-24 14:53:18 -05:00
Max Isom
58fcc481ba
Bump dependencies
2020-05-30 21:37:40 -05:00
Max Isom
7fcd9a6a7d
Fix caching bug
2020-03-27 18:28:50 -05:00
Max Isom
7703506aae
Bump dependencies and add typing event handler
2020-03-27 17:14:08 -05:00
Max Isom
a2950ed722
Add bears handler and fix natural language handler priority
2020-03-27 15:44:49 -05:00
Max Isom
4e1a156f9b
Bump dependencies
2020-03-25 17:59:09 -05:00
Max Isom
dc70a37e96
Fix position tracking bug and catch ffmpeg errors
2020-03-25 17:32:43 -05:00
Max Isom
334a2bf0a0
Fix queue and player bugs
2020-03-23 19:40:54 -05:00
Max Isom
95ea8e9ad3
Remove redundent code
2020-03-20 20:51:33 -05:00
Max Isom
9c91ce1a13
Merge Player and Queue services
2020-03-20 20:47:04 -05:00
Max Isom
646f030781
Disable Sequelize stdout logging
2020-03-19 19:26:58 -05:00
Max Isom
f25467a41d
Small bug fixes
2020-03-19 19:16:07 -05:00
Max Isom
4659717e5f
Require user to be in voice channel
2020-03-19 17:39:55 -05:00
Max Isom
362ce89987
Disconnect when finished playing
2020-03-19 17:24:46 -05:00
Max Isom
3de34e5e4a
Fix Queue.removeCurrent()
2020-03-19 17:22:22 -05:00
Max Isom
7f39642c49
Add queue output, various bug fixes
2020-03-18 22:29:43 -05:00
Max Isom
0357373123
Limit playlist adds to 50 songs
2020-03-18 19:17:47 -05:00
Max Isom
a0c5875ee4
Add aliases to help
2020-03-18 19:01:18 -05:00
Max Isom
de1e761623
Add aliases
2020-03-18 18:57:21 -05:00
Max Isom
8340f9b95a
Add disconnect command
2020-03-18 18:29:32 -05:00
Max Isom
6a02088b04
Go Packers
2020-03-18 17:15:45 -05:00
Max Isom
e57d86d7cc
Allow seeking with hours
2020-03-18 12:55:03 -05:00
Max Isom
b1895627db
Don't cache long videos
2020-03-18 12:44:36 -05:00
Max Isom
11246812a6
Don't allow seeking past end of song
2020-03-18 12:40:31 -05:00
Max Isom
7844e80991
Refactor play command
2020-03-17 21:36:48 -05:00
Max Isom
c058ec95fe
Various bug fixes
2020-03-17 19:42:28 -05:00
Max Isom
15d4e251f2
Add better responses
2020-03-17 17:59:26 -05:00
Max Isom
1a1bdfd674
Add Dockerfile
2020-03-17 12:30:27 -05:00
Max Isom
426d0b0335
Add help command
2020-03-16 22:12:02 -05:00
Max Isom
ac21b5657b
Add auto disconnect
2020-03-16 20:14:15 -05:00
Max Isom
32cb3ca4ae
Add custom shortcut support
2020-03-16 19:37:54 -05:00
Max Isom
5eb1389a6f
Add say command
2020-03-16 12:13:18 -05:00
Max Isom
6e6fbfa591
Add Spotify artist URL support
2020-03-16 12:10:08 -05:00
Max Isom
53cd705bde
Allow skipping past current song in empty queue
2020-03-16 12:01:22 -05:00
Max Isom
18e851821c
Don't allow seeking in livestream
2020-03-15 20:11:45 -05:00
Max Isom
2875c6ceb8
Add pause/resume
2020-03-15 19:30:07 -05:00
Max Isom
e55acbb718
Add skip/unskip
2020-03-15 16:55:44 -05:00
Max Isom
3c169d113c
Add forward seek
2020-03-15 15:35:34 -05:00
Max Isom
bf0843dd1d
Don't cache livestreams
2020-03-15 15:13:12 -05:00
Max Isom
260d5d2d73
Don't try to connect to channel if already connected
2020-03-15 15:04:46 -05:00
Max Isom
3408c7a0c2
Use manager instances for guild services
2020-03-15 14:36:59 -05:00
Max Isom
0cebca7917
Improve seek command
2020-03-14 22:09:24 -05:00
Max Isom
d70bd16797
Add queue clear command
2020-03-14 22:03:31 -05:00
Max Isom
9e1d656e52
User changing config must be owner
2020-03-14 21:57:28 -05:00
Max Isom
2f0acaa858
Add livestream support
2020-03-14 21:48:08 -05:00
Max Isom
ad4d49f763
Add shuffle command
2020-03-14 12:41:00 -05:00
Max Isom
fb91c8e89c
Add better caching, seek command
2020-03-13 20:36:42 -05:00
Max Isom
c446e0fd57
Add artist field
2020-03-13 12:17:45 -05:00
Max Isom
17ba78f7b7
Use IoC, impliment queue
2020-03-12 22:41:26 -05:00
Max Isom
8eb4c8a6c0
Basic play functionality
2020-03-10 11:58:09 -05:00
Max Isom
652cc2e5ef
Add config command
2020-03-09 15:00:18 -05:00
Max Isom
eca84c8b69
Inital commit
2020-03-09 11:57:39 -05:00