示例#1
0
 public void RemoveAllReactionMessages(int type)
 {
     if (ReactionMessages.ContainsValue(type))
     {
         foreach (var item in ReactionMessages.Where(kvp => kvp.Value == type).ToList())
         {
             ReactionMessages.Remove(item.Key);
         }
     }
 }
示例#2
0
        private static void AddCustomMessages(AITalker talker)
        {
            talker.AttackMessages.AddRange(
                AttackMessages.Select((message) => new TyperMessage {
                Text = message
            })
                );

            talker.AngryMessages.AddRange(
                AngryMessages.Select((message) => new TyperMessage {
                Text = message
            })
                );

            talker.DeathMessages.AddRange(
                DeathMessages.Select((message) => new TyperMessage {
                Text = message
            })
                );

            talker.EquipmentMessages.AddRange(
                EquipmentMessages.Select((message) => new TyperMessage {
                Text = message
            })
                );

            talker.JokeMessages.AddRange(
                JokeMessages.Select((message) => new TyperMessage {
                Text = message
            })
                );

            talker.ReactionMessages.AddRange(
                ReactionMessages.Select((message) => new TyperMessage {
                Text = message
            })
                );

            talker.ReloadMessages.AddRange(
                ReloadMessages.Select((message) => new TyperMessage {
                Text = message
            })
                );
        }
示例#3
0
        private async Task ReactionAddedOrRemoved(Cacheable <IUserMessage, ulong> cache, ISocketMessageChannel channel, SocketReaction reaction)
        {
            if (reaction.User.Value.IsBot)
            {
                return;
            }

            if (ReactionMessages.Contains(cache.Id))
            {
                AnimaCharacter character = CharacterRepository.FindCurrentByMention <AnimaCharacter>(reaction.User.Value.Mention);
                if (character == null)
                {
                    await channel.SendMessageAsync("Error 404: Character not found or not loaded!");

                    return;
                }

                await channel.SendMessageAsync(string.Format("{0} {1}",
                                                             reaction.User.Value.Mention,
                                                             character.Roll(EmotesAction[reaction.Emote].ToLower(), 0)));
            }
            if (HelpMessages.ContainsKey(cache.Id))
            {
                if (reaction.Emote.Name == "\U000025c0")//Previous page
                {
                    var msg = await cache.GetOrDownloadAsync();

                    await msg.ModifyAsync(x => {
                        x.Content = "";
                        x.Embed   = HelpMessages[cache.Id].GetPreviousPage().Build();
                    });
                }
                else if (reaction.Emote.Name == "\U000025b6")//Next page
                {
                    var msg = await cache.GetOrDownloadAsync();

                    await msg.ModifyAsync(x =>
                    {
                        x.Content = "";
                        x.Embed   = HelpMessages[cache.Id].GetNextPage().Build();
                    });
                }
            }
        }