private async void OnMessage(object sender, MessageEventArgs msg)
        {
            if (msg?.Message?.Chat == null)
            {
                return;
            }

            var response = _messageFactory.CreateResponse(msg?.Message);

            if (response == null)
            {
                return;
            }

            try
            {
                await _botClient.SendTextMessageAsync
                (
                    msg.Message.Chat.Id,
                    response,
                    ParseMode.Html,
                    replyToMessageId : msg.Message.MessageId
                );
            }
            catch (Exception ee)
            {
                // bot must not fail
                _logger.LogError(ee, "OnMessage failed", null);
            }
        }