机器人回调接口完善

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

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

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"}


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python学习---利用Python操作数据库

如何理解连接connection和游标 cursor? connection就像是连接出发地和目的地的高速公路cursor就像是在高速公路上的货车-拉货我们使用游标就可以完成对数据的操作当我们完成操作完成后就可以停下货车,然后公路再停止使用。 pysql实现查询 ""…

需求开发和管理

人们对需求术语的困惑甚至延伸到整个学科的称谓上。有些作者将整个范围都称为“需求工程”。有些人统称为“需求管理”。还有些人认为这些活动属于广义上的业务分析的一个分支。我们发现,最好将需求工程分为需求开发和需求管理,如图所示。不管项目遵循什…

ubuntu2404 AMD64 编译并安装virtualbox7.0.18

ubuntu2404 AMD64 编译并安装virtualbox7.0.18 0、官方参考文档: https://www.virtualbox.org/wiki/Linux%20build%20instructions 1、下载源码: $ wget https://download.virtualbox.org/virtualbox/7.0.18/VirtualBox-7.0.18.tar.bz2 2、安装库&…

基于信号分解方法的机械故障诊断方法存在的问题

一方面,由于结构共振、测试噪声的干扰,为了确保分解精度,需要给定准确的参数初值(例如,瞬时频率)。研究人员通常认为零部件特征频率与通过传动比和驱动转速计算的理论值基本吻合,并基于理论值设置参数初值。事实上&…

Pytest对协程异步函数进行单元测试

安装 安装基础包 pytest,pytest-asyncio pip install pytest pytest-asyncio测试: pytest -s -v ./python-code/do-async/aiohttp_session_pytest.py书写规范 类名必须以 Test 开头方法和函数名必须以test开头 class TestAddFunc(object): # 测试…

AIGC 006-textual-inversion使用文本反转实现个性化文本到图像生成!

AIGC 006-textual-inversion使用文本反转实现个性化文本到图像生成! 文章目录 0 论文工作1 论文方法2 效果 0 论文工作 这篇论文 (An Image is Worth One Word: Personalizing Text-to-Image Generation using Textual Inversion) 提出了一种新颖的技术&#xff0c…

算法:树状数组

文章目录 面试题 10.10. 数字流的秩327. 区间和的个数315. 计算右侧小于当前元素的个数 树状数组可以理解一种数的存储格式。 面试题 10.10. 数字流的秩 假设你正在读取一串整数。每隔一段时间,你希望能找出数字 x 的秩(小于或等于 x 的值的个数)。 请实现数据结构…

揭秘Python安装目录:你的编程宝库隐藏了哪些宝藏?

python3.10安装目录结构 Python310/ │ ├── DLLs/ # Python 解释器所需的 DLL 文件 ├── Doc/ # Python 的 官方文档和参考手册 ├── include/ # 头文件和静态库文件 ├── Lib/ # Python 标准库 ├── libs/ …

可以免费试用得微信辅助工具wetool升级版,可以群发,可以清理僵尸粉,可以自动回复,可以批量添加

今天给大家推荐一款我们目前在使用的电脑群发工具掘金小蜜,不仅可以无限多开,方便你同时管理多个账号,群发功能更是十分强大,轻松释放你的双手。 掘金小蜜(只支持Win7及以上操作系统,没有推Mac版和手机客户…

【C语言】二叉树的实现

文章目录 前言⭐一、二叉树的定义🚲二、创建二叉树🎡三、二叉树的销毁🎉四、遍历二叉树1. 前序遍历2. 中序遍历3. 后序遍历4. 层序遍历 🌲五、二叉树的计算1. 计算二叉树结点个数2. 计算二叉树叶子结点的个数3. 计算二叉树的深度4…

决策控制类软件项目的团队配置

决策控制类软件项目的团队配置怎样才是最合适的?目的就是实现高效的项目协作以及为企业降本增效。软件项目的主要费用来源是研发人员的开支以及差旅费用。 下面的思维导图从项目与产品的关系、团队架构、项目成员配置、项目可复制性、招聘这几点进行说明如何组织人…

力扣刷题--2176. 统计数组中相等且可以被整除的数对【简单】

题目描述 给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 k &#xff0c;请你返回满足 0 < i < j < n &#xff0c;nums[i] nums[j] 且 (i * j) 能被 k 整除的数对 (i, j) 的 数目 。 示例 1&#xff1a; 输入&#xff1a;nums [3,1,2,2,2,1,3], k …

VMware安装Windows Server 2012 R2

1.下载镜像 迅雷&#xff1a;ed2k://|file|cn_windows_server_2012_r2_vl_with_update_x64_dvd_6052729.iso|5545527296|BD499EBCABF406AB82293DD8A5803493|/ 2. 安装过程 【创建新的虚拟机】→ 【自定义】→ 【下一步】 【下一步】 【稍后安装】→ 【下一步】 选择版本 自定…

数据结构(五)

数据结构&#xff08;五&#xff09; 常见的排序算法内部排序交换插入选择归并基数 外部排序基于归并的 常见的排序算法 内部排序 交换 冒泡&#xff1a;每一次运行总会将最小的或者最大的放到前面&#xff0c;如果需要交换&#xff0c;一直在交换 快速排序*&#xff1a;经过…

python如何把字符串变成小写字母

Python中&#xff0c;将字符串中的字母转换成小写字母&#xff0c;字符串变量提供了2种方法&#xff0c;分别是title()、lower()。 Python title()方法 title()方法用于将字符串中每个单词的首字母转为大写&#xff0c;其他字母全部转为小写&#xff0c;转换完成后&#xff0…

SpringBoot+Vue开发记录(六)-- 后端配置mybatis

原型图什么的就先不管&#xff0c;后面再写。 本篇文章的主要内容就是springboot通过mybatis操作数据库实现增删改查。 重点是mybatis配置与相关文件数据&#xff0c;以后开新项目忘记了怎么配置的话可以再照着这个搞。 这算是最基础的部分了吧。 文章目录 一&#xff0c;配置…

计算机毕业设计 | SpringBoot招投标 任务发布网站(附源码)

1&#xff0c;绪论 在市场范围内&#xff0c;任务发布网站很受欢迎&#xff0c;有很多开发者以及其他领域的牛人&#xff0c;更倾向于选择工作时间、工作场景更自由的零工市场寻求零散单子来补贴家用。 如今市场上&#xff0c;任务发布网站鱼龙混杂&#xff0c;用户需要找一个…

xgboost项目实战-保险赔偿额预测与信用卡评分预测001

目录 算法代码 原理 算法流程 xgb.train中的参数介绍 params min_child_weight gamma 技巧 算法代码 代码获取方式&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1QV7nMC5ds5wSh-M9kuiwew?pwdx48l 提取码&#xff1a;x48l 特征直方图统计&#xff1a; fig, …

STL源码刨析:序列式容器之vector

目录 1.序列式容器和关联式容器 2.vector的定义和结构 3.vector的构造函数和析构函数的实现 4.vector的数据结构以及实现源码 5.vector的元素操作 前言 本系列将重点对STL中的容器进行讲解&#xff0c;而在容器的分类中&#xff0c;我们将容器分为序列式容器和关联式容器。本章…

xcode按下delete键不能删除不能使用,解决办法

有可能是按键冲突导致的问题&#xff0c;就是你不小心把delete键绑定了不同的快捷键&#xff0c;所以需要恢复所有的偏好设置和快捷键才可以&#xff0c;我这里就是这样的提示内容&#xff0c;在xcode中按delete键完全无效&#xff1a; 而且还会报红色提示&#xff1a;意思是不…