diff --git a/src/commands/self_roles/name.rs b/src/commands/self_roles/name.rs index 7f67cc2..59389e5 100644 --- a/src/commands/self_roles/name.rs +++ b/src/commands/self_roles/name.rs @@ -6,10 +6,10 @@ use poise::serenity_prelude::EditRole; /// Change the name of your personal role #[poise::command(slash_command, prefix_command)] pub async fn name(ctx: Context<'_>, name: String) -> Result<(), Error> { - let db = &ctx.data().database; + let mut tx = ctx.data().database.begin().await?; if let Some(guild) = ctx.guild_id() { - let role = match super::get_user_role(ctx.author().id, guild, db).await? { + let role = match super::get_user_role(ctx.author().id, guild, &mut *tx).await? { Some(role) => role, None => { let role = guild.create_role(ctx, EditRole::new().name(name)).await?; @@ -18,11 +18,13 @@ pub async fn name(ctx: Context<'_>, name: String) -> Result<(), Error> { .bind(ctx.author().id.get() as i64) .bind(role.id.get() as i64) .bind(guild.get() as i64) - .execute(db).await?; + .execute(&mut *tx).await?; let member = guild.member(ctx, ctx.author().id).await?; member.add_role(ctx, role.clone()).await?; + tx.commit().await?; + ctx.reply(format!("You've been given the {} role!", role)).await?; return Ok(());