private static async Task SendReportOfSuccessAndFailures(TelegramBotAbstract sender, MessageEventArgs e, Tuple <BanUnbanAllResult, List <ExceptionNumbered>, int> done) { try { await SendReportOfSuccessAndFailures2(StreamSerialization.SerializeToStream(done.Item1.GetSuccess()), "success.bin", sender, e); await SendReportOfSuccessAndFailures2(StreamSerialization.SerializeToStream(done.Item1.GetFailed()), "failed.bin", sender, e); } catch { ; } }
private static async Task <int?> QueryBot2(bool execute_true_select_false, MessageEventArgs e, TelegramBotAbstract sender) { if (e.Message.ReplyToMessage == null || string.IsNullOrEmpty(e.Message.ReplyToMessage.Text)) { var text = new Language(new Dictionary <string, string> { { "en", "You have to reply to a message containing the query" } }); await sender.SendTextMessageAsync(e.Message.From.Id, text, ChatType.Private, e.Message.From.LanguageCode, ParseMode.Html, null, e.Message.From.Username, e.Message.MessageId); return(null); } var query = e.Message.ReplyToMessage.Text; if (execute_true_select_false) { var i = SqLite.Execute(query); var text = new Language(new Dictionary <string, string> { { "en", "Query execution. Result: " + i } }); await sender.SendTextMessageAsync(e.Message.From.Id, text, ChatType.Private, e.Message.From.LanguageCode, ParseMode.Html, null, e.Message.From.Username, e.Message.MessageId); return(i); } var x = SqLite.ExecuteSelect(query); var x2 = StreamSerialization.SerializeToStream(x); var documentInput = new TelegramFile(x2, "table.bin", "Query result", "application/octet-stream"); TLAbsInputPeer peer2 = new TLInputPeerUser { UserId = e.Message.From.Id }; var peer = new Tuple <TLAbsInputPeer, long>(peer2, e.Message.From.Id); var text2 = new Language(new Dictionary <string, string> { { "en", "Query result" } }); var v = await sender.SendFileAsync(documentInput, peer, text2, TextAsCaption.AS_CAPTION, e.Message.From.Username, e.Message.From.LanguageCode, e.Message.MessageId, false); return(v ? 1 : 0); }