private void Monitor_OnStreamUpdate(object sender, OnStreamUpdateArgs e)
        {
            var snapshot = new StreamSnapshot(e.Stream, API);

            tableClient.AddEntity(snapshot);
            Console.WriteLine($"Stored Snapshop {snapshot.RowKey}");
        }
Exemple #2
0
 private static void Monitor_OnStreamUpdate(object sender, OnStreamUpdateArgs e)
 {
     Monitor_OnStreamOnline(sender, new OnStreamOnlineArgs()
     {
         Channel = e.Channel,
         Stream  = e.Stream
     });
 }
Exemple #3
0
 private void Monitor_OnStreamUpdate(object sender, OnStreamUpdateArgs e)
 {
     Log.Write($"Stream updated to {e.Stream.Title}");
 }
Exemple #4
0
 private void Monitor_OnStreamUpdate(object sender, OnStreamUpdateArgs e)
 {
     throw new NotImplementedException();
 }
Exemple #5
0
 private void OnStreamUpdate(object sender, OnStreamUpdateArgs e)
 {
     _logger.LogInformation("Assuming stream category or title has updated, rescheduling tasks");
     UnScheduleStreamTasks();
     //ScheduleStreamTasks(e.Stream.Title);
 }
Exemple #6
0
 private void Monitor_OnStreamUpdate(object sender, OnStreamUpdateArgs e)
 {
 }
Exemple #7
0
        private async Task UpdateNotificationAsync(EmbedBuilder eb, ConcurrentDictionary <string, Tuple <RestUserMessage, string, string, int> > lst, OnStreamUpdateArgs e)
        {
            try
            {
                var ee = await API.V5.Streams.GetStreamByUserAsync(e.Channel);

                if (lst.ContainsKey(e.Channel))
                {
                    var msg = lst[e.Channel];
                    await msg.Item1.ModifyAsync(x => x.Embed = eb.Build());

                    lst[e.Channel] = new Tuple <RestUserMessage, string, string, int>(msg.Item1, ee.Stream.Channel.Status, ee.Stream.Channel.Game, ee.Stream.Viewers);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }
Exemple #8
0
        private async void Monitor_OnStreamUpdateAsync(object sender, OnStreamUpdateArgs e)
        {
            if (DateTime.Now > LastTeamCheck.AddDays(1))
            {
                try
                {
                    var teamTemp = await API.V5.Teams.GetTeamAsync("wyktv");

                    // Check Team Count
                    if (teamTemp.Users.Length != MonitoredChannels.Count)
                    {
                        await UpdateMonitorAsync();

                        return;
                    }
                    else
                    {
                        // Check Name Change
                        int count  = 0;
                        var result = MonitoredChannels.Where(p => teamTemp.Users.All(p2 => p2.Id != p.Value));
                        foreach (var r in result)
                        {
                            count++;
                        }
                        if (count > 0)
                        {
                            await UpdateMonitorAsync();

                            return;
                        }
                    }
                    LastTeamCheck = DateTime.Now;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                }
            }

            var ee = await API.V5.Streams.GetStreamByUserAsync(e.Channel);

            if (_liveEmbeds.ContainsKey(e.Channel))
            {
                if (_client.ConnectionState == ConnectionState.Connected)
                {
                    if (Setup.DiscordAnnounceChannel == 0)
                    {
                        return;
                    }

                    var msg = _liveEmbeds[e.Channel];
                    if (msg.Item2 != ee.Stream.Channel.Status || msg.Item3 != ee.Stream.Channel.Game || msg.Item4 != ee.Stream.Viewers)
                    {
                        EmbedBuilder eb = SetupLiveEmbed($":link: {ee.Stream.Channel.DisplayName}", $"{ee.Stream.Channel.Status}", $"{ee.Stream.Channel.Game}",
                                                         ee.Stream.Preview.Medium + Guid.NewGuid().ToString(), ee.Stream.Channel.Logo, @"https://www.twitch.tv/" + ee.Stream.Channel.Name, ee.Stream.Viewers);

                        await UpdateNotificationAsync(eb, _liveEmbeds, e);

                        Console.WriteLine($"{Globals.CurrentTime} Monitor     Stream {ee.Stream.Channel.DisplayName} updated");
                        await Task.Delay(500);
                    }
                }
            }
        }
Exemple #9
0
 private void OnStreamUpdate(object sender, OnStreamUpdateArgs args)
 {
     this.OnStreamOnlineOrUpdate(args.Channel, args.Stream);
 }
 private void Monitor_OnStreamUpdate(object sender, OnStreamUpdateArgs e)
 {
     Console.WriteLine("Stream updated from Api");
 }