python版本的SDK(群友提供),不完善,您可以继续完善~

admin 2022-01-04 11:21:22 3409

感谢群友 胖胖无私提供~

# coding:utf-8
import json
from typing import Optional
from pydantic import BaseModel
from fastapi.responses import Response


"""
消息事件                      事件说明

EventGroupMsg               群消息事件
EventFriendMsg              私聊消息事件
EventReceivedTransfer       收到转账事件
EventScanCashMoney          面对面收款
EventFriendVerify           好友请求事件
EventContactsChange         朋友变动事件
EventGroupMemberAdd         群成员增加事件
EventGroupMemberDecrease    群成员减少事件(群成员退出)
EventSysMsg                 系统消息事件
"""

"""
事件发送                      发送说明

SendTextMsg                 发送文本消息
SendImageMsg                发送图片消息
SendVideoMsg                发送视频消息
SendFileMsg                 发送文件消息
SendGroupMsgAndAt           发送群消息并艾特
SendEmojiMsg                发送动态表情
SendLinkMsg                 发送分享链接
SendMusicMsg                发送音乐分享
GetRobotName                取登录账号昵称
GetRobotHeadimgurl          取登录账号头像
GetLoggedAccountList        取登录账号列表
GetFriendList               取好友列表
GetGroupList                取群聊列表
GetGroupMemberList          取群成员列表
GetGroupMemberInfo          取群成员详细
AcceptTransfer              接收好友转账
AgreeGroupInvite            同意群聊邀请
AgreeFriendVerify           同意好友请求
EditFriendNote              修改好友备注
DeleteFriend                删除好友
GetappInfo                  取插件信息
GetAppDir                   取应用目录
AddAppLogs                  添加日志
ReloadApp                   重载插件
RemoveGroupMember           踢出群成员
EditGroupName               修改群名称
EditGroupNotice             修改群公告
BuildNewGroup               建立新群
QuitGroup                   退出群聊
InviteInGroup               邀请加入群聊
"""


class AcceptEvent(BaseModel):
    """
    消息接收模型
    """
    # 注:在私聊事件下,from_wxid和final_from_wxid一致
    # 消息事件
    event: Optional[str] = None
    # 机器人微信ID
    robot_wxid: Optional[str] = None
    # 机器人昵称
    robot_name: Optional[str] = None
    # 消息类型  1/文本消息 3/图片消息 34/语音消息  42/名片消息  43/视频 47/动态表情 48/地理位置  49/分享链接  2000/转账 2001/红包  2002/小程序  2003/群邀请
    type: Optional[int] = None
    # 微信群ID
    from_wxid: Optional[str] = None
    # 群名称
    from_name: Optional[str] = None
    # 发信人
    final_from_wxid: Optional[str] = None
    # 发信人昵称
    final_from_name: Optional[str] = None
    # 接收消息的群/人
    to_wxid: Optional[str] = None
    # 消息内容
    msg: Optional[str] = None
    # 金额
    money: Optional[float] = None


def SendTextMsg(robot_wxid, to_wxid, msg):
    """
    发送普通文本消息
    :param robot_wxid:机器人ID
    :param to_wxid:消息接收ID 人/群
    :param msg:文本消息
    :return:发送消息
    """
    data = dict()
    data["event"] = "SendTextMsg"
    data["robot_wxid"] = robot_wxid
    data["to_wxid"] = to_wxid
    data["msg"] = str(msg)
    data = json.dumps(data)
    return Response(data)


def SendImageMsg(robot_wxid, to_wxid, path, name):
    """
    发送图片消息
    :param robot_wxid: 机器人ID
    :param to_wxid: 消息接收ID 人/群
    :param path: 图片URL路径
    :param name: 图片唯一名称
    :return: 发送图片消息
    """
    data = dict()
    msg = dict()
    data["event"] = "SendImageMsg"
    data["robot_wxid"] = robot_wxid
    data["to_wxid"] = to_wxid
    msg["url"] = path
    msg['name'] = name
    data['msg'] = msg
    data = json.dumps(data)
    return Response(data)


