コード例 #1
0
        public TwitchChatMessage Parse(
            TwitchChatSender sender,
            string message,
            IChatMessageWordResolver wordResolver,
            IChatMessageEmoteResolver emoteResolver)
        {
            var parts = new List <TwitchChatMessagePart>();
            var words = message.Split(' ');
            //var emotes = knownEmotes?.Emotes;
            var index = -1;

            foreach (var token in words)
            {
                ++index;
                var emote = emoteResolver.Resolve(token);
                if (emote != null)
                {
                    if (index > 0)
                    {
                        parts.Add(new TwitchChatMessagePart("text", " "));
                    }
                    parts.Add(new TwitchChatMessagePart("emote", emote.ImageUrl));
                    continue;
                }

                var word = wordResolver.Resolve(token);
                if (index > 0)
                {
                    parts.Add(new TwitchChatMessagePart("text", " "));
                }
                parts.Add(new TwitchChatMessagePart("text", word));
            }

            return(new TwitchChatMessage(sender, parts.ToArray()));
        }
コード例 #2
0
ファイル: TwitchCommand.cs プロジェクト: zerratar/TWitcher3
 public TwitchChatMessage(TwitchChatSender sender, TwitchChatMessagePart[] message)
 {
     Sender  = sender;
     Message = message;
 }