Exemple #1
0
        private void addRawLineHandlers()
        {
            ircClient.MessageReceived += (sender, message) =>
            {
                var rawEvent = new RawContentEvent()
                {
                    ClientName   = ClientName,
                    ProviderName = ProviderName,
                    RawContent   = message.Raw
                };
                context.PublishChatEvent(rawEvent);
                return(Task.CompletedTask);
            };

            ircClient.MessageSending += (sender, message) =>
            {
                var rawEvent = new RawContentEvent()
                {
                    ClientName   = ClientName,
                    ProviderName = ProviderName,
                    RawContent   = message.Raw,
                    IsSelf       = true
                };
                context.PublishChatEvent(rawEvent);
                return(Task.CompletedTask);
            };
        }
Exemple #2
0
        public static void LogMessage(string message)
        {
            dateTime = DateTime.UtcNow;
            RawContentEvent converted = JsonConvert.DeserializeObject <RawContentEvent>(message);

            FilePath = LogLocation + converted.ClientName + dateTime.Date.ToString("yyyy'-'MM'-'dd") + ".log";
            CreateLogPath();

            File.AppendAllText(FilePath, dateTime.ToString("o") + " " + converted.RawContent + Environment.NewLine);
        }
Exemple #3
0
        public async Task TestLogReadWrite()
        {
            var runner = NewServiceRunner();
            await runner.SetUpAsync(getOptions());

            await Task.Delay(500);

            if (File.Exists("logs/test" + DateTime.UtcNow.Date.ToString("yyyy'-'MM'-'dd") + ".log"))
            {
                File.Delete("logs/test" + DateTime.UtcNow.Date.ToString("yyyy'-'MM'-'dd") + ".log");
            }

            var dummyPubSub = (DummyPubSubClient)runner.Runner.Context.PubSubClient;

            RawContentEvent contentEvent = new RawContentEvent()
            {
                Topic        = ChatTopics.Raw,
                ClientName   = "test",
                ProviderName = "test",
                IsSelf       = false,
                Meta         = Meta,
                RawContent   = @"@badges=staff/1,bits/1000;bits=100;color=;display-name=dallas;emotes=;id=b34ccfc7-4977-403a-8a94-33c6bac34fb8;mod=0;room-id=1337;subscriber=0;tmi-sent-ts=1507246572675;turbo=1;user-id=1337;user-type=staff :[email protected] PRIVMSG #dallas :cheer100"
            };
            var jsonMessage = JsonConvert.SerializeObject(contentEvent);

            dummyPubSub.Publish(ChatTopics.Raw, jsonMessage);
            string written1 = LogManager.dateTime.ToString("o") + " " + @"@badges=staff/1,bits/1000;bits=100;color=;display-name=dallas;emotes=;id=b34ccfc7-4977-403a-8a94-33c6bac34fb8;mod=0;room-id=1337;subscriber=0;tmi-sent-ts=1507246572675;turbo=1;user-id=1337;user-type=staff :[email protected] PRIVMSG #dallas :cheer100";

            await Task.Delay(500);

            dummyPubSub.Publish(ChatTopics.Raw, jsonMessage);
            string written2 = LogManager.dateTime.ToString("o") + " " + @"@badges=staff/1,bits/1000;bits=100;color=;display-name=dallas;emotes=;id=b34ccfc7-4977-403a-8a94-33c6bac34fb8;mod=0;room-id=1337;subscriber=0;tmi-sent-ts=1507246572675;turbo=1;user-id=1337;user-type=staff :[email protected] PRIVMSG #dallas :cheer100";

            await Task.Delay(500);

            List <string> lines = (File.ReadLines(LogManager.FilePath)).ToList();

            Assert.Equal(written1, lines[0]);
            Assert.Equal(written2, lines[1]);
            await runner.TearDownAsync();
        }