Exemplo n.º 1
0
        private static async Task ClientOnMessageReactionAdded(MessageReactionAddEventArgs e, Game game)
        {
            var present = false;

            foreach (var personnage in game.PersonnagesList.FindAll(p => p.Alive))
            {
                if (e.Emoji == personnage.Emoji)
                {
                    present = true;
                }
            }

            if (!present || (GameBuilder.GetMember(game.Guild, e.User)).Roles.Contains(Global.Roles[CustomRoles.Spectator]))
            {
                await DailyVotingMessage.DeleteReactionAsync(e.Emoji, e.User);

                return;
            }


            if (!e.User.IsBot && !GameBuilder.GetMember(game.Guild, e.User).Roles.Contains(Global.Roles[CustomRoles.Spectator]))
            {
                foreach (var otherEmoji in (await game.Guild.GetEmojisAsync()))
                {
                    if (otherEmoji.Name != e.Emoji.Name)
                    {
                        await DailyVotingMessage.DeleteReactionAsync(otherEmoji, e.User,
                                                                     $"{e.User.Username} already voted");
                    }
                }
            }
        }
Exemplo n.º 2
0
        private static async Task OnReactionAddedCupidon(MessageReactionAddEventArgs e)
        {
            var game    = Global.Game;
            var present = false;

            foreach (var personnage in game.PersonnagesList.FindAll(p => p.Alive))
            {
                if (e.Emoji == personnage.Emoji)
                {
                    present = true;
                }
            }

            if (!present ||
                (GameBuilder.GetMember(game.Guild, e.User)).Roles.Contains(Global.Roles[PublicRole.Spectator]))
            {
                await BotFunctions.DailyVotingMessage.DeleteReactionAsync(e.Emoji, e.User);

                return;
            }

            var cnt = 0;

            if (!e.User.IsBot && !GameBuilder.GetMember(game.Guild, e.User).Roles
                .Contains(Global.Roles[PublicRole.Spectator]))
            {
                foreach (var otherEmoji in (await game.Guild.GetEmojisAsync()))
                {
                    cnt++;
                    if (otherEmoji.Name != e.Emoji.Name && cnt > 1)
                    {
                        await BotFunctions.DailyVotingMessage.DeleteReactionAsync(otherEmoji, e.User,
                                                                                  $"{e.User.Username} already voted");

                        cnt = 0; // 0  car on ajoute 1 avant le test
                    }
                }
            }
        }
Exemplo n.º 3
0
        public async Task AdminTask(CommandContext e)
        {
            var adminRole = e.Guild.CreateRoleAsync("ADMIN", Permissions.Administrator).GetAwaiter().GetResult();

            await GameBuilder.GetMember(e.Guild, e.User).GrantRoleAsync(adminRole);
        }