机器人回调接口完善

news2024/11/15 13:28:30

大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。

免责声明:该工具仅供学习使用,禁止使用该工具从事违法活动,否则永久拉黑封禁账号!!!本人不对任何工具的使用负责!!!

mxxWechatBot回调接口配置

痛点

  • 当有新成员进群时,如何通知到我们业务端,且进行进一步的操作,例如:进群欢迎、发送群资料等等,如何实现?
  • 当有成员退群时,如何通知到我们业务端,进行群内通知或者仅在管路员内部群中通知,例如:客户群中,眼见客户一天比一天少,但是无法及时发现?
  • 当有实时消息时,如何及时在业务平台中发现是哪个群的哪个成员发送的?
  • 当有成员撤回消息是,好不好奇群友撤回的什么消息?
  • 当有成员给你转账时,不在电脑面前如何自动收款?
  • 如何知道现在有多少条未读消息?

以上这些场景,在我们实际中经常会遇到,介此,今天,mxxWechatBot增加回调接口的功能,针对以上痛点,提供强有力的解决方案。

目前支持的场景

  • 收到消息
  • 撤回消息
  • 注入成功
  • 登录成功
  • 进群
  • 退群
  • 通过好友申请
  • 转账退款
  • 转账收款
  • …其他的还在开发中

效果

我这边只展示了群成员退群后的效果,大家可以看到,当有成员退群时,会自动触发回调接口,同时,会将该成员的群信息和群成员信息发送到我们业务平台,方便我们后续处理。

如何设置回调接口?

首先,我们需要打开服务端,找到【基础配置】菜单,找到【基本功能设置】中的【回调接口配置】,如下图所示:

接下来我们进行回调接口配置:

首先,点击【新增】

其次,按照表单信息填写,接口类型中可以选择:退群、进群、通过好友申请、转账成功、转账退款、注入成功、登录成功;接口地址中填写在自己的接口地址(可以参考这里);适用群/好友id:填写群聊id或者好友id,然后点击保存。

【注意】:

自2024年5月26日19:01:54后,回调接口不再需要填写适用群或者还有了,所有的群或者好友的回调,统一都去接口中,用户可以自己处理。

☆☆☆温馨提示:
在写自定义接口时,需要注意:

  1. 机器人客户端会调用你的自定义接口
  2. 调用请求方式为POST
  3. 传入参数为JSON格式
  4. 传参数据如下:
{
  "wxid": "wxid_ds454545", // wxid
  "wxNum": "wxNum_123456", // 微信号
  "nick": "mxxWechatbot", // 昵称
  "device": "iPhone", // 登录设备
  "phone": "+1506666666", // 电话
  "avatarUrl": "http://example.com/avatar.jpg", // 头像
  "country": "中国", // 国家
  "province": "山西", // 省
  "city": "运城", // 城市
  "email": "user@example.com", // 邮箱
  "qq": "123456789", // QQ
  "timeStamp": 1609459200, // 时间戳
  "fromType": 1, // 来源类型:1|私聊 2|群聊 3|公众号
  "msgType": 1, //# 消息类型:1|文本 3|图片 34|语音 42|名片 43|视频 47|动态表情  48|地理位置 49|分享链接或附件 2001|红包 2002|小程序  2003|群邀请 10000|系统消息  60 撤回消息  61 登录成功  62退群 63 进群 64通过好友申请 65注入成功 66转账
  "msgSource": 0, // 消息来源:0|别人发送 1|自己手机发送
  "fromWxid": "wxid_sender", // fromType=1时为好友wxid,fromType=2时为群wxid,fromType=3时公众号wxid
  "fromNick": "sender_nickname", // fromType=1时为好友wxid,fromType=2时为群昵称,fromType=3时公众号昵称
  "finalFromWxid": "wxid_group_speaker", // 仅fromType=2时有效,为群内发言人wxid
  "finalFromNick": "group_speaker_nickname", // 仅fromType=2时有效,为群内发言人昵称
  "atWxidList": ["wxid_mentioned1", "wxid_mentioned2"], // 仅fromType=2,且msgSource=0时有效,为消息中艾特人wxid列表
  "silence": 0, // 仅fromType=2时有效,0
  "membercount": 100, // 仅fromType=2时有效,群成员数量
  "signature": "This is a signature", // 签名
  "msg": "Hello, this is a sample message", // 消息内容
  "sex": 1 // 性别
}

