Exemple #1
0
        private void OnCallbackQuery(object sender, CallbackQueryEventArgs e)
        {
            ITelegramBotClient telegramBotClient = ModulesManager.GetTelegramBotClient();

            if (string.IsNullOrEmpty(e.CallbackQuery.Data))
            {
                return;
            }

            string[] queryArray = e.CallbackQuery.Data.Split(":");
            if (queryArray.Length == 0)
            {
                return;
            }

            ICallbackQueryHandler callbackQueryHandler;

            switch (queryArray[0])
            {
            case "delete_message":
                callbackQueryHandler = new DeleteMessageHandler();
                break;

            default:
                return;
            }

            callbackQueryHandler.Handle(queryArray, e.CallbackQuery.Message.MessageId);
            telegramBotClient.AnswerCallbackQueryAsync(e.CallbackQuery.Id);
        }
Exemple #2
0
        public void DeleteMessage(long chatId, int messageId)
        {
            ITelegramBotClient telegramBotClient = ModulesManager.GetTelegramBotClient();
            ISessionManager    sessionManager    = ModulesManager.GetSessionManager();

            sessionManager.GetChatSession(chatId).MessageDeleted(messageId);
            telegramBotClient.DeleteMessageAsync(chatId, messageId);
        }
Exemple #3
0
        internal void Start()
        {
            ITelegramBotClient telegramBotClient = ModulesManager.GetTelegramBotClient();

            telegramBotClient.OnMessage       += OnMessage;
            telegramBotClient.OnCallbackQuery += OnCallbackQuery;
            telegramBotClient.StartReceiving();
        }
Exemple #4
0
        private void WriteBotStatus()
        {
            ITelegramBotClient telegramBotClient = ModulesManager.GetTelegramBotClient();

            Telegram.Bot.Types.User me = telegramBotClient.GetMeAsync().Result;
            Console.WriteLine(DateTime.Now + " - Bot set up!");
            Console.WriteLine($"Id: {me.Id}");
            Console.WriteLine($"Login: {me.Username}");
            Console.WriteLine($"Name: {me.FirstName}");
        }
Exemple #5
0
        private async Task DownloadInternalAsync()
        {
            ITelegramBotClient telegramBotClient = ModulesManager.GetTelegramBotClient();

            using (MemoryStream stream = new MemoryStream())
            {
                await telegramBotClient.GetInfoAndDownloadFileAsync(photoId, stream);

                byte[] imageBytes = stream.ToArray();
                content = Convert.ToBase64String(imageBytes);
            }

            photoId      = null;
            IsDownloaded = true;
        }
Exemple #6
0
        public async Task SendTextMessageAsync(long chatId, string messageText, IReplyMarkup replyMarkup)
        {
            if (string.IsNullOrEmpty(messageText))
            {
                return;
            }

            ITelegramBotClient telegramBotClient = ModulesManager.GetTelegramBotClient();
            ISessionManager sessionManager = ModulesManager.GetSessionManager();

            Telegram.Bot.Types.Message message = await telegramBotClient.SendTextMessageAsync(
                chatId: chatId,
                text: messageText,
                replyMarkup: replyMarkup
                );
            sessionManager.BotSentMessage(chatId, message.MessageId);
        }
Exemple #7
0
        public async Task SendPhotoMessageAsync(long chatId, byte[] imageBytes, IReplyMarkup replyMarkup)
        {
            if (imageBytes == null || imageBytes.Length == 0)
            {
                return;
            }

            ITelegramBotClient telegramBotClient = ModulesManager.GetTelegramBotClient();
            ISessionManager sessionManager = ModulesManager.GetSessionManager();

            using (Stream stream = new MemoryStream(imageBytes))
            {
                Telegram.Bot.Types.Message message = await telegramBotClient.SendPhotoAsync(
                    chatId,
                    new InputOnlineFile(stream),
                    replyMarkup: replyMarkup
                );
                sessionManager.BotSentMessage(chatId, message.MessageId);
            }
        }