机器人回调接口完善

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

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

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


  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

穆雄雄

哎,貌似还没开张来着呢~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值