Ejemplo n.º 1
0
        public async Task Reply(string SenderId, string textInput)
        {
            var Sender = await _messengerProfile.GetUserProfileAsync(SenderId);

            var checkInput = _context.MesBotEntities.FirstOrDefault(x => CheckChat(textInput, x.Exception));

            if (checkInput == null)
            {
                var text     = "Cậu nói gì vậy mình hông hiểu gì hớt -.-";
                var response = new MessengerMessage {
                    Text = text
                };
                await messageSender.SendAsync(response, new MessengerUser { Id = SenderId });
            }
            else
            {
                if (checkInput.Type == 1)
                {
                    var weather = await _weatherService.GetWeatherFromCity(checkInput.ReplyText);

                    if (weather != null)
                    {
                        var response = new MessengerMessage {
                            Text = $"Dự báo thời tiết hôm nay {DateTime.UtcNow.ToString("dd.MM.yyyy H:mm:ss")}, khu vực {weather.name} NĐ là: {weather.main.temp}, NĐ cao nhất: {weather.main.temp_max}, thấp nhất: {weather.main.temp_max} có{weather.weather[0].description} <3 From Khoapiterrr with love :* "
                        };
                        await messageSender.SendAsync(response, new MessengerUser { Id = SenderId });
                    }
                    else
                    {
                        var text     = "Ơ sao mình k thấy thành phố đó nhỉ :( xin loi nha";
                        var response = new MessengerMessage {
                            Text = text
                        };
                        await messageSender.SendAsync(response, new MessengerUser { Id = SenderId });
                    }
                }
                else if (checkInput.Type == 2)
                {
                    var text     = checkInput.ReplyText.Replace("@firstname", Sender.Result.FirstName);
                    var response = new MessengerMessage {
                        Text = text
                    };
                    await messageSender.SendAsync(response, new MessengerUser { Id = SenderId });
                }
            }
        }
Ejemplo n.º 2
0
        public async Task HandleMessage([FromBody] MessengerObject obj)
        {
            foreach (var entry in obj.Entries)
            {
                var mesaging = entry.Messaging;

                foreach (var message in mesaging)
                {
                    var senderId = message.Sender.Id;
                    if (message.Message != null)
                    {
                        if (!string.IsNullOrEmpty(message.Message.Text))
                        {
                            try
                            {
                                var checkSend = await SendDBTT(message);

                                RecurringJob.AddOrUpdate(senderId,
                                                         () => SendDBTT(message),
                                                         Cron.Hourly);
                                var jobId = BackgroundJob.Schedule(
                                    () => RecurringJob.RemoveIfExists(senderId),
                                    TimeSpan.FromDays(1));
                            }
                            catch (Exception ex)
                            {
                                var response = new MessengerMessage {
                                    Text = "Xin lỗi page mình có vấn đề rồi :'( ... " + ex.Message
                                };
                                await messageSender.SendAsync(response, message.Sender);
                            }
                        }
                        else
                        {
                            var response = new MessengerMessage {
                                Text = "Hi chào cậu , mình đợi cậu từ chiều ơ...mà cậu đừng gửi file, ảnh linh tinh cho tớ spam tớ ghét  đấy <3"
                            };
                            await messageSender.SendAsync(response, message.Sender);
                        }
                    }
                }
            }
        }
        private Task <MessengerResponse> HandleEntry(MessengerEntry entry)
        {
            var messaging = entry.Messaging.First();
            var text      = messaging.Message.Text;
            var response  = new MessengerMessage {
                Text = text
            };

            return(messageSender.SendAsync(response, messaging.Sender));
        }