Пример #1
0
        private async Task <Result> PostRaw(string url, BotMessageResponse data)
        {
            var result = new Result();

            using (var client = new HttpClient())
            {
                try
                {
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                    var json = JsonConvert.SerializeObject(data,
                                                           Formatting.None,
                                                           new JsonSerializerSettings
                    {
                        NullValueHandling = NullValueHandling.Ignore
                    });

                    var content = new StringContent(json, Encoding.UTF8, "application/json");

                    var response = await client.PostAsync(url, content);

                    response.EnsureSuccessStatusCode();
                    string responseBody = await response.Content.ReadAsStringAsync();

                    result.Success = response.IsSuccessStatusCode;
                }
                catch (Exception ex)
                {
                    result.ErrorMessage = ex.Message;
                    _logger.LogError(ex, $"PostRaw failed {url}| data {data}");
                }
            }

            return(result);
        }
Пример #2
0
        public async Task <Result> SendMessage(string psId, MessageResponse message)
        {
            var entry = new BotMessageResponse
            {
                recipient = new BotUser {
                    id = psId
                },
                message = message
            };

            var url = string.Format(Messages.FbSendMessageUrl, _configs.GraphApiUrl, _configs.AccessToken);

            return(await PostRaw(url, entry));
        }
Пример #3
0
        private void PrepareMessageWithQuickReply(string message, List <QuickReply> quickReplies, string facebook_id)
        {
            var msg      = $"{message}\n id ({facebook_id})";
            var response = new BotMessageResponse
            {
                recipient = new BotUser
                {
                    id = facebook_id
                },
                message = new MessageResponse
                {
                    text          = msg,
                    quick_replies = quickReplies
                },
            };
            var json = JsonConvert.SerializeObject(response);

            PostRaw("https://graph.facebook.com/v3.0/me/messages?access_token=EAADSmRksBeEBAOHMfZBAEHPLIo6UXugelborcpSJIaIxIfUIxd2fQzM6ADwwLOqWdJzlg8pUNZCWPB5ZAgomk1zdtmOil7L1hlOu1HLilOUrReg6ZCwQmhukZBqYN0YZBOWENQcZAw7RYRCpoC6EnjyYiLisEe9izvGhq7VdJtSuBHPaKaN3BnI", json);
        }