public async Task ReceiveAsync(LiveUrlInfo liveUrlInfo, string userAgent, List <Cookie> cookies) { var origin = $"https://mixch.tv"; _websocket = new Websocket(); _websocket.Received += Websocket_Received; _websocket.Opened += Websocket_Opened; var url = $"wss://chat.mixch.tv/{liveUrlInfo.Environment}/room/{liveUrlInfo.LiveId}"; await _websocket.ReceiveAsync(url, userAgent, origin); // 切断後処理 _heartbeatTimer.Enabled = false; }
public static async Task <LiveUrlInfo> GetLiveId(IDataSource dataSource, string input) { // LIVE_ID // https://mixch.tv/u/LIVE_ID/live var liveUrlInfo = new LiveUrlInfo(); var match = Regex.Match(input, regexLiveUrl); if (match.Success) { liveUrlInfo.Environment = match.Groups[1].Value; if (liveUrlInfo.Environment == "") { liveUrlInfo.Environment = "torte"; } liveUrlInfo.LiveId = match.Groups[2].Value; } else { throw new InvalidInputException(); } return(liveUrlInfo); }