Пример #1
0
        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);
        }
Пример #2
0
        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);
            }

        }