parent
4d67dce3cd
commit
b9f9359ed7
@ -0,0 +1,14 @@
|
|||||||
|
use crate::commands::weeb::post_random_media;
|
||||||
|
use serenity::client::Context;
|
||||||
|
use serenity::framework::standard::macros::command;
|
||||||
|
use serenity::framework::standard::CommandResult;
|
||||||
|
use serenity::model::channel::Message;
|
||||||
|
|
||||||
|
#[command]
|
||||||
|
#[description("Posts a random korone gif")]
|
||||||
|
#[usage("")]
|
||||||
|
#[aliases("yubi")]
|
||||||
|
#[bucket("general")]
|
||||||
|
async fn korone(ctx: &Context, msg: &Message) -> CommandResult {
|
||||||
|
post_random_media(ctx, msg, "korone").await
|
||||||
|
}
|
@ -1,26 +1,13 @@
|
|||||||
use crate::utils::context_data::get_database_from_context;
|
use crate::commands::weeb::post_random_media;
|
||||||
use crate::utils::error::BotError;
|
|
||||||
use rand::prelude::IteratorRandom;
|
|
||||||
use serenity::client::Context;
|
use serenity::client::Context;
|
||||||
use serenity::framework::standard::macros::command;
|
use serenity::framework::standard::macros::command;
|
||||||
use serenity::framework::standard::CommandResult;
|
use serenity::framework::standard::CommandResult;
|
||||||
use serenity::model::channel::Message;
|
use serenity::model::channel::Message;
|
||||||
|
|
||||||
static MEDIA_CATEGORY: &str = "matsuri";
|
|
||||||
|
|
||||||
#[command]
|
#[command]
|
||||||
#[description("Posts a random matsuri gif")]
|
#[description("Posts a random matsuri gif")]
|
||||||
#[usage("")]
|
#[usage("")]
|
||||||
#[bucket("general")]
|
#[bucket("general")]
|
||||||
async fn matsuri(ctx: &Context, msg: &Message) -> CommandResult {
|
async fn matsuri(ctx: &Context, msg: &Message) -> CommandResult {
|
||||||
let database = get_database_from_context(ctx).await;
|
post_random_media(ctx, msg, "matsuri").await
|
||||||
let media = database.get_media_by_category(MEDIA_CATEGORY).await?;
|
|
||||||
let gif = media
|
|
||||||
.into_iter()
|
|
||||||
.choose(&mut rand::thread_rng())
|
|
||||||
.ok_or(BotError::from("No gifs found."))?;
|
|
||||||
|
|
||||||
msg.channel_id.say(ctx, gif.url).await?;
|
|
||||||
|
|
||||||
Ok(())
|
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,36 @@
|
|||||||
use serenity::framework::standard::macros::group;
|
use serenity::framework::standard::macros::group;
|
||||||
|
|
||||||
|
mod korone;
|
||||||
mod matsuri;
|
mod matsuri;
|
||||||
mod pekofy;
|
mod pekofy;
|
||||||
mod sauce;
|
mod sauce;
|
||||||
|
|
||||||
|
use crate::utils::context_data::get_database_from_context;
|
||||||
|
use crate::utils::error::BotError;
|
||||||
|
use rand::prelude::IteratorRandom;
|
||||||
|
use serenity::client::Context;
|
||||||
|
use serenity::framework::standard::CommandResult;
|
||||||
|
use serenity::model::channel::Message;
|
||||||
|
|
||||||
|
use korone::KORONE_COMMAND;
|
||||||
use matsuri::MATSURI_COMMAND;
|
use matsuri::MATSURI_COMMAND;
|
||||||
use pekofy::PEKOFY_COMMAND;
|
use pekofy::PEKOFY_COMMAND;
|
||||||
use sauce::SAUCE_COMMAND;
|
use sauce::SAUCE_COMMAND;
|
||||||
|
|
||||||
#[group]
|
#[group]
|
||||||
#[commands(pekofy, sauce, matsuri)]
|
#[commands(pekofy, sauce, matsuri, korone)]
|
||||||
pub struct Weeb;
|
pub struct Weeb;
|
||||||
|
|
||||||
|
/// Posts a random media entry with the given category
|
||||||
|
async fn post_random_media(ctx: &Context, msg: &Message, category: &str) -> CommandResult {
|
||||||
|
let database = get_database_from_context(ctx).await;
|
||||||
|
let media = database.get_media_by_category(category).await?;
|
||||||
|
let gif = media
|
||||||
|
.into_iter()
|
||||||
|
.choose(&mut rand::thread_rng())
|
||||||
|
.ok_or(BotError::from("No media found."))?;
|
||||||
|
|
||||||
|
msg.channel_id.say(ctx, gif.url).await?;
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue