Beispiel #1
0
        private async Task IfMessage(Message message)
        {
            var messageNotNullAndIsNotBot = message != null && !message.From.IsBot;

            if (!(messageNotNullAndIsNotBot && message.Text != null))
            {
                _logger.LogWarning($"Time: {DateTime.UtcNow}. Some problems with Message obj: " + message);
                return;
            }

            var command = _commandList.GetCommand(message.Text);
            var isCommandNotNullAndIsMessageValid = command != null && message.Text.StartsWith('/');

            if (isCommandNotNullAndIsMessageValid)
            {
                await command.Execute(message, _client);
            }
            else
            {
                const string helpString = "Для просмотра списка команд - отправте сообщение: \"/help\"\n " +
                                          "или напишите \"/\" для просмотра доступных команд.";

                await _client.SendTextMessageAsync(message.Chat.Id, helpString);
            }
        }
Beispiel #2
0
        private async void OnMessage(object sender, MessageEventArgs messageEventArgs)
        {
            var message = messageEventArgs.Message;

            var command = commands.GetCommand(message.Text);

            await MessageSender.SendMessage(command, message, bot);
        }
Beispiel #3
0
 private async void OnMessage(object sender, MessageEventArgs messageEventArgs)
 {
     if (messageEventArgs.Message.Type == Telegram.Bot.Types.Enums.MessageType.Text)
     {
         var message = messageEventArgs.Message;
         var command = commands.GetCommand(message.Chat.Id, message.Text);
         OnLog?.Invoke(this,
                       new BotLogEventArgs(
                           message.Chat.Id.ToString(),
                           command.GetType().ToString() + ": " + message.Text));
         await MessageSender.SendMessage(command, message, bot);
     }
     else
     {
         OnLog?.Invoke(this,
                       new BotLogEventArgs(
                           messageEventArgs.Message.Chat.Id.ToString(),
                           messageEventArgs.Message.Type.ToString()));
     }
 }
Beispiel #4
0
        public Answer DoCommand(string text)
        {
            var command = commands.GetCommand(1234567890, text);

            return(command.OnMessage());
        }