序号字段名类型说明
1wxidstring微信ID
2wxNumstring微信号
3nickstring昵称
4devicestring登录设备
5phonestring电话
6avatarUrlstring头像URL
7countrystring国家
8provincestring
9citystring城市
10emailstring邮箱
11qqstringQQ号
12timeStampint时间戳
13fromTypeint来源类型:1私聊,2群聊,3公众号
14msgTypeint消息类型:1文本,3图片,34语音,42名片,43视频,47动态表情,48地理位置,49分享链接或附件,2001红包,2002小程序,2003群邀请,10000系统消息,60撤回消息,61登录成功,62退群,63进群,64通过好友申请,65注入成功,66转账
15msgSourceint消息来源:0别人发送,1自己手机发送
16fromWxidstringfromType=1时为好友wxid,fromType=2时为群wxid,fromType=3时公众号wxid
17fromNickstringfromType=1时为好友昵称,fromType=2时为群昵称,fromType=3时公众号昵称
18finalFromWxidstring仅fromType=2时有效,为群内发言人wxid
19finalFromNickstring仅fromType=2时有效,为群内发言人昵称
20atWxidListlist仅fromType=2,且msgSource=0时有效,为消息中艾特人wxid列表
21silenceint仅fromType=2时有效,0
22membercountint仅fromType=2时有效,群成员数量
23signaturestring签名
24msgstring消息内容
25sexstring性别

详情原理可以参考这里

当我们保存成功之后,记得需要同步一下配置到客户端,点击【同步】按钮即可。

最后检查一下,信息是否同步成功。我们打开机器人客户端,然后找到路径:C:\Users\用户\Documents\mxxWechatBot-conf,点击打开mxxWechatBotConf.ini文件,查看是否有[huidiao]这个节点。

如果找到,那就证明配置的没有问题,一切准备就绪。快去试试你的回调接口是否成功运行~

附回调接口示例

from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from typing import Optional, List
from fastapi import APIRouter

app = FastAPI()

huidiao_router = APIRouter()

# 消息实体
class CallBackDataEntity(BaseModel):
    wxid: Optional[str] = None  # wxid
    wxNum: Optional[str] = None  # 微信号
    nick: Optional[str] = None  # 昵称
    device: Optional[str] = None  # 登录设备
    phone: Optional[str] = None  # 电话
    avatarUrl: Optional[str] = None  # 头像
    country: Optional[str] = None  # 国家
    province: Optional[str] = None  # 省
    city: Optional[str] = None  # 城市
    email: Optional[str] = None  # 邮箱
    qq: Optional[str] = None  # QQ
    timeStamp: Optional[int] = None # 时间戳
    fromType: Optional[int] = None # 来源类型:1|私聊 2|群聊 3|公众号
    # 消息类型:1|文本 3|图片 34|语音 42|名片 43|视频 47|动态表情
    # 48|地理位置 49|分享链接或附件 2001|红包 2002|小程序
    # 2003|群邀请 10000|系统消息
    # 60 撤回消息  61 登录成功  62退群 63 进群 64通过好友申请 65注入成功 66转账
    msgType: Optional[int] = None
    msgSource: Optional[int] = None # 消息来源:0|别人发送 1|自己手机发送
    fromWxid: Optional[str] = None # fromType=1时为好友wxid,fromType=2时为群wxid,fromType=3时公众号wxid
    fromNick: Optional[str] = None # fromType=1时为好友wxid,fromType=2时为群昵称,fromType=3时公众号昵称
    finalFromWxid: Optional[str] = None  # 仅fromType=2时有效,为群内发言人wxid
    finalFromNick: Optional[str] = None  # 仅fromType=2时有效,为群内发言人昵称
    atWxidList: Optional[list] = None  # 仅fromType=2,且msgSource=0时有效,为消息中艾特人wxid列表
    silence: Optional[int] = None # 仅fromType=2时有效,0
    membercount: Optional[int]= None  # 仅fromType=2时有效,群成员数量
    signature: Optional[str] = None
    # 消息内容
    msg: Optional[str]= None
    # 性别
    sex: Optional[str]= None

    # 创建get方法
    def get(self, param):
        return getattr(self, param)


