trivernis
43f61d51f2
Add creation of now playing message to play commmand
...
The message can also be deleted with the delete button.
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
bb153a10a5
Add help display for menus
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
3ff8371680
Change command usage descriptions to be docopt compatible
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
274804ed8c
Change DJ role check to be a serenity check
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
e39fc35c05
Add ephemeral message table and delete them on startup
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
c0fce89a33
Add hashtag filter to song name cleaning regex
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
017f1e8f46
Change cleaing of song names for spotify search
...
Now the regex is applied before all nonalphanumeric chars are deleted.
Additionally everything in square brackets will be deleted.
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
0300966e56
Fix unavailable stored videos causing songs not to be played
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
658bc7fdc5
Add feedback button and improve song results
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
9931e75d8f
Add automatically adding youtube songs to store
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
49f4673213
Add aliases to qalc command
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
b87b1770fc
Add autosharding
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
786925d8e4
Switch to stable toolchain and add more info to stats command
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
8d6ed995e0
Improve error handling with forward_error macro
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
bbf9f1ef93
Add ephemeral message and use it for most music command answers
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
eede854ad4
Fix skipping causing songs to unpause
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
619d8aa30b
Add pain command
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
80289e5590
Add remove_song command
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
bba12ff763
Add move_song command
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
a98f401fbe
Change queue command to accept query and display an embed
...
The queue command now displays an embed with pagination and
allows for songs to be queried by providing arguments. Each argument
is interpreted as a keyword that is searched for.
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
80dfe4af07
Add number of times used to stats command
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
a2d2d5d930
Add statistics table to database to store command statistics
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
29e670da66
Add hint about play command to now playing dialog
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
a67fecc210
Add gifs table and matsuri, add_gif and gifs command
...
Added a gif table to store gifs with optional category and name
as. The command add_gif (owner only) can be used to add a gif to
the database. The command gifs can be used to see all the gifs
stored in the database. The gifs are being used by the pekofy and
matsuri command.
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
1bbbdc29f6
Move sauce and pekofy command to weeb group
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
8ed7cf90b3
Change to require dj permission for join with channel id
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
87cfba1bc8
Change menu pages to be wrapped in page type
...
The pages of a menu are now wrapped in an enum that contains either
a builder function or a static CreateMessage. The builder function
is used for the now playing message to always return the currently
playing song instead of mapping a static song. This solves the problem
that the old page is being rendered when the page is recreated because
of being sticky.
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
411dd83240
Add controls to now playing message and fix sticky menu
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
c6b80f8abd
Add sticky option to menus
...
Menus can now be created as sticky menus. When new messages appear
in the channel, the sticky message will be resent to be the latest
one in the channel. It only get's recreated every ten seconds max
to avoid getting ratelimited.
To work with recreatable menus, the message handle returned by
the menu is now wrapped into an Arc<RwLock<>>.
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
bf29b51092
Change music NowPlaying embed to be created as a menu
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
45d2ac84b1
Add enquote util and change run_command_async
...
The new enquote function is used to enquote command input.
For simplicity reasons the run_command_async doesn't read from
stdout and stderr separately anymore but uses `.output().await`
instead.
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
8b8fc8f814
Add rate limits to commands
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
15a06abf22
Add random title to sauce message
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
dc8a84c51e
Implement custom embed menu in subcrate
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
4d290a5091
Bump version and cleanup code
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
fd13f7ae64
Reimplement shuffle for VecDeque in coreutils
...
Introduced the new trait Shuffle that is implemented for
VecDeque and shuffles it. Previously the VecDeque
was shuffled with a function provided in the main utils module.
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
d2ea577762
Move run_command_async to bot-coreutils
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
0bbbf3594f
Reimplement is_image and is_video in coreutils
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
0c2c62e157
Add subcrate bot-coreutils
...
Add subcrate bot-coreutils to move some utilities that don't
depend too heavily on other crates and require heavy testing
there.
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
d54361deca
Change submodule name database to bot-databas for new naming scheme
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
255e11833b
Add about command and bump version
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
57292b2a5e
Fix sauce command image extraction
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
c9fcae05db
Add sauce command
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
e4a8334b63
Add timeout to qalc command
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
e11ff3f72f
Add optional code argument to shutdown command
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
a7045ebe5a
Add version information to stats command
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
8f98399ea9
Sanitize input of qalculate
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
9d4ed2dfb5
Add qalc command and improve README
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
2d980111bc
Change database operations to be async
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
0d43e8294e
Change dj role to be optional
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
69e7a2a18f
Add autodelete setting and sticky np embed
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
f36cf5a477
Change now playing to update automatically
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
f32228e61f
Remove prefix from music group
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
7005fa7317
Add time and timezone command
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
750ee7d0dc
Add lyrics command and format playlists list differently
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
0cb0a4c47b
Add command to manage playlists
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
6d75b840b4
Switch to diesel with postgres for the database
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
62d9664b35
Fix peko detection and add random rare pekos
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
60f300913d
Add peko alias and easteregg
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
cdeeb2e78d
Fix emojis with pekofy
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
f0d2111628
Add pekofy command
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
5ab22fd343
Add feature to automatically leave when the voicechannel is empty
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
6c9df7e044
Add shutdown and pause command
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
e9c70bc754
Add stats command
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
b4e874ae07
Add logging with fern
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
288675c2ea
Change song fetching to be lazy
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
7dc8087dac
Improve error reporting
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
dd5c9a3673
Add pagination to spotify and thread count lock for ytdl
...
Add pagination to the spotify wrapper to retreive all
songs in a playlist.
Add a thread count lock to the youtube-dl process to avoid
starting too many at once.
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
ca1f9e7ecf
Add spotify url support for music
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
8a94518747
Add querying to play command
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
b6dd726c17
Reimplement queue and add guild settings
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
1fad2950b5
Remove unrecognized command hook
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
1d0fa1816c
Add hooks and README
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
a6a603dbb5
Add music commands with songbird
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
6729a61190
Remove durability command and add item and enchantment command
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
56a939a244
Add minecraft durability command
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis
f630161356
Add initial structure
...
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago