aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCara Salter <cara@devcara.com>2022-02-14 11:05:00 -0500
committerCara Salter <cara@devcara.com>2022-02-14 11:05:00 -0500
commiteee73de9008d5bb12e0d0994a4bc3c1247b52520 (patch)
treeda30118e0bb9924263b5b3f21d76fd3f6f725231 /src
parentf86d3cea5207f1ae64bff937429150ee38c13baf (diff)
downloadglitch-ng-eee73de9008d5bb12e0d0994a4bc3c1247b52520.tar.gz
glitch-ng-eee73de9008d5bb12e0d0994a4bc3c1247b52520.zip
Update dependencies
Diffstat (limited to 'src')
-rw-r--r--src/handler.rs70
1 files changed, 0 insertions, 70 deletions
diff --git a/src/handler.rs b/src/handler.rs
deleted file mode 100644
index 00cf0eb..0000000
--- a/src/handler.rs
+++ /dev/null
@@ -1,70 +0,0 @@
-use poise::serenity_prelude as serenity;
-
-use crate::models::ReactionRole;
-use crate::{Data, Error};
-
-pub async fn event_handler(
- ctx: &serenity::Context,
- event: &poise::Event<'_>,
- data: &Data,
-) -> Result<(), Error> {
- {
- let pool = data.pg.lock().unwrap().clone();
- match event {
- poise::Event::ReactionAdd { add_reaction } => {
- let current_user = ctx.http.get_current_user().await?;
- if add_reaction.user_id.unwrap() == current_user.id {
- return Ok(());
- }
- let rrole = sqlx::query_as!(
- ReactionRole,
- "SELECT * FROM reaction_roles WHERE message_id=$1 AND reaction=$2",
- add_reaction.message_id.0.to_string(),
- add_reaction.emoji.to_string()
- )
- .fetch_one(&pool)
- .await?;
- let member = ctx
- .http
- .get_member(
- rrole.guild_id.parse::<u64>()?,
- add_reaction.user_id.unwrap().0,
- )
- .await?;
- let member_roles = member.roles;
- let role_id = serenity::RoleId(rrole.role_id.parse::<u64>()?);
- if member_roles.contains(&role_id) {
- ctx.http
- .remove_member_role(
- member.guild_id.0,
- member.user.id.0,
- role_id.0,
- Some("Reaction Role Menu"),
- )
- .await?;
- } else {
- ctx.http
- .add_member_role(
- rrole.guild_id.parse::<u64>()?,
- add_reaction.user_id.unwrap().0,
- rrole.role_id.parse::<u64>()?,
- Some("Reaction Role"),
- )
- .await?;
- }
-
- let dm_chan = add_reaction
- .user_id
- .unwrap()
- .create_dm_channel(&ctx.http)
- .await?;
- dm_chan.say(ctx, format!("Toggled the role!")).await?;
-
- add_reaction.delete(&ctx.http).await?;
- }
- _ => (),
- }
- }
-
- Ok(())
-}