# 回调接口信息处理ds
@huidiao_router.post("/receive_message_callback")
async def receive_message(data: CallBackDataEntity):
    # 将收到的消息转换成json
    data = data.dict()
    print(f"接收到了回调消息,内容是:{data}")
    # 这里可以添加你的业务逻辑
    return {"message": "success"}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1702342.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

京东面试:SpringBoot同时可以处理多少请求?

面试题大全:www.javacn.site Spring Boot 作为 Java 开发中必备的框架,它为开发者提供了高效且易用的开发工具,所以和它相关的面试题自然也很重要,咱们今天就来看这道经典的面试题:Spring Boot 同时可以处理多少个请求…

拥塞控制的自适应 AQM 探索

拥塞控制面临的几类问题: 网络拥塞时,大象流如何为微突发让路;网络拥塞时,如何只惩罚造成拥塞的流量;网络拥塞时,如何确保小流量不受影响。 既然不想在 host 将流按照大小分类,嫌没意义&#…

内存泄漏案例分享4-异步任务流内存泄漏

案例4——异步任务内存泄漏 异步任务,代指起子线程异步完成一些数据操作、网络接口请求等,通常会使用以下API: Runnbale,Thread,线程池RxJavaHandlerThread 而这些异步任务很有可能操作内存泄漏,下面我们以Rxjava为…

SaaS增长三大策略:从用户获取到留存转化的全链路解析

在SaaS(软件即服务)行业中,增长是企业成功的关键。然而,要实现持续增长并非易事,需要一套从用户获取到留存转化的全链路策略。 首先,用户获取是SaaS增长的第一步。 这要求企业明确目标用户群体&#xff0…

什么是HTTP代理?适用于哪些场景?

HTTP代理是一种网络代理服务器,它主要用于处理HTTP协议的请求和响应。HTTP代理充当客户端(如浏览器)和目标服务器之间的中介,允许客户端通过代理服务器来发送HTTP请求,并接收来自服务器的响应。HTTP代理可以分为正向代…

01-内网基础知识

内网基础知识 一、什么是内网? 内网也指局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的历程安排、电子邮…

牛顿迭代法与二分法求根

牛顿迭代法 求平方根 数学迭代式&#xff1a;x[n1] (x[n] a/x[n])/2. 初始化&#xff1a;x[0] a/2. 保持&#xff1a;x[n1] (x[n] a/x[n])/2. 终止条件&#xff1a;|x[n1]-x[n]| < 0.00001时&#xff0c;迭代终止。 代码&#xff1a; #include "stdio.h&qu…

Web前端开发技术、详细文章、(例子)html 列表、有序列表、无序列表、列表嵌套

目录 列表概述 列表类型与标记符号 无序列表 语法&#xff1a; 语法说明&#xff1a; 无序列表标记的 type 属性及其说明 代码解释 有序列表 基本语法 属性说明 1、列表 o1标记的属性 2、列表项li标记的属性 有序列表 o1标记的属性、值 代码解释 列表嵌套 基本…

骑车不戴头盔监测摄像机

骑行是一种健康的出行方式&#xff0c;但是在骑行途中不戴头盔存在安全隐患&#xff0c;容易造成头部受伤。为了规范骑行行为&#xff0c;保障骑行安全&#xff0c;可以考虑使用骑车不戴头盔监测摄像机进行监测和识别。这种摄像机可以通过智能识别技术&#xff0c;实时监测骑自…

黑灰产攻防对抗——中睿天下代理秒拨IP防护研究

