static void Main(string[] args) { var client = new TwitchConnection( cluster: ChatEdgeCluster.Aws, nick: "justinfan1", oauth: "sad9di9wad", // no oauth: prefix port: 6697, capRequests: new string[] { "twitch.tv/tags", "twitch.tv/commands" }, ratelimit: 1500, secure: true ); client.Connected += (object sender, IrcConnectedEventArgs e) => { Console.WriteLine("Connected"); client.JoinChannel("#b0aty"); }; client.MessageReceived += (object sender, IrcMessageEventArgs e) => { Console.WriteLine("Received: " + e.Message.ToString()); }; client.Reconnected += (object sender, EventArgs e) => { Console.WriteLine("Reconnected"); }; client.Connect(); }
private async void GetStreams() { IsLoading = true; // connection.CheckConnection(); // if (connection.IsConnected) // { Uri m3u8 = await api.UriAsync(Login); var streams = await api.GetStreamInfoAsync($"user_login={Login}"); UserModel users = new UserModel(); GameModel games = new GameModel(); foreach (var stream in streams.data) { users = await api.GetUserInfoAsync(stream.user_id); games = await api.GetGameInfoAsync(stream.game_id.ToString()); string set_atr_size; set_atr_size = games.data.FirstOrDefault(a => a.id == stream.game_id.ToString()).box_art_url.Replace("{width}", "85"); set_atr_size = set_atr_size.Replace("{height}", "113"); SelectedMedia = new MediaModel { Login = users.data[0].login, Atr_url = set_atr_size, Game_name = games.data.FirstOrDefault(a => a.id == stream.game_id.ToString()).name, Video_source = new Uri(await api.ParseM3UAsync(m3u8, "720p60")), Description = users.data.FirstOrDefault(a => a.id == stream.user_id).description, Display_name = users.data.FirstOrDefault(a => a.id == stream.user_id).display_name, Title = stream.title, Viewer_count = stream.viewer_count, View_count = users.data.FirstOrDefault(a => a.id == stream.user_id).view_count, ChatMessages = new ObservableCollection <ChatModel>(), UserID = stream.user_id, Logo = users.data[0].profile_image_url, }; } client.Connected += (object sender, IrcConnectedEventArgs e) => { Debug.WriteLine("Connected"); client.JoinChannel($"#{SelectedMedia.Login}"); }; client.MessageReceived += async(object sender, IrcMessageEventArgs e) => { await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { SelectedMedia.ChatMessages.Add(new ChatModel { User = $"{e.Message.User}", Message = $"{e.Message.Message}" }); }); Debug.WriteLine($"{e.Message.User.ToString()}: {e.Message.Message.ToString()}"); }; client.Reconnected += (object sender, EventArgs e) => { Debug.WriteLine("Reconnected"); }; thread.Start(); IsLoading = false; }