示例#1
0
 private void ReactionRemoved(DSharpPlus.EventArgs.MessageReactionRemoveEventArgs obj)
 {
     if (obj.Emoji.GetDiscordName() == Emojies.SUB)
     {
         RemoveUserFromSubs(obj.User);
     }
     else if (obj.Emoji.GetDiscordName() == Emojies.UNSUB)
     {
         AddUserToSubs(obj.User);
     }
 }
示例#2
0
        private async Task OnReactionRemoved(DSharpPlus.EventArgs.MessageReactionRemoveEventArgs e)
        {
            var guild = e.Channel.Guild;

            if (await RoleMap.IsMessageMapped(guild, e.Message))
            {
                //Get the mapping
                DiscordRole role = await RoleMap.GetMapping(guild, e.Emoji);

                if (role != null)
                {
                    var member = await guild.GetMemberAsync(e.User.Id);

                    await guild.RevokeRoleAsync(member, role, "Response to reaction");
                }
            }
        }
示例#3
0
        private async Task Client_MessageReactionRemoved(DSharpPlus.EventArgs.MessageReactionRemoveEventArgs e)
        {
            using var sankakuContext = new SankakuModel.SankakuContext();
            using var discordContext = new DiscordContext();

            var message = await discordContext.SankakuPost.FirstOrDefaultAsync(post => post.MessageId == Convert.ToInt64(e.Message.Id));

            if (message != null)
            {
                int VoteValue = 0;

                string discordName = e.Emoji.GetDiscordName();

                if (Config.Emojis.Confirms.Contains(discordName))
                {
                    VoteValue = 1;
                }
                else if (Config.Emojis.Love.Contains(discordName))
                {
                    VoteValue = 3;
                }
                else if (Config.Emojis.Declines.Contains(discordName))
                {
                    VoteValue = -1;
                }
                else if (Config.Emojis.Hate.Contains(discordName))
                {
                    VoteValue = -3;
                }

                var vote = await sankakuContext.ImageVote.FirstOrDefaultAsync(sankakuVote => sankakuVote.ImageId == message.ImageId &&
                                                                              sankakuVote.UserId == Convert.ToInt64(e.User.Id) &&
                                                                              sankakuVote.VoteValue == VoteValue);

                if (vote != null)
                {
                    sankakuContext.ImageVote.Remove(vote);
                }

                await sankakuContext.SaveChangesAsync();
            }
        }
示例#4
0
 public static Task Client_MessageReactionRemoved(DiscordClient sender, DSharpPlus.EventArgs.MessageReactionRemoveEventArgs e)
 {
     return(Task.CompletedTask);
 }
示例#5
0
 private Task Discord_MessageReactionRemoved(DiscordClient sender, DSharpPlus.EventArgs.MessageReactionRemoveEventArgs e)
 {
     return(RoleManager.CheckReactionRemovedAsync(e));
 }