this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix: starbard link to og msg

isabel c62039f5 f8649091

+41 -16
+41 -16
src/event_handler/starboard.rs
··· 1 1 use color_eyre::eyre::Result; 2 - use poise::serenity_prelude::{Context, FullEvent, ReactionType, Colour, EditMessage}; 2 + use poise::serenity_prelude::{Colour, Context, EditMessage, FullEvent, ReactionType}; 3 3 use rusqlite::Connection; 4 4 use std::sync::{LazyLock, Mutex}; 5 5 ··· 82 82 }; 83 83 84 84 // Get the message 85 - let message = reaction.channel_id.message(ctx, reaction.message_id).await?; 85 + let message = reaction 86 + .channel_id 87 + .message(ctx, reaction.message_id) 88 + .await?; 86 89 87 90 // Count star reactions 88 91 let star_count = message ··· 132 135 }; 133 136 134 137 if let Some(starboard_msg_id) = starboard_msg_id 135 - && let Ok(mut starboard_msg) = poise::serenity_prelude::ChannelId::new(starboard_channel_id) 136 - .message(ctx, poise::serenity_prelude::MessageId::new(starboard_msg_id as u64)) 138 + && let Ok(mut starboard_msg) = 139 + poise::serenity_prelude::ChannelId::new(starboard_channel_id) 140 + .message( 141 + ctx, 142 + poise::serenity_prelude::MessageId::new(starboard_msg_id as u64), 143 + ) 144 + .await 145 + { 146 + let embed = create_star_embed(&message, star_count as i32); 147 + starboard_msg 148 + .edit(ctx, EditMessage::new().embed(embed)) 137 149 .await 138 - { 139 - let embed = create_star_embed(&message, star_count as i32); 140 - starboard_msg.edit(ctx, EditMessage::new().embed(embed)).await.ok(); 141 - } 150 + .ok(); 151 + } 142 152 143 153 return Ok(()); 144 154 } ··· 152 162 ctx, 153 163 poise::serenity_prelude::CreateMessage::new() 154 164 .embed(embed) 155 - .content(format!("<#{}>", reaction.channel_id)), 165 + .content(format!( 166 + "https://discord.com/channels/{}/{}/{}", 167 + guild_id, reaction.channel_id, reaction.message_id 168 + )), 156 169 ) 157 170 .await 158 171 { ··· 206 219 }; 207 220 208 221 // Get the message 209 - let message = reaction.channel_id.message(ctx, reaction.message_id).await?; 222 + let message = reaction 223 + .channel_id 224 + .message(ctx, reaction.message_id) 225 + .await?; 210 226 211 227 // Count star reactions 212 228 let star_count = message ··· 233 249 if star_count < threshold as u64 { 234 250 // Remove from starboard 235 251 poise::serenity_prelude::ChannelId::new(starboard_channel_id) 236 - .delete_message(ctx, poise::serenity_prelude::MessageId::new(starboard_msg_id as u64)) 252 + .delete_message( 253 + ctx, 254 + poise::serenity_prelude::MessageId::new(starboard_msg_id as u64), 255 + ) 237 256 .await 238 257 .ok(); 239 258 ··· 256 275 257 276 // Update the starboard message 258 277 if let Ok(mut starboard_msg) = poise::serenity_prelude::ChannelId::new(starboard_channel_id) 259 - .message(ctx, poise::serenity_prelude::MessageId::new(starboard_msg_id as u64)) 278 + .message( 279 + ctx, 280 + poise::serenity_prelude::MessageId::new(starboard_msg_id as u64), 281 + ) 260 282 .await 261 283 { 262 284 let embed = create_star_embed(&message, star_count as i32); 263 - starboard_msg.edit(ctx, EditMessage::new().embed(embed)).await.ok(); 285 + starboard_msg 286 + .edit(ctx, EditMessage::new().embed(embed)) 287 + .await 288 + .ok(); 264 289 } 265 290 } 266 291 ··· 277 302 .icon_url(message.author.face()), 278 303 ) 279 304 .description(&message.content) 280 - .footer( 281 - poise::serenity_prelude::CreateEmbedFooter::new(format!("⭐ {star_count}")), 282 - ) 305 + .footer(poise::serenity_prelude::CreateEmbedFooter::new(format!( 306 + "⭐ {star_count}" 307 + ))) 283 308 .colour(Colour::GOLD) 284 309 .timestamp(message.timestamp); 285 310