mirror of
https://github.com/arthur-pbty/shadowbot.git
synced 2026-06-08 07:10:55 +02:00
3e69185296
- Implemented `handle_message_update` to log message edits. - Created role event handlers for role creation, update, and deletion. - Added voice state update handling to log channel changes. - Introduced a new `ready_event` handler to restore bot presence and enforce blacklist. - Updated `mod.rs` to include new event modules. - Enhanced `main.rs` for database connection and initialization. - Added comprehensive permission management in `permissions.rs`.
50 lines
1.2 KiB
Rust
50 lines
1.2 KiB
Rust
use serenity::model::prelude::*;
|
|
use serenity::prelude::*;
|
|
|
|
use crate::commands::logs_service;
|
|
|
|
pub async fn handle_member_addition(ctx: &Context, new_member: &Member) {
|
|
logs_service::on_member_join(ctx, new_member.guild_id, &new_member.user).await;
|
|
}
|
|
|
|
pub async fn handle_member_removal(ctx: &Context, guild_id: GuildId, user: &User) {
|
|
logs_service::on_member_leave(ctx, guild_id, user).await;
|
|
}
|
|
|
|
pub async fn handle_member_update(
|
|
ctx: &Context,
|
|
old_if_available: Option<Member>,
|
|
new: Option<Member>,
|
|
event: &GuildMemberUpdateEvent,
|
|
) {
|
|
if let (Some(old), Some(new_member)) = (old_if_available.clone(), new.clone()) {
|
|
logs_service::on_member_roles_updated(
|
|
ctx,
|
|
new_member.guild_id,
|
|
new_member.user.id,
|
|
&old.roles,
|
|
&new_member.roles,
|
|
)
|
|
.await;
|
|
|
|
logs_service::on_boost_update(
|
|
ctx,
|
|
new_member.guild_id,
|
|
new_member.user.id,
|
|
old.premium_since,
|
|
new_member.premium_since,
|
|
)
|
|
.await;
|
|
return;
|
|
}
|
|
|
|
logs_service::on_boost_update(
|
|
ctx,
|
|
event.guild_id,
|
|
event.user.id,
|
|
None,
|
|
event.premium_since,
|
|
)
|
|
.await;
|
|
}
|