Beispiel #1
0
        private async void BotOnMessageReceived(object sender, MessageEventArgs request)
        {
            logger.Trace($"Message received {request.Message.Text}");

            try {
                var context = await contextFactory.CreateContext(request);

                var userTextMessage = request.GetClearedTextMessage();
                var handler         = handlerFactory.CreateHandlerForCommand(userTextMessage);

                handler.Execute(context, request);
                logger.Trace($"Message processed  {request.Message.Text}");
                return;
            } catch (BotException botException) {
                OnError(request, botException);
            } catch (Exception exception) {
                var internalException = BotException.CreateInternalException(exception);
                OnError(request, internalException);
            }

            logger.Trace($"Message failed {request.Message.Text}");
        }