机器人回调接口完善

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

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

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 APIRouterapp = FastAPI()huidiao_router = APIRouter()# 消息实体
class CallBackDataEntity(BaseModel):wxid: Optional[str] = None  # wxidwxNum: 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  # QQtimeStamp: 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] = NonemsgSource: Optional[int] = None # 消息来源:0|别人发送 1|自己手机发送fromWxid: Optional[str] = None # fromType=1时为好友wxid,fromType=2时为群wxid,fromType=3时公众号wxidfromNick: Optional[str] = None # fromType=1时为好友wxid,fromType=2时为群昵称,fromType=3时公众号昵称finalFromWxid: Optional[str] = None  # 仅fromType=2时有效,为群内发言人wxidfinalFromNick: Optional[str] = None  # 仅fromType=2时有效,为群内发言人昵称atWxidList: Optional[list] = None  # 仅fromType=2,且msgSource=0时有效,为消息中艾特人wxid列表silence: Optional[int] = None # 仅fromType=2时有效,0membercount: 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):# 将收到的消息转换成jsondata = data.dict()print(f"接收到了回调消息,内容是:{data}")# 这里可以添加你的业务逻辑return {"message": "success"}

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

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

相关文章

计算机类主题会议推荐之——ACAIB 2024

【北方民族大学40 周年校庆学术活动】 第四届自动化控制、算法与智能仿生学术会议(ACAIB 2024) 2024年6月7-9日 中国银川 往届均已见刊检索 EI、SCOPUS双检索 基本信息 会议官网:www.acaib.org 最终截稿时间:2024年6月3日晚23:…

网络编程——大端序小端序

网络编程——大端序小端序 大端序(Big Endian)和小端序(Little Endian)1. 大端序(Big Endian)2. 小端序(Little Endian)3. 举例说明4. 使用场景5. 转换 网络协议中的网络字节序原因具…

Mac 电脑给android手机传输文件提示 No android device found

在开发过程中,我们有时候会有在电脑和手机之间传输文件的需求。 Mac电脑给android手机传输文件并不是很方便。 Google 官方提供了一个软件叫Android File Transfer,这个软件免费且好用。 Android File Transfer下载地址 但是使用过程中会遇到一些问题…

白银现货价格对这两种形态形成突破 应当予以关注

在白银现货价格分析和交易中,突破这个行为一直是一个重要的、具有可分析性的市场动作。本文要讨论的,是基于价格形态之上的突破行为,下面我们就来看看。 中继形态的突破。白银现货价格波动中有中继形态有反转形态,中继形态的意思是…

Java代码——@Mock注入失效,注入对象始终为null

现象: 最近在使用Mock对象做单元测试,但是发现mock的对象始终为null. 代码如下: package com.****.cache;import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.junit.Mock…

Linux-命令

添加权限方法及注意事项: 字母权限法很灵活,无论目录还是文件都可以随意添加删除超级权限 chmod us ... 添加SUID chmod gs ... 添加SGID chmod s ...同时添加SUID和SGID chmod -s ...同时删除SUID和SGID chmod ot ...添加Sticky chmod t ...同上 数字权限表示法添加/删除…

【软考高项】- 2024.05.25 第一批考情介绍

一、选择题 1、信息化融合包含内容,产品,产业,等。 2、it内部审计 3、排列活动的数据表现工具 4、费用现值法 5、数据安全法 6、专利,外观设计,实用新型 7、有好几个过程定义和作用。 8、甲乙两公司&#xff0…

Security OAuth2 SSO单点登录(一)

文章目录 学习链接单点登录cookiesession&token模式&前端无感token刷新&双token模式&黑名单auth-server引入依赖application.ymlAuthServerConfigSecurityConfigUserControllerlogin.html client1引入依赖application.yml配置文件SecurityConfigClient1Applica…

中央事件bus

中央事件bus的使用 使用场景:当需要传递给多个组件的时候例如父组件->子组件->孙组件,甚至还得传递到更深的组件的时候中央事件就起到了作用,不需要一直传递。bus其实就是一个发布订阅模式,利用vue的自定义事件机制 // 事…

