public static async Task Multicast(IEnumerable <string> to, IEnumerable <IMessageObject> messages, bool notificationDisabled = false) { var accessToken = Environment.GetEnvironmentVariable("LINE_CHANNEL_ACCESS_TOKEN"); var client = new ServiceCollection().AddHttpClient().BuildServiceProvider().GetService <IHttpClientFactory>() .CreateClient(); client.DefaultRequestHeaders.Add("ContentType", "application/json"); client.DefaultRequestHeaders.Add("Authorization", $"Bearer {accessToken}"); var requestItem = new MultiCastMessage(to, messages) { NotificationDisabled = notificationDisabled }; var bodyJson = JsonConvert.SerializeObject(requestItem, Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); var content = new StringContent(bodyJson, Encoding.UTF8, "application/json"); var result = await client.PostAsync("https://api.line.me/v2/bot/message/multicast", content); if (result.IsSuccessStatusCode) { return; } var errorMessage = await result.Content.ReadAsStringAsync(); throw new Exception(errorMessage); }
private void InfoClient_EventGetMess(MultiCastMessage.MultiCastMessage mess) { if(_liveView == null) return; int eventId = 0; bool status = false; var str = System.Text.Encoding.Default.GetString(mess.xmlInfor); if (str.Contains("ON")) status = true; else status = false; int.TryParse(mess.eventID, out eventId); if (eventId != 0) { _liveView.ShowEvent(eventId,mess.cameraID,status); } }