public async Task <bool> OnTextMessageReceived(object sender, TextMessageReceivedEventArgs e)
        {
            _logger.LogDebug(XmlConvert.SerializeObject(e));

            var messageHandler  = sender as WeixinMessageHandler;
            var responseMessage = new ResponseMessageText();
            {
                var result = new StringBuilder();
                result.AppendFormat("您刚才发送了文本信息:{0}", e.Content);

                responseMessage.FromUserName = e.ToUserName;
                responseMessage.ToUserName   = e.FromUserName;
                responseMessage.Content      = result.ToString();
            }
            await messageHandler.WriteAsync(responseMessage);

            _logger.LogDebug(XmlConvert.SerializeObject(responseMessage));

            return(true);
        }
Exemple #2
0
        public async Task <bool> OnTextMessageReceived(object sender, TextMessageReceivedEventArgs e)
        {
            _logger.LogDebug(XmlConvert.SerializeObject(e));

            var msg = new ReceivedTextMessage();

            msg.Content      = e.Content;
            msg.From         = e.FromUserName;
            msg.To           = e.ToUserName;
            msg.ReceivedTime = new DateTimeOffset(WeixinTimestampHelper.ToUtcTime(e.CreateTimeStr));
            _db.ReceivedTextMessages.Add(msg);
            var saveResult = await _db.SaveChangesAsync();

            if (saveResult > 0)
            {
                _logger.LogDebug($"已将微信文本消息存入数据库。Result:{saveResult}, From:{msg.From}, To:{msg.To}, Time:{msg.ReceivedTime}, Content:{msg.Content}");
            }
            _logger.LogDebug($"微信文本消息在数据库中共{_db.ReceivedTextMessages.ToList().Count()}条记录。");


            var messageHandler  = sender as WeixinMessageHandler;
            var responseMessage = new ResponseMessageText();
            {
                var result = new StringBuilder();
                result.AppendFormat("您刚才发送了文本信息:{0}", e.Content);

                responseMessage.FromUserName = e.ToUserName;
                responseMessage.ToUserName   = e.FromUserName;
                responseMessage.Content      = result.ToString();
            }
            await messageHandler.WriteAsync(responseMessage);

            _logger.LogDebug(XmlConvert.SerializeObject(responseMessage));

            return(true);
        }
 private void WebSocketClient_OnMessage(object sender, TextMessageReceivedEventArgs e)
 {
     feedListenerFlow.Post(new MessageContext <string>(e.MessageText));
 }