Commit Graph

219 Commits (26c7df783b6d66796dea757932cc55c735fb873c)
 

Author SHA1 Message Date
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 071e5f52fd
Change menu recreation now working without cloning
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 abc97bea45
Change MessageHandle to be a struct wrapping the IDs
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 cbdb2e3265
Change add_control on menu builder to pass the function instead of the Arc
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
Trivernis bba9c1dcf3
Merge pull request #8 from Trivernis/develop
Develop
4 years ago
trivernis bcd1a96c1b
Bump version
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 6d9415ba9d
Merge pull request #7 from Trivernis/develop
Subcrate coreutils
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 07865cb92a
Merge pull request #6 from Trivernis/develop
Fix sauce command image extraction
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 616bef4e34
Merge pull request #5 from Trivernis/develop
Add sauce command
4 years ago
trivernis c9fcae05db
Add sauce command
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
Trivernis fc9365cdff
Merge pull request #4 from Trivernis/develop
Add timeout to qalc command
4 years ago
trivernis e4a8334b63
Add timeout to qalc command
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
Trivernis 33da5cae69
Merge pull request #3 from Trivernis/develop
Add optional code argument to shutdown command
4 years ago
trivernis e11ff3f72f
Add optional code argument to shutdown command
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
Trivernis ad4f825e69
Merge pull request #2 from Trivernis/develop
Add version information to stats command
4 years ago
trivernis a7045ebe5a
Add version information to stats command
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis db2ee9a146
Merge branch 'main' of github.com:Trivernis/2b-rs 4 years ago
trivernis 8f98399ea9
Sanitize input of qalculate
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
Trivernis 32b74ba924
Merge pull request #1 from Trivernis/actions
Actions
4 years ago
trivernis bd1fc77f5c
Add toolchain information back to tasks
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis f54817c09a
Add extension to toolchain file to hopefully work
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis c4a6938029
Fix toolchain (hopefully)
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis b92d87c861
Add build task and remove input from toolchain setup
Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
trivernis d4cf0b76bd
Add build-and-release task and rust-toolchain file
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