update v0.1.2, update self roles code

This commit is contained in:
2025-02-17 17:21:40 -05:00
parent bd4b67b619
commit a248066e9e
11 changed files with 172 additions and 160 deletions

View File

@@ -2,6 +2,7 @@ mod commands;
pub mod common;
pub mod inventory;
use crate::commands::self_roles;
use crate::common::{Context, Error, Data};
use std::env;
@@ -22,15 +23,31 @@ struct BotArgs {
}
async fn event_handler(
_ctx: &serenity::Context,
ctx: &serenity::Context,
event: &serenity::FullEvent,
_framework: poise::FrameworkContext<'_, Data, Error>,
_data: &Data,
data: &Data,
) -> Result<(), Error> {
match event {
serenity::FullEvent::Message { new_message: message } => {
if message.author.bot { return Ok(()) }
}
serenity::FullEvent::GuildMemberRemoval { guild_id, user, .. } => {
let mut tx = data.database.begin().await?;
if let Some(role) = self_roles::get_user_role(user.id, *guild_id, &mut *tx).await? {
guild_id.delete_role(ctx, role).await?;
self_roles::remove_role(role, *guild_id, &mut *tx).await?;
tx.commit().await?;
}
},
serenity::FullEvent::GuildRoleDelete { guild_id, removed_role_id, .. } => {
let mut tx = data.database.begin().await?;
self_roles::remove_role(*removed_role_id, *guild_id, &mut *tx).await?;
tx.commit().await?;
}
_ => (),
}
@@ -64,7 +81,9 @@ async fn main() -> Result<(), Error> {
serenity::GatewayIntents::GUILD_MESSAGES
| serenity::GatewayIntents::DIRECT_MESSAGES
| serenity::GatewayIntents::MESSAGE_CONTENT)
.unwrap_or(serenity::GatewayIntents::empty());
.unwrap_or(serenity::GatewayIntents::empty())
| serenity::GatewayIntents::GUILD_MEMBERS
| serenity::GatewayIntents::GUILDS;
let framework = poise::Framework::builder()
.options(poise::FrameworkOptions {