i漂泊

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 905|回复: 0

[使用教程] 安卓微信机器人Web插件开发

[复制链接]
TA的礼物信息
  • 收到:0
  • 送出:2
发表于 2020-11-5 14:28:00 | 显示全部楼层 |阅读模式
安卓微信机器人插件开发-2

使用php、asp.net开发安卓微信机器人插件

Web接口工作原理机器人收到消息,把消息内容、发送者Wxid、等数据以HTTP协议POST方法发送给接口地址,php处理后返回数据,机器人处理返回数据,返回数据会调用机器人的各种不同方法
多个方法之间使用<&&>分割,每个方法传递的参数使用<&>分割
例如返回“<&&>SendMessage<&>xxxxxxx<&>您好<&><&>1”表示给xxxxxxx发送消息您好,xxxxxxx是接收者wxid
一次可以返回多条指令,例如:  
  1. echo('<&&>SendMessage<&>xxxxxxx<&>您好<&><&>1');  

  2. echo('<&&>SendMessage<&>aaa@chatroom<&>群里说大家好<&>bbb<&>1');bbb表示群里@bbb用户bbb也是用wxid
复制代码

除此以外,机器人还会定时发送GET请求给接口,以检查接口是否有需要发送的指令,可以用来主动给用户发送消息
如果还不理解,请看:作者手绘流程图 -_-||




注意:
  • 编码要和php文件编码保持一致,否则可能乱码,推荐使用utf-8
  • 推荐使用密钥,确保接口安全
  • 必要时可以查阅机器人日志
调试代码
  1. <?php
  2. if($_POST){
  3.     $ret = print_r($_POST, TRUE);
  4.     echo("<&&>SendMessage<&>你的wxid<&>收到数据:\n$ret<&><&>1");
  5. }
  6. ?>
复制代码

调试效果:
发送“你好”给机器人,机器人回复:
  1. Array
  2. (

  3.             [Robot] => xxxxxxxxxx
  4.    
  5.             [Key] => 123

  6.             [Event] => ReceiveMessage
  7.             [AtList] =>

  8.                 [Sender] => xxxxx
  9.             [SenderNick] => xxxxx
  10.             [Content] => 您好
  11.     ……

  12. )  
复制代码

我们可以看到,机器人发送了n个参数给Web,分别是:Robot、Key、Event、AtList、Sender、SenderNick、Content等
调试代码调用echo返回结果,结果调用了SendMessage函数,给123456发送收到的数据
更多发送参数,请放上调试代码,运行下机器人、插件,即可在机器人日志窗口中看到发送的参数。
返回的结果可以调用的函数,见下文“函数原型”
监听端口使用开启“监听端口”后,机器人可以监听端口,等待指令,例如设置8080,使用管理员身份重启后,打开浏览器,输入:  
http://localhost:8080/?a=<%26%26>SendMessage<%26>123456<%26>test<%26><%26>1回车后看到机器人日志窗口出现:
2013/4/25 15:08:28 本地监听接收:<&&>SendMessage<&>123456<&>test<&><&>12013/4/25 15:08:28 给【123456】发送消息:test2013/4/25 15:08:28 本地监听返回:ok即可以即时执行指令,其中<%26%26>是<&&>的url编码,<%26>是<&>的url编码,这里指令格式同上面的指令是一样的<&&>、<&>分割,注意整个指令都需要进行url编码

Web接口支持的函数:函数说明格式举例:
函数原型:
   
  1. /// <summary>
  2. /// 转账
  3.    
  4. /// </summary>

  5.     /// <param name="to_wxid">接收者wxid</param>

  6.     /// <param name="fee">限额1000分</param>
  7.    
  8. /// <param name="desc">转账说明</param>
  9.    
  10. /// <param name="password">钱包密码</param>
  11. /// <returns></returns>
  12.     public string Transfer(string to_wxid, int fee, string desc, string password = "123456")
复制代码

