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>
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>
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>
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>