public static async void Handle(object sender, MessageEventArgs e) { var message = e.Message; // pesan lebih dari 1 menit tdk akan direspon if (message.Date.AddMinutes(1) <= DateTime.Now.ToUniversalTime()) { if (message.IsTextMessage()) { _log.Ignore("Id: {0} | {1} | Dari: {2} | Pesan: {3} | Alasan: Pesan lama!", message.MessageId, message.Date.ToLocalTime(), message.FromName(), message.Text); } return; } // member baru di grup: bot maupun user lain if (message.Type == MessageType.ChatMembersAdded) { _log.Info("Id: {0} | {1} | Dari: {2} | Pesan: Member baru!", message.MessageId, message.Date.ToLocalTime(), message.ChatName()); new Welcome(message).SendGreeting(); return; } // abaikan pesan selain teks if (!message.IsTextMessage()) { _log.Ignore("Id: {0} | {1} | Dari: {2} | Pesan: {3} | Alasan: Pesan bukan text!", message.MessageId, message.Date.ToLocalTime(), message.FromName(), message.Type); return; } // cari pesan yg sama var result = await _db.FindMessageIncoming(message.MessageId, message.Chat.Id); if (result != null) { _log.Ignore("Id: {0} | {1} | Dari: {2} | Pesan: {3} | Alasan: Pesan sudah dibaca!", message.MessageId, message.Date.ToLocalTime(), message.FromName(), message.Text); return; } // tambah pesan masuk await _db.InsertMessageIncoming(message); Count++; _log.Info("Id: {0} | {1} | Dari: {2} | Pesan: {3}", message.MessageId, message.Date.ToLocalTime(), message.FromName(), message.Text); // pesan perintah if (message.Text.StartsWith("/")) { Command.Execute(message); } // pesan berisi hashtag else if (message.Text.Contains("#")) { new Bookmark(message).FindHashtags(); } // pesan berisi link twitter else if (message.Text.Contains("twitter.com/")) { new Twitter(message).GetMedia(message.Text); } // pesan berisi link facebook else if (message.Text.Contains("facebook.com/")) { new Facebook(message).GetMedia(message.Text); } // pesan teks lain else { Talk.Response(message); } }