use crate::{Context, Error};
async fn child2_check(_ctx: Context<'_>) -> Result<bool, Error> {
println!("Child2 check executed!");
Ok(true)
}
async fn child1_check(_ctx: Context<'_>) -> Result<bool, Error> {
println!("Child1 check executed!");
Ok(true)
}
async fn parent_check(_ctx: Context<'_>) -> Result<bool, Error> {
println!("Parent check executed!");
Ok(true)
}
#[poise::command(slash_command, prefix_command, check = "child2_check")]
async fn child2(ctx: Context<'_>, _b: bool, _s: String, _i: u32) -> Result<(), Error> {
ctx.say(ctx.invocation_string()).await?;
Ok(())
}
#[poise::command(
slash_command,
prefix_command,
subcommands("child2"),
check = "child1_check"
)]
async fn child1(_ctx: Context<'_>) -> Result<(), Error> {
Ok(())
}
#[poise::command(
slash_command,
prefix_command,
subcommands("child1"),
check = "parent_check"
)]
pub async fn parent_checks(_ctx: Context<'_>) -> Result<(), Error> {
Ok(())
}