Exemple #1
0
 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
     {
         ;
     }
 }
Exemple #2
0
        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);
        }