def SendVideoMsg(robot_wxid, to_wxid, path, name):
    """
    发送视频消息
    :param robot_wxid: 机器人ID
    :param to_wxid: 消息接收ID 人/群
    :param path: 视频URL路径
    :param name: 视频唯一名称
    :return: 发送视频消息
    """
    data = dict()
    msg = dict()
    data["event"] = "SendVideoMsg"
    data["robot_wxid"] = robot_wxid
    data["to_wxid"] = to_wxid
    msg["url"] = path
    msg['name'] = name
    data['msg'] = msg
    data = json.dumps(data)
    return Response(data)


def SendFileMsg(robot_wxid, to_wxid, path, name):
    """
    发送文件消息
    :param robot_wxid: 机器人ID
    :param to_wxid: 消息接收ID 人/群
    :param path: 文件URL路径
    :param name: 文件唯一名称
    :return: 发送文件频消息
    """
    data = dict()
    msg = dict()
    data["event"] = "SendFileMsg"
    data["robot_wxid"] = robot_wxid
    data["to_wxid"] = to_wxid
    msg['name'] = name
    msg["url"] = path
    data['msg'] = msg
    data = json.dumps(data)
    return Response(data)


'robot_wxid, group_wxid, member_wxid, member_name, msg'


def SendGroupMsgAndAt(robot_wxid, to_wxid, at_id, at_name, msg):
    """
    发送@消息
    :param robot_wxid:机器人ID
    :param to_wxid:消息接收的群ID
    :param at_id:需要@的人ID
    :param at_name:需要@人的名称
    :param msg:文本消息
    :return:发送消息
    """
    data = dict()
    data["event"] = "SendGroupMsgAndAt"
    data["robot_wxid"] = robot_wxid
    data["group_wxid"] = to_wxid
    data['member_wxid'] = at_id
    data['member_name'] = at_name
    data['msg'] = msg
    data = json.dumps(data)
    return Response(data)


def SendEmojiMsg(robot_wxid, to_wxid, path, name):
    """
    发送动态表情
    :param robot_wxid: 机器人ID
    :param to_wxid: 接收消息ID 人/群
    :param path: URL路径
    :param name: 文件唯一名称
    :return: 发送消息
    """
    data = dict()
    msg = dict()
    data["event"] = "SendEmojiMsg"
    data["robot_wxid"] = robot_wxid
    data["to_wxid"] = to_wxid
    msg['name'] = name
    msg["url"] = path
    data['msg'] = msg
    data = json.dumps(data)
    return Response(data)


def SendLinkMsg(robot_wxid, to_wxid, title, text, target_url, pic_url=' ', icon_url=' '):
    """
    发送链接卡片消息
    :param robot_wxid: 机器人ID
    :param to_wxid: 接收消息ID 人/群
    :param title: 链接卡片标题
    :param text: 链接卡片文本
    :param target_url: 链接卡片URL
    :param pic_url:
    :param icon_url: 链接卡片图标
    :return: 发送链接卡片消息
    """
    data = dict()
    msg = dict()
    data["event"] = "SendLinkMsg"
    data["robot_wxid"] = robot_wxid
    data["to_wxid"] = to_wxid
    msg['title'] = title
    msg['text'] = text
    msg['target_url'] = target_url
    msg['pic_url'] = pic_url
    msg['icon_url'] = icon_url
    data['msg'] = msg
    data = json.dumps(data)
    return Response(data)
可爱猫?Telegram电报群 https://t.me/ikeaimao

社区声明 1、本站提供的一切软件、教程和内容信息仅限用于学习和研究目的
2、本站资源为用户分享,如有侵权请邮件与我们联系处理敬请谅解!
3、本站信息来自网络,版权争议与本站无关。您必须在下载后的24小时之内,从您的电脑或手机中彻底删除上述内容
最新回复 (0)

您可以在 登录 or 注册 后,对此帖发表评论!

返回