C# 接入企业微信群聊--机器人【markdown】

本文档详细介绍了如何配置企业微信群机器人的过程,并针对Markdown内容显示不一致的问题进行了深入探讨。代码示例展示了如何构造正确的Markdown格式,确保在企业微信中正确显示报警提醒信息。同时,文章还涵盖了内容发送的逻辑判断和错误处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

企业微信官方文档:群机器人配置说明 - 企业微信API

 主要问题描述:markdown -content显示和自己postman发送的不一致,后来自己手动拼凑的就可以,发现是每个内容都需要换行\n

代码实例如下:

public static string getContent(List<KitonWarning> data, List<GroupProjectDetail> pro, string title, List<string> SendType)
        {
            try
            {
                string titlemsg = "# <font color=\\\"info\\\">【" + title + "】</font> 信息发布系统报警提醒\n";
                string clientstate = "";
                string projectstate = "";
                if (SendType.Any(a => a == "1"))//离线
                {
                    List<KitonWarning> list = data.Where(a => a.State != 1).ToList();
                    if (list.Count > 0)
                    {
                        clientstate += "         > ## 离线清单(<font color=\\\"warning\\\">" + list.Count + "台</font>)\n";
                        foreach (KitonWarning item in list)
                        {
                            clientstate += "         > " + item.ClientCode + ", 最后登录时间:" + Convert.ToDateTime(item.LastLoginTime).ToString("yyyy-MM-dd HH:mm:dd")+ "\n";
                        }
                    }
                }
                if (SendType.Any(a => a == "1"))
                {
                    List<GroupProjectDetail> list = pro.Where(a => a.TodayProject == 0 || a.NextdayProject == 0).ToList();
                    if (list.Count > 0)
                    {
                        projectstate = "         > ## 节目单异常清单(<font color=\\\"warning\\\">" + list.Count + "个</font>)\n";
                        foreach (GroupProjectDetail item in list)
                        {
                            projectstate += "         > " + item.GroupName + ", 今日节目单 " + (item.TodayProject == 0 ? "<font color=\\\"warning\\\">无</font>" : "<font color=\\\"comment\\\">有</font>") + " 次日节目单 " + (item.NextdayProject == 0 ? " <font color=\\\"warning\\\">无</font>" : "<font color=\\\"comment\\\">有</font>")+ "\n";
                        }
                    }
                }
                if (clientstate == "" && projectstate == "")
                {
                    return "";
                }
                else
                {
                    return titlemsg + clientstate + projectstate;
                }
            }
            catch (Exception ex)
            {
                return "";
            }
        }
string content = QywxRobot.getContent(data, GroupProjectDetailList, item.GroupName, Monitor.MonitorContent); 
if (content == "")//无数据
{
    HDLogManager.LogEntity.Info("机器人无需推送【" + item.GroupName + "】--无报警信息");
}
else
{
    content += "         >";
    foreach (string str in towx)
    {
        content += "<@" + str + ">";
    } 
    string param = "{\"msgtype\":\"markdown\",\"markdown\":{\"content\":\"" + content + "\"}}";  
    string qyresult = HttpData.requestPost(Monitor.RobotUrl, param);//调取企业机器人
    RobotResult qy = objectConvertHelper.getobjectByJson<RobotResult>(qyresult);
    if (qy.errcode == 0)
    {
        HDLogManager.LogEntity.Info("机器人推送【" + item.GroupName + "】成功");
    }
    else
    {
        HDLogManager.LogEntity.Error("机器人推送【" + item.GroupName + "】失败--" + qy.errmsg);
    }
}

源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值