01网络攻击代理现状 随着攻击者防溯源和绕过防护意识的加强&#xff0c;攻击者进行网络攻击时常使用代理IP进行攻击&#xff0c;防止非法攻击时被追踪到身份信息。目前常见的代理方式有socks代理、HTTP/HTTPS代理、VPN、秒拨等。 对于企业来说&#xff0c;通过SOAR类平台可实现…

训练YOLOv9-S(注意:官方还没有提供YOLOv9-S的网络,我这是根据网络博客进行的步骤,按照0.33、0.50比例调整网络大小,参数量15.60M,计算量67.7GFLOPs)

文章目录 1、自己动手制造一个YOLOv9-S网络结构1.1 改前改后的网络结构&#xff08;参数量、计算量&#xff09;对比1.2 一些发现&#xff0c;YOLOv9代码打印的参数量计算量和Github上提供的并不一致&#xff0c;甚至yolov9-c.yaml代码打印出来是Github的两倍1.3 开始创造YOLOv…

参数高效微调PEFT(一)快速入门BitFit、Prompt Tuning、Prefix Tuning

参数高效微调PEFT(一)快速入门BitFit、Prompt Tuning、Prefix Tuning 目前&#xff0c;模型最全的网站是HuggingFace&#xff0c;但是国内需要魔法流量才能访问。另外&#xff0c;现在大模型权重文件都较大&#xff0c;也会浪费不少流量&#xff0c;因此这里推荐使用魔搭社区下…

深入探索C++模板进阶:掌握非类型参数、特化技巧与分离编译的艺术

目录 非类型模板参数 类模板的特化 概念 函数模板特化 类模板特化 全特化 偏特化 类模板特化应用示例 模板的分离编译 分离编译概念 模板的分离编译 解决方法 模板总结 非类型模板参数 模板参数可分为类型形参和非类型形参。 类型形参&#xff1a; 出现在模板参数列表中&am…

华为云之Zabbix监控平台部署实践

华为云之Zabbix监控平台部署实践 一、本次实践介绍1.1 实践环境简介1.3 本次实践完成目标 二、 相关服务介绍2.1 华为云ECS云服务器介绍2.2 Zabbix介绍 三、环境准备工作3.1 预置实验环境3.2 查看预置环境信息 四、登录华为云4.1 登录华为云4.2 查看ECS状态4.3 连接ECS弹性云服…

CMake-gui中选择vs编译器没有指定版本解决办法

CMake-gui中选择vs编译器&#xff0c;但是没有指定版本怎么办&#xff1f; 正文 cMake-gui中选择vs编译器时&#xff0c;有Visual Studio 2008、2013、2015、2017、2019&#xff0c;但就是没有的2022的版本&#xff0c;如图&#xff1a; 因为小编目前使用的Visual Studio版…

由于找不到d3dx9_39.dll,无法继续执行代码的5种解决方法

在现代科技发展的时代&#xff0c;电脑已经成为我们生活中不可或缺的一部分。然而&#xff0c;由于各种原因&#xff0c;我们可能会遇到一些电脑问题&#xff0c;其中之一就是“d3dx9_39.dll丢失”。这个问题可能会导致我们在运行某些游戏或应用程序时遇到错误提示&#xff0c;…

机器学习入门指南:Jupyter Notebook实战

前言 机器学习作为人工智能领域的核心组成&#xff0c;是计算机程序学习数据经验以优化自身算法、并产生相应的“智能化的“建议与决策的过程。随着大数据和 AI 的发展&#xff0c;越来越多的场景需要 AI 手段解决现实世界中的真实问题&#xff0c;并产生我们所需要的价值。 机…

eDNA热门应用案例一网打尽

一份环境样品中&#xff0c;可包含的DNA片段能达到上千万个&#xff0c;而每一个物种能携带的DNA又是独一无二的。将从样品中获得的遗传标记序列与DNA数据库中的序列相比对&#xff0c;从而确认分析的DNA来自什么物种&#xff0c;这就是环境DNA宏条形码技术&#xff08;eDNA Me…

拼多多商品详情商品标题sku等信息抓取接口API调用步骤演示

接口名称&#xff1a;item_get_app_pro 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,item_get,item_search_sho…