public async Task NextPageAsync(ReactionHandlerContext context) { if (curPage != pages.Count - 1) { await message.ModifyAsync(x => x.Embed = pages[++curPage]); } }
public async Task PreviousPageAsync(ReactionHandlerContext context) { if (curPage != 0) { await message.ModifyAsync(x => x.Embed = pages[--curPage]); } }
private async Task updateMessage(ReactionHandlerContext context, Poll poll) { var e = context.Message.Embeds.First().ToEmbedBuilder(); e.WithImageUrl(poll.GetChartURI()); await context.Message.ModifyAsync(x => { x.Embed = e.Build(); }); }
public async Task AddVote(ReactionHandlerContext context, string option) { var poll = Polls[context.Channel.Id].First(x => x.MessageID.Equals(context.Message.Id)); if (!poll.Voters.ContainsKey(context.Reaction.UserId)) { poll.Voters.Add(context.Reaction.UserId, option); } else { poll.Voters[context.Reaction.UserId] = option; } await UpdateDBAsync(context.Channel.Id); await updateMessage(context, poll); }
private async Task updateMessage(ReactionHandlerContext context, SocketRole role) { var e = context.Message.Embeds.First().ToEmbedBuilder(); e.Color = role.Color; e.Title = e.Title.Contains("Einladung") ? $"{role.Name} Einladung :{role.Id}" : $"{role.Name} Role Invite :{role.Id}"; foreach (EmbedFieldBuilder field in e.Fields) { if (field.Name.Equals("Members in role") || field.Name.Equals("Mitgliederanzahl der Rolle")) { field.Value = role.Members.Count(); } } await context.Message.ModifyAsync(x => { x.Embed = e.Build(); }); }
private async Task DeletePoll(ReactionHandlerContext context) { var user = await((ITextChannel)context.Channel).Guild.GetUserAsync(context.Reaction.UserId); if (user.GuildPermissions.ManageMessages) { await Program.ReactionHandler.ClearHandler(context.Message); if (Polls[context.Channel.Id].Count > 1) { Polls[context.Channel.Id].RemoveAll(x => x.MessageID == context.Message.Id); await UpdateDBAsync(context.Channel.Id); } else { Polls.Remove(context.Channel.Id); await RemoveFromDBAsync(context.Channel.Id); } } }
private async Task DrawGiveaway(ReactionHandlerContext context) { await DrawGiveaway(context.Reaction.UserId, context.Message); }
private async Task DeleteInvite(ReactionHandlerContext context) { await DeleteInvite(context.Reaction.UserId, context.Message); }
private async Task LeaveRole(ReactionHandlerContext context) { await LeaveRole(context.Reaction.UserId, context.Message); }
private async Task SkillUsed(ReactionHandlerContext context, int option) { if (context.Reaction.UserId == tmpUser.Id) { if (Rage >= Weapon.Moveset[option].RageConsumption) { Log = new List <string>(); Rage -= Weapon.Moveset[option].RageConsumption; Enemy.Rage -= (int)(NextEnemyMove.RageConsumption); var userDamage = (int)(Weapon.Moveset[option].DamageModifier * Weapon.BaseDamage - NextEnemyMove.DefenceModifier * Enemy.Damage + NextEnemyMove.DamageModifier * Enemy.Damage * Weapon.Moveset[option].DeflectModifier); var enemyDamage = (int)(NextEnemyMove.DamageModifier * Enemy.Damage - Weapon.Moveset[option].DefenceModifier * Weapon.BaseDefence + Weapon.Moveset[option].DamageModifier * Weapon.BaseDamage * NextEnemyMove.DeflectModifier); if (enemyDamage < 0) { enemyDamage = 0; } if (userDamage < 0) { userDamage = 0; } enemyDamage -= (int)Weapon.Moveset[option].HealthModifier; userDamage -= (int)NextEnemyMove.HealthModifier; if (userDamage >= 0) { Log.Add($"You [{Weapon.Moveset[option].Name}] the {Enemy.Name} for {userDamage} damage."); } else { Log.Add($"The {Enemy.Name} [{NextEnemyMove.Name}] itself for {userDamage * (-1)} health."); } if (enemyDamage < 0) { Log.Add($"You [{Weapon.Moveset[option].Name}] yourself for {enemyDamage * (-1)} health."); } else { Log.Add($"The {Enemy.Name} [{NextEnemyMove.Name}] you for {enemyDamage} damage."); } Health -= (int)(enemyDamage); Enemy.Health -= userDamage; if (Enemy.Health <= 0) { await Program.ReactionHandler.ClearHandler(Message); List <Entities.Item> loot = Enemy.GetLoot(); Log = new List <string>(); var tmpEnemy = StaticBase.Database.GetCollection <Entities.Enemy>("Enemies").FindSync(x => x.Name == Enemy.Name).First(); Log.Add($"You gained {tmpEnemy.Health * tmpEnemy.Damage * 10} Experience"); if (loot.Count > 0) { Log.Add($"You gained Loot: {string.Join(", ", loot.Select(x => string.Format("[{0}]", x.Name)))}"); } await MopsBot.Data.Entities.User.ModifyUserAsync(tmpUser.Id, x => { x.Experience += tmpEnemy.Health *tmpEnemy.Damage * 10; x.Inventory = x.Inventory ?? new List <int>(); x.Inventory.AddRange(loot.Select(y => y.Id)); }); await Message.ModifyAsync(x => x.Embed = EndEmbed().Result); return; } else if (Health <= 0) { await Program.ReactionHandler.ClearHandler(Message); Log = new List <string>(); Log.Add($"You died and lost {tmpUser.Experience/10} Experience"); await Message.ModifyAsync(x => x.Embed = EndEmbed().Result); await User.ModifyUserAsync(tmpUser.Id, x => x.Experience -= x.Experience / 10); return; } await Message.ModifyAsync(x => x.Embed = FightEmbed().Result); } } }