private async void BotClient_NewMessageEventHandler(object sender, TLObjectEventArgs e) { try { if (RawUpdatesCheckbox.Checked) { AddToLog(e.TLObject.ToString()); } var FromUser = e.TLObject["from_user"]; var ToPeer = e.TLObject["to_peer"]; var FromName = ""; var ToName = ""; var FromId = 0; var ToId = 0; if (ToPeer.Value <string>("_") == "channel") { ToName = ToPeer.Value <string>("title"); } else { ToName = $"{ToPeer.Value<string>("first_name")} {ToPeer.Value<string>("last_name")}".Trim(); } FromName = FromUser.Type != JTokenType.Null ? $"{FromUser.Value<string>("first_name")} {FromUser.Value<string>("last_name")}".Trim() : default; if (string.IsNullOrEmpty(FromName)) { FromName = "No-Name"; } if (string.IsNullOrEmpty(ToName)) { ToName = "No-Name"; } FromId = FromUser.Type != JTokenType.Null ? FromUser.Value <int>("id") : default; ToId = ToPeer.Value <int>("id"); AddToLog($"{FromName} ({FromId}) -> {ToName} ({ToId}) >>> {e.TLObject["message"].Value<string>("message")}"); if (FromUser.Type == JTokenType.Null) { return; } if ((bool)e.TLObject["message"]["out"]) { return; } if (!(new long[] { 876650892, 960462, 295152997, 976906477 }).Contains((long)FromUser["id"])) { return; } //if (!(new long[] { 848427085, 234480941, 313742192, 537790376 }).Contains(FromId)) return; TLObject ShouldReplyTo; if ((int)botClient.CurrentUser["id"] == (int)ToPeer["id"]) { ShouldReplyTo = new TLObject(FromUser); } else { ShouldReplyTo = new TLObject(ToPeer); } switch ((string)e.TLObject["message"]["message"]) { case ";ping": var first = DateTime.Now; var UpdateEventArgs = await botClient.SendMessage(ShouldReplyTo, "<b>Status</b>\n\n<code>✅ Online</code>\n\n<i>(calculating lag...)</i>"); double lag = Math.Round((DateTime.Now - first).TotalMilliseconds, 2); UpdateEventArgs = await botClient.EditMessage(ShouldReplyTo, UpdateEventArgs, $"<b>Status</b>\n\n<code>✅ Online</code>\n\n(<i>reply took {lag}ms</i>)"); break; case ";code": await botClient.SendMessage(ShouldReplyTo, $"<code>{e.TLObject["message"].ToString()}</code>"); break; case ";whois": //long UserId = -335698371; //-10010356929597; //UpdateEventArgs u = await botClient.GetChat(UserId); //await botClient.SendMessage(ShouldReplyTo, u.RawUpdate.ToString()); break; default: break; } } catch (Exception ex) { } }