Web接口调用方法:
<&&>Transfer<&>wxid_xxxxxxxxxxxxx<&>50<&>5毛也是爱<&>123456web插件收到消息,返回格式如上,后面不再重复,只列出每个函数的名字、参数、功能。
特别说明:调用web插件web服务器,需要url编码传递指令,否则会乱码,get、post均可。
已支持函数原型如下:具体函数签名以软件实际为准
   
  1.     /// <summary>
  2.     /// 输出日志
  3.     /// </summary>
  4.     /// <param name="format"></param>
  5.     /// <param name="args"></param>
  6.     public void OnLog(string format, params object[] args)

  7.     /// <summary>
  8.     /// 下载文件,参数都在收到消息的xml里面
  9.     /// </summary>
  10.     /// <param name="fileid"></param>
  11.     /// <param name="aeskey"></param>
  12.     /// <param name="size"></param>
  13.     /// <param name="filetype">默认5</param>
  14.     /// <returns></returns>
  15.     public byte[] DownloadMsgFile(string fileid, string aeskey, int size, int filetype = 5)

  16.     /// <summary>
  17.     /// 发送文件
  18.     /// </summary>
  19.     /// <param name="wxid"></param>
  20.     /// <param name="file">本地绝对路径</param>
  21.     /// <param name="title">标题</param>
  22.     /// <param name="des">描述</param>
  23.     /// <returns></returns>
  24.     public long SendMsgFile(string wxid, string file, string title, string des)

  25.     /// <summary>
  26.     /// 发送语音
  27.     /// </summary>
  28.     /// <param name="to_wxid"></param>
  29.     /// <param name="data">SILK编码</param>
  30.     /// <param name="time_len">声音时长</param>
  31.     /// <returns></returns>
  32.     public string SendVoice(string to_wxid, byte[] data, int time_len = 0)

  33.     /// <summary>
  34.     /// 发送语音,接收语音在收消息Buffer参数里
  35.     /// </summary>
  36.     /// <param name="to_wxid"></param>
  37.     /// <param name="file">绝对地址,http地址,相对Voice地址</param>
  38.     /// <param name="time_len"></param>
  39.     /// <returns></returns>
  40.     public string SendVoice(string to_wxid, string file, int time_len)

  41.     /// <summary>
  42.     /// 下载视频
  43.     /// </summary>
  44.     /// <param name="fileid"></param>
  45.     /// <param name="aeskey"></param>
  46.     /// <param name="filetype">3:缩略图 4:视频</param>
  47.     /// <returns></returns>
  48.     public byte[] DownloadVideo(string fileid, string aeskey, int filetype = 4)

  49.     /// <summary>
  50.     /// 发送视频
  51.     /// </summary>
  52.     /// <param name="wxid"></param>
  53.     /// <param name="TimeLength">视频时长,单位秒</param>
  54.     /// <param name="VideoFile">视频文件,mp4格式,不宜太大。</param>
  55.     /// <param name="ImageFile">视频截图</param>
  56.     /// <returns></returns>
  57.     public string SendVideo(string wxid, int TimeLength, string VideoFile, string ImageFile)

  58.     /// <summary>
  59.     /// 设置自己的头像
  60.     /// </summary>
  61.     /// <param name="data">图片数据</param>
  62.     /// <returns></returns>
  63.     public UploadHeadImageResp UploadHeadImage(byte[] data)



  64.     /// <summary>
  65.     /// 可查询余额、银行卡等
  66.     /// </summary>
  67.     /// <returns></returns>
  68.     public bindquerynewResp BindQueryNew()

  69.     /// <summary>
  70.     /// 转账
  71.     /// </summary>
  72.     /// <param name="to_wxid">接收者wxid</param>
  73.     /// <param name="fee">单位分</param>
  74.     /// <param name="desc">转账说明</param>
  75.     /// <param name="password">钱包密码</param>
  76.     /// <returns></returns>
  77.     public string Transfer(string to_wxid, int fee, string desc, string password = "123456")

  78.     /// <summary>
  79.     /// 提现
  80.     /// </summary>
  81.     /// <param name="total_fee">单位分</param>
  82.     /// <param name="card_tail">卡号后4位(可不填)</param>
  83.     /// <param name="password">钱包密码</param>
  84.     /// <returns></returns>
  85.     public string Genprefetch(int total_fee, string card_tail = "", string password = "123456")

  86.     /// <summary>
  87.     /// 发红包
  88.     /// </summary>
  89.     /// <param name="wxid">接收者,可以是群wxid,也可以是好友wxid</param>
  90.     /// <param name="hbType">0:普通红包 1:拼手气红包</param>
  91.     /// <param name="totalAmount">单位分</param>
  92.     /// <param name="totalNum">红包个数,群红包必须能分配,不能出现类似1分钱2个红包的情况</param>
  93.     /// <param name="wishing">祝福语</param>
  94.     /// <param name="password">钱包密码</param>
  95.     /// <returns></returns>
  96.     public string SendHB(string wxid, int hbType, int totalAmount, int totalNum = 1, string wishing = "恭喜发财", string password = "123456")

  97.     /// <summary>
  98.     /// 别人给机器人发送进群邀请链接,机器人可以用此方法同意邀请
  99.     /// </summary>
  100.     /// <param name="url">收到好友验证时附带的</param>
  101.     /// <returns></returns>
  102.     public bool AgreeJoin(string url)

  103.     /// <summary>
  104.     /// 获取我的二维码、群二维码
  105.     /// </summary>
  106.     /// <returns>二进制二维码图片内容</returns>
  107.     public byte[] GetQRCode(string wxid)

  108.     /// <summary>
  109.     /// 发送图片
  110.     /// </summary>
  111.     /// <param name="wxid">接收者wxid</param>
  112.     /// <param name="file">本地绝对路径,网络图片请自行下载</param>
  113.     /// <returns></returns>
  114.     public string SendImage(string wxid, string file)

  115.     /// <summary>
  116.     /// 发送消息
  117.     /// </summary>
  118.     /// <param name="wxid">接收者</param>
  119.     /// <param name="msg_content">消息内容,支持XML格式,不要问我有哪些,我也没测试那么多,请自行收集。另外@成员时,内容开头加入@成员昵称,才能看到@效果。</param>
  120.     /// <param name="at_user_list">如果是群消息,这里可以填写@对象wxid,多个使用半角逗号分隔</param>
  121.     /// <param name="msg_type">消息类型,我只测试了1的情况。默认填写1即可</param>
  122.     /// <returns></returns>
  123.     public string SendMessage(string wxid, string msg_content, string at_user_list = null, int msg_type = 1)

  124.     /// <summary>
  125.     /// 下载图片
  126.     /// </summary>
  127.     /// <param name="fileid">收到的cdnthumburl</param>
  128.     /// <param name="aeskey">收到消息带的</param>
  129.     /// <param name="filetype">1:大图cdnbigimgurl 2:中图cdnmidimgurl 3:小图cdnthumburl</param>
  130.     /// <returns>返回图片二进制内容</returns>
  131.     public byte[] DownloadImage(string fileid, string aeskey, int filetype = 2)

  132.     /// <summary>
  133.     /// 下载图片并保存到文件
  134.     /// </summary>
  135.     /// <param name="fileid">收到的cdnthumburl</param>
  136.     /// <param name="aeskey">收到消息带的</param>
  137.     /// <param name="filetype">1:大图cdnbigimgurl 2:中图cdnmidimgurl 3:小图cdnthumburl</param>
  138.     /// <param name="filename">传入文件保存的本地路径</param>
  139.     /// <returns></returns>
  140.     public bool DownloadImage(string fileid, string aeskey, int filetype, string filename)

  141.     /// <summary>
  142.     /// 发送名片
  143.     /// </summary>
  144.     /// <param name="to_wxid">接收者wxid</param>
  145.     /// <param name="wxid">名片的wxid</param>
  146.     /// <returns></returns>
  147.     public string SendCard(string to_wxid, string wxid)

  148.     /// <summary>
  149.     /// 同意加好友请求
  150.     /// </summary>
  151.     /// <param name="opcode">传3即可</param>
  152.     /// <param name="user_wxid">收到的FromUsername</param>
  153.     /// <param name="user_v1_name">收到的EncryptUsername</param>
  154.     /// <param name="user_ticket">收到的Ticket</param>
  155.     /// <param name="user_anti_ticket">空着即可</param>
  156.     /// <param name="send_content">空着即可</param>
  157.     /// <returns></returns>
  158.     public string VerifyUser(int opcode, string user_wxid, string user_v1_name, string user_ticket, string user_anti_ticket = "", string send_content = "")

  159.     /// <summary>
  160.     /// 分享链接
  161.     /// </summary>
  162.     /// <param name="to_wxid">接收者wxid</param>
  163.     /// <param name="title">标题</param>
  164.     /// <param name="des">描述</param>
  165.     /// <param name="link_url">链接地址http格式</param>
  166.     /// <param name="thumb_url">缩略图地址http格式</param>
  167.     /// <returns></returns>
  168.     public long SendAppMsg(string to_wxid, string title, string des, string link_url, string thumb_url = "")

  169.     /// <summary>
  170.     /// 发送原始appmsg,可以实现点歌、发小程序、发链接等
  171.     /// </summary>
  172.     /// <param name="to_wxid">接收者wxid</param>
  173.     /// <param name="content">自己构造XML,不要问我XML怎么构造,我也没有,自己想办法</param>
  174.     /// <param name="type">没研究过,不知道啥意思,大家自己黑盒测试</param>
  175.     /// <returns></returns>
  176.     public long SendAppMsgRaw(string to_wxid, string content, int type = 5)

  177.     /// <summary>
  178.     /// 收红包
  179.     /// </summary>
  180.     /// <param name="msg">这是一个收到红包时的对象,web调用需要json序列化成字符串传给机器人,机器人反序列化成对象</param>
  181.     /// <returns></returns>
  182.     public HBInfo ReceiveHB(HBMsg msg)

  183.     /// <summary>
  184.     /// 查询红包
  185.     /// </summary>
  186.     /// <param name="nativeUrl">收到红包时有</param>
  187.     /// <param name="limit">数量?</param>
  188.     /// <param name="offset">偏移量?获取红包如果有几十个领取人时需要用,没测试过</param>
  189.     /// <param name="ver">传v1.0</param>
  190.     /// <returns></returns>
  191.     public string QueryHB(string nativeUrl, int limit = 11, int offset = 0, string ver = "v1.0")

  192.     /// <summary>
  193.     /// 获取收款二维码,请做好本地缓存,防止频繁获取被tx屏蔽
  194.     /// </summary>
  195.     /// <param name="fee">金额,单位分</param>
  196.     /// <param name="desc">收钱说明</param>
  197.     /// <param name="fee_type">传1</param>
  198.     /// <returns></returns>
  199.     public string GetPayUrl(int fee, string desc, string fee_type = "1")

  200.     /// <summary>
  201.     /// 发送emoji表情
  202.     /// </summary>
  203.     /// <param name="wxid"></param>
  204.     /// <param name="file_name">emoji加密文件名</param>
  205.     /// <param name="game_type">game_type=0直接发送emoji; game_type=1无视file_name参数,接收方播放石头剪刀布动画;其余game_type值均为投骰子动画</param>
  206.     /// <param name="content">在game_type不为0即发送游戏表情时有效;content取1-3代表剪刀、石头、布;content取4-9代表投骰子1-6点;</param>
  207.     /// <returns>消息id,撤回消息时可用用到,其它地方没啥用</returns>
  208.     public long SendEmoji(string wxid, string file_name, string game_type, string content)


  209.     /// <summary>
  210.     /// 收款
  211.     /// </summary>
  212.     /// <param name="msg">收到转账时带的,web调用需要JSON序列化成字符串传递</param>
  213.     /// <returns></returns>
  214.     public bool ReceiveTransfer(TransferMsg msg)

  215.     /// <summary>
  216.     /// 建群
  217.     /// </summary>
  218.     /// <param name="wxids">成员wxid,web调用多个wxid使用,连接</param>
  219.     /// <returns></returns>
  220.     public string CreateChatRoom(IEnumerable<string> wxids)

  221.     /// <summary>
  222.     /// 面对面建群,少用
  223.     /// </summary>
  224.     /// <param name="pwd">密码</param>
  225.     /// <param name="lon">经度</param>
  226.     /// <param name="lat">纬度</param>
  227.     /// <returns></returns>
  228.     public string MMFacingCreateChatRoom(string pwd = "8888", float lon = 116.39f, float lat = 38.90f)

  229.     /// <summary>
  230.     /// 群聊拉人
  231.     /// </summary>
  232.     /// <param name="chatroom_wxid">群wxid</param>
  233.     /// <param name="member_list">成员列表,web调用用,分割</param>
  234.     /// <returns></returns>
  235.     public int AddChatRoomMember(string chatroom_wxid, IEnumerable<string> member_list)

  236.     /// <summary>
  237.     /// 群踢人
  238.     /// </summary>
  239.     /// <param name="chatroom_wxid">群wxid</param>
  240.     /// <param name="member_list">成员列表</param>
  241.     /// <returns></returns>
  242.     public int DelChatRoomMember(string chatroom_wxid, IEnumerable<string> member_list)

  243.     /// <summary>
  244.     /// 设置机器人在群内的昵称
  245.     /// </summary>
  246.     /// <param name="chatroom_wxid">群wxid</param>
  247.     /// <param name="nick_name">昵称</param>
  248.     /// <returns></returns>
  249.     public bool SetGroupNickName(string chatroom_wxid, string nick_name)

  250.     /// <summary>
  251.     /// 撤回消息
  252.     /// </summary>
  253.     /// <param name="wxid">消息接收者</param>
  254.     /// <param name="svrid">发消息返回的消息id</param>
  255.     /// <returns></returns>
  256.     public int RevokeMsg(string wxid, long svrid)

  257.     /// <summary>
  258.     /// 发布群公告
  259.     /// </summary>
  260.     /// <param name="wxid">群wxid</param>
  261.     /// <param name="text">公告内容</param>
  262.     /// <returns></returns>
  263.     public int SetChatroomAnnouncement(string wxid, string text)

  264.     /// <summary>
  265.     /// 设置好友备注名/群聊名
  266.     /// </summary>
  267.     /// <param name="wxid">wxid</param>
  268.     /// <param name="name">备注名或者群名</param>
  269.     /// <returns></returns>
  270.     public int SetFriendName(string wxid, string name)

  271.     /// <summary>
  272.     /// 拉黑/恢复 好友关系
  273.     /// </summary>
  274.     /// <param name="wxid">wxid</param>
  275.     /// <param name="ban">拉黑还是恢复,自己测试下</param>
  276.     /// <returns></returns>
  277.     public int BanFriend(string wxid, bool ban = true)

  278.     /// <summary>
  279.     /// 从通讯录中删除好友/恢复好友(删除对方后可以用此接口再添加对方)
  280.     /// 群聊使用此接口可以保存到通讯录
  281.     /// </summary>
  282.     /// <param name="wxid">wxid</param>
  283.     /// <param name="delete"></param>
  284.     /// <returns></returns>
  285.     public int DeleteFriend(string wxid, bool delete = true)

  286.     /// <summary>
  287.     /// 设置昵称、个性签名
  288.     /// </summary>
  289.     /// <param name="cmd">1:昵称 2:个性签名</param>
  290.     /// <param name="text"></param>
  291.     /// <returns></returns>
  292.     public int SetUserInfo(int cmd, string text)

  293.     /// <summary>
  294.     /// 其它设备扫码登录
  295.     /// </summary>
  296.     /// <param name="url">二维码内容</param>
  297.     /// <returns></returns>
  298.     public string DeviceLogin(string url)

  299.     /// <summary>
  300.     /// 确认其它设备登录
  301.     /// </summary>
  302.     /// <param name="url">机器人收到的内容</param>
  303.     /// <returns></returns>
  304.     public string ExtDeviceLoginConfirmOK(string url)

  305.     /// <summary>
  306.     /// 从服务器获取单个好友或者群
  307.     /// </summary>
  308.     /// <param name="wxid">如果传空字符串,从本地获取所有成员,否则从服务器获取单个成员</param>
  309.     /// <returns></returns>
  310.     public Contact GetContact(string wxid)

  311.     /// <summary>
  312.     /// 修改群聊邀请确认
  313.     /// </summary>
  314.     /// <param name="wxid">群wxid</param>
  315.     /// <param name="code">0:关闭确认 2:开启确认</param>
  316.     /// <returns></returns>
  317.     public int ChatroomInviteConfirm(string wxid, int code)

  318.     /// <summary>
  319.     /// 转让群主
  320.     /// </summary>
  321.     /// <param name="ChatRoomWxid">群wxid</param>
  322.     /// <param name="OwnerWxid">新群主wxid</param>
  323.     /// <returns></returns>
  324.     public int TransferChatroomOwner(string ChatRoomWxid, string OwnerWxid)

  325.     /// <summary>
  326.     /// 确认群成员邀请
  327.     /// </summary>
  328.     /// <param name="ChatRoomWxid">群wxid</param>
  329.     /// <param name="ticket">收到的令牌</param>
  330.     /// <param name="Inviter">邀请者wxid</param>
  331.     /// <param name="Wxid">被邀请者</param>
  332.     /// <returns></returns>
  333.     public int ApproveAddChatroomMember(string ChatRoomWxid, string ticket, string Inviter, IEnumerable<string> Wxid)

  334.     /// <summary>
  335.     /// 从服务器获取群成员建议不要频繁使用
  336.     /// </summary>
  337.     /// <param name="ChatRoomWxid">群wxid</param>
  338.     public Contact GetChatroomMemberDetail(string ChatRoomWxid)

  339.     /// <summary>
  340.     /// 发朋友圈
  341.     /// </summary>
  342.     /// <param name="text">文字</param>
  343.     /// <param name="imgs">图片,Web调用时多个图片使用英文逗号分隔</param>
  344.     public mmsnspost_resp mmsnspost(string text, IEnumerable<string> imgs = null)

  345.     /// <summary>
  346.     /// 获取朋友圈
  347.     /// </summary>
  348.     /// <param name="start">偏移量,可以循环读取所有朋友圈数据</param>
  349.     /// <returns></returns>
  350.     public mmsnstimeline_resp mmsnstimeline(ulong start = 0)

  351.     /// <summary>
  352.     /// 获取指定用户朋友圈
  353.     /// </summary>
  354.     /// <param name="wxid">目标wxid</param>
  355.     /// <param name="start">偏移量,可以循环读取所有朋友圈数据</param>
  356.     /// <returns></returns>
  357.     public mmsnsuserpage_resp mmsnsuserpage(string wxid, ulong start = 0)

  358.     /// <summary>
  359.     /// 评论
  360.     /// </summary>
  361.     /// <param name="Id">被评论的postId</param>
  362.     /// <param name="WxId">被评论人</param>
  363.     /// <param name="NickName">被评论人</param>
  364.     /// <param name="Text">评论为空时点赞</param>
  365.     /// <returns></returns>
  366.     public mmsnstimeline_resp.mmSnsPost mmsnscomment(ulong Id, string WxId, string NickName, string Text = null)

  367.     /// <summary>
  368.     /// 删除朋友圈
  369.     /// </summary>
  370.     /// <param name="Id"></param>
  371.     /// <returns></returns>
  372.     public string mmsnsobjectop(ulong Id)

  373. 机器人事件、参数说明:

  374. JoinChatroom:机器人收到进群邀请(邀请机器人进群)

  375.     /// <summary>
  376.     /// 发送者
  377.     /// </summary>
  378.     public string from_id { get; set; }
  379.     /// <summary>
  380.     /// 接收者
  381.     /// </summary>
  382.     public string to_id { get; set; }
  383.     /// <summary>
  384.     ///
  385.     /// </summary>
  386.     public string content { get; set; }
  387.     /// <summary>
  388.     /// 发送者昵称
  389.     /// </summary>
  390.     public string NickName { get; set; }
  391.     /// <summary>
  392.     /// 群名字
  393.     /// </summary>
  394.     public string ChatroomName { get; set; }
  395.     /// <summary>
  396.     /// 通过是需要用的
  397.     /// </summary>
  398.     public string Url { get; set; }
  399.     /// <summary>
  400.     /// 群头像
  401.     /// </summary>
  402.     public string ThumbUrl { get; set; }

  403. PushLoginUrl:其它设备需要登录

  404.     /// <summary>
  405.     /// 确认时需要用的
  406.     /// </summary>
  407.     public string url { get; set; }
  408.     /// <summary>
  409.     /// 设备名
  410.     /// </summary>
  411.     public string Device { get; set; }

  412. ReceiveSysMsg:系统消息,包括谁改了群名、谁加入群了、谁退出群了等

  413.     /// <summary>
  414.     /// 消息类型
  415.     /// </summary>
  416.     public int Type { get; set; }
  417.     /// <summary>
  418.     /// 来源wxid
  419.     /// </summary>
  420.     public string from_id { get; set; }
  421.     /// <summary>
  422.     /// 接收者wxid
  423.     /// </summary>
  424.     public string to_id { get; set; }
  425.     /// <summary>
  426.     /// 消息内容
  427.     /// </summary>
  428.     public string content { get; set; }

  429. ReceiveVerifyMsg:加机器人为好友,需要机器人确认通过

  430.     public long Id { get; set; }
  431.     public string Ticket { get; set; }
  432.     public string FromUsername { get; set; }
  433.     public string EncryptUsername { get; set; }
  434.     public string FromNickname { get; set; }
  435.     public string Content { get; set; }
  436.     public string Sign { get; set; }
  437.     public string Scene { get; set; }
  438.     public string Alias { get; set; }
  439.     public string Bigheadimgurl { get; set; }
  440.     public string Smallheadimgurl { get; set; }
  441.     public string Opcode { get; set; }
  442.     /// <summary>
  443.     /// 来源,可以做邀请统计、营销用
  444.     /// </summary>
  445.     public string SourceUserName { get; set; }
  446.     public string SourceNickName { get; set; }
  447.     /// <summary>
  448.     /// 原始内容,可以自行解析
  449.     /// </summary>
  450.     public string RawContent { get; set; }

  451.     public DateTime AddTime { get; set; }
  452.     public bool Passed { get; set; }

  453. ReceiveTransferMsg:收到转账,需要自己调用方法确认收款

  454.     public long Id { get; set; }
  455.     public string Transferid { get; set; }
  456.     public string Transcationid { get; set; }
  457.     /// <summary>
  458.     /// 收到转账时1,确认后变为3,只有这里为3才表示已经收款
  459.     /// </summary>
  460.     public int Paysubtype { get; set; }
  461.     public DateTime Invalidtime { get; set; }
  462.     /// <summary>
  463.     /// 发送者
  464.     /// </summary>
  465.     public string FromId { get; set; }
  466.     /// <summary>
  467.     /// 接收者,务必判断是否与机器人wxid相同,因为机器人给别人转账时也会发生这个事件
  468.     /// </summary>
  469.     public string ToId { get; set; }
  470.     public int Amount { get; set; }
  471.     public string PayerMemo { get; set; }

  472. ReceiveQRPayMsg:收到二维码付款

  473.     public long Id { get; set; }
  474.     public string Outtradeno { get; set; }
  475.     public string UserName { get; set; }
  476.     public string Displayname { get; set; }
  477.     public DateTime TimeStamp { get; set; }
  478.     public int Amount { get; set; }
  479.     public string Memo { get; set; }
  480.     public string PayerMemo { get; set; }

  481. ReceiveHBMsg:收到红包消息,需要自己调用收红包才能收到

  482.     public long Id { get; set; }
  483.     public string Paymsgid { get; set; }
  484.     public string Title { get; set; }
  485.     public string Nativeurl { get; set; }
  486.     public DateTime Invalidtime { get; set; }
  487.     public string UserName { get; set; }
  488.     public string FromId { get; set; }
  489.     /// <summary>
  490.     /// 抢到的金额
  491.     /// </summary>
  492.     public int Amount { get; set; }
  493.     /// <summary>
  494.     /// 抢过
  495.     /// </summary>
  496.     public bool Finished { get; set; }

  497. ReceiveMessage:收到消息,最复杂的一个事件,微信很多事情都用这个来通知,框架解析了一些,如果有需要解析的,可以再反馈。

  498.     /// <summary>
  499.     /// 发言人(群里和私聊通用,框架定义的)
  500.     /// </summary>
  501.     public string Sender { get; set; }
  502.     /// <summary>
  503.     /// 发言人昵称(群里和私聊通用,框架定义的)
  504.     /// </summary>
  505.     public string SenderNick { get; set; }
  506.     /// <summary>
  507.     /// 群聊时表示群名,否则空
  508.     /// </summary>
  509.     public string FromNick { get; internal set; }
  510.     /// <summary>
  511.     /// at列表,群聊时用
  512.     /// </summary>
  513.     public List<string> AtList { get; set; }
  514.     public DateTime CreateTime { get; set; }
  515.     /// <summary>
  516.     /// 群消息和私聊消息都是同一个事件,因此FromId如果是@chatroom结尾就是群消息,否则为私聊。其他公众号等特殊id请自己过滤
  517.     /// </summary>
  518.     public string FromId { get; set; }
  519.     public int msgKey { get; set; }
  520.     /// <summary>
  521.     /// 消息内容,可能包含XML消息,公众号消息等,请自行处理
  522.     /// </summary>
  523.     public string Content { get; set; }
  524.     public string ExInfo { get; set; }
  525.     public long ServerId { get; set; }
  526.     public int Status { get; set; }
  527.     public long SvrId { get; set; }
  528.     /// <summary>
  529.     /// 接收者
  530.     /// </summary>
  531.     public string ToId { get; set; }

  532.     public int Type { get; set; }

  533.     public string XmlContent { get; set; }
复制代码





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|IPiaoBo Inc. ( 渝ICP备17002826号 )

GMT+8, 2024-3-28 19:26 , Processed in 0.041175 second(s), 38 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表