From f4dccd65b2c246f473c26bec2e69c7d11c1ad2d1 Mon Sep 17 00:00:00 2001 From: Kappeh Date: Sun, 2 Feb 2025 22:45:53 +0000 Subject: [PATCH] Move member avatar url into utils --- .../src/commands/profile/mod.rs | 8 ++----- cipher_discord_bot/src/utils.rs | 24 ++++++++++++------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/cipher_discord_bot/src/commands/profile/mod.rs b/cipher_discord_bot/src/commands/profile/mod.rs index 976a4fd..28e07f7 100644 --- a/cipher_discord_bot/src/commands/profile/mod.rs +++ b/cipher_discord_bot/src/commands/profile/mod.rs @@ -6,7 +6,6 @@ use serenity::all::CreateEmbed; use crate::app::AppContext; use crate::app::AppError; -use crate::utils; mod codes; @@ -57,14 +56,11 @@ async fn show( }, }; - let avatar_url = member.avatar_url() - .or_else(|| member.user.avatar_url()) - .or_else(|| member.user.static_avatar_url()) - .unwrap_or_else(|| member.user.default_avatar_url()); + let avatar_url = crate::utils::member_avatar_url(&member); let embed_color = match member.colour(ctx) { Some(color) => color, - None => utils::bot_color(&ctx).await, + None => crate::utils::bot_color(&ctx).await, }; let mut embed = CreateEmbed::new() diff --git a/cipher_discord_bot/src/utils.rs b/cipher_discord_bot/src/utils.rs index 25cdd66..688ab7f 100644 --- a/cipher_discord_bot/src/utils.rs +++ b/cipher_discord_bot/src/utils.rs @@ -1,13 +1,11 @@ use cipher_core::repository::RepositoryProvider; -use serenity::all::{Color, GuildId}; +use serenity::all::Color; +use serenity::all::GuildId; +use serenity::all::Member; use crate::app::{AppCommand, AppContext, AppError}; -pub async fn register_in_guilds( - serenity_ctx: &serenity::client::Context, - commands: &[AppCommand], - guilds: &[GuildId], -) +pub async fn register_in_guilds(serenity_ctx: &serenity::client::Context, commands: &[AppCommand], guilds: &[GuildId]) where R: RepositoryProvider, { @@ -34,7 +32,9 @@ where member.and_then(|m| m.colour(ctx)).unwrap_or(Color::BLURPLE) } -pub async fn bot_avatar_url(ctx: &AppContext<'_, R, R::BackendError>) -> Result> +pub async fn bot_avatar_url( + ctx: &AppContext<'_, R, R::BackendError>, +) -> Result> where R: RepositoryProvider + Send + Sync, { @@ -50,8 +50,16 @@ where user.avatar_url() .or_else(|| user.static_avatar_url()) .unwrap_or_else(|| user.default_avatar_url()) - }, + } }; Ok(avatar_url) } + +pub fn member_avatar_url(member: &Member) -> String { + member + .avatar_url() + .or_else(|| member.user.avatar_url()) + .or_else(|| member.user.static_avatar_url()) + .unwrap_or_else(|| member.user.default_avatar_url()) +}