探索减轻 AI 说服伤害的机制方法

随着生成式人工智能(AI)系统在各个领域的广泛应用,其说服能力也日益增强,引发了对 AI 说服可能带来伤害的担忧。AI 说服的伤害不仅来源于说服的结果,还包括说服过程中可能对个体或社会造成的不利影响。为了系统性地研究…

学习Uni-app开发小程序Day27

这一章学习了几个功能点,例如:try{}catch处理同步请求下载记录异常处理、onShareAppMessage分享好友和分享微信朋友圈、对分享页面传参进行特殊处理、共用分类列表页面实现我的下载和评分页面、使用mp-html富文本插件渲染公告详情页面 try{}catch处理同…

AI+低代码,打通企业大模型应用最后一公里!

一、AI的趋势与发展 一夜之间,微软的AI全宇宙似乎已成型。 5月22日凌晨,在一年一度的2024微软Build大会上,微软CEO萨蒂亚纳德拉一口气宣布了50多项AI能力更新,涵盖GPT-4o上云、自研Cobalt芯片、团队版Copilot、SOTA小模型等。 此…

网络通信过程的技术分析

网络通信过程的技术分析 目录 网络通信过程的技术分析 一、引言 二、网络通信基础 三、通信协议 四、数据传输过程 五、网络设备与通信 六、网络安全与通信 七、高级网络通信概念 八、结论 一、引言 网络通信是现代计算机网络中的核心活动,它涉及多个层面的…

Diffusion相关原理

Diffusion相关原理 1、数学:重参数化 (用于高斯拟合求导)变分推断原理 (用于损失) 2、生成模型系列1、AE自动编码器(AutoEncoder)2.VAE的模型架构模型原理数学原理AE和VAE对比 3、DDMP图像高斯加…

信息化项目必须进行验收测试吗?软件测试公司验收测试流程分享

信息化项目验收是指在软件开发完成之后,对其进行独立检查和确认,以确定它是否达到了预期的质量和功能需求。在进行验收之前,必须进行验收测试,这是非常重要的一步。 为什么要进行验收测试呢?好处可不少哦!…

Flutter 中的 ExpansionTile 小部件:全面指南

Flutter 中的 ExpansionTile 小部件:全面指南 在 Flutter 应用中,ExpansionTile 是一个常用的折叠列表项,它允许用户点击标题来展开或折叠更多的内容。这个组件在实现可折叠列表、FAQ 部分或显示详情信息时非常有用。本文将详细介绍 Expansi…

张量视图(Tensor Views)

文章目录 前言1.torch.as_strided()2.torch.detach()3.torch.diagonal()4.torch.expand()5.torch.movedim()6.torch.narrow()7.torch.permute()8.torch.select()9.torch.squeeze()10.torch.transpose()11.torch.t()12.torch.real和torch.imag13.torch.unflatten()14.torch.unsq…

Redis教程(二十):Redis中Lua脚本的使用

Lua脚本 Lua 脚本主要在于提供一种强大且灵活的方式来扩展和定制应用程序的功能。在不同的场景和平台上,Lua 脚本的作用各不相同,以下是一些主要的用途: 嵌入式脚本 Lua 最初设计的目的就是作为一个嵌入到应用程序中的脚本语言。这使得应用开发者可以提供一种途径,让最…

Flutter 中的 LinearProgressIndicator 小部件:全面指南

Flutter 中的 LinearProgressIndicator 小部件:全面指南 在用户界面设计中,进度指示器是提供用户等待反馈的重要元素。Flutter 提供了多种进度指示器组件,其中 LinearProgressIndicator 用于展示水平的进度条。本文将详细介绍 LinearProgres…

【React】二次封装Antd的Table组件

使用Table并不难,但是每次使用都会伴随着很大一部分逻辑,如loding效果、表格分页筛选排序、调接口完毕后赋值等等,使用方法基本一致,所以可以将他们二次封装,从而减少代码量,提升代码可读性。 二次封装表格…