示例#1
0
        private static async void BotOnMessageReceived(object sender, MessageEventArgs messageEventArgs)
        {
            var message = messageEventArgs.Message;

            if (message == null || message.From == null || message.Type != MessageType.TextMessage)
            {
                return;
            }

            if (!SH_TelegramBotAuth.CheckUserAuth(message.From))
            {
                await bot.SendTextMessageAsync(message.Chat.Id, NOT_AUTHORIZED_STR);

                return;
            }

            await bot.SendChatActionAsync(message.Chat.Id, ChatAction.Typing);

            await SendLightButtons(message);
        }
示例#2
0
        private static async void BotOnCallbackQueryReceived(object sender, CallbackQueryEventArgs callbackQueryEventArgs)
        {
            int    lightSelection;
            string retString;

            try
            {
                if (!SH_TelegramBotAuth.CheckUserAuth(callbackQueryEventArgs.CallbackQuery.From))
                {
                    retString = NOT_AUTHORIZED_STR;
                }
                else
                {
                    lightSelection = Convert.ToInt32(callbackQueryEventArgs.CallbackQuery.Data);

                    if (Enum.IsDefined(typeof(LIGHT_SELECTION), lightSelection))
                    {
                        TurnLight((LIGHT_SELECTION)lightSelection);
                        retString = "OK";
                    }
                    else
                    {
                        Console.WriteLine("Wrong selection {0}", lightSelection);
                        retString = "Wrong selection";
                    }
                }

                await bot.AnswerCallbackQueryAsync(callbackQueryEventArgs.CallbackQuery.Id, retString);
            }
            catch (Exception e)
            {
                Console.WriteLine("in: BotOnCallbackQueryReceived");
                Console.WriteLine(e.Message);

                return;
            }
        }