在了解Chat类的方法之前,我想先介绍一下为什么要做这个类。
wxauto(x)这个项目的原理是模拟人工对微信客户端的操作,拿取到的所有信息都是人眼可见的部分,
所以当我们想监听某个人或群消息的时候,需要把这个人的聊天窗口独立出来,以确保UI元素不会因为微信主窗口切换聊天而丢失,
同时也不需要每来一条信息都切换聊天窗口去获取。
所以,Chat类就是用来创建一个独立的聊天窗口,并获取这个聊天窗口的信息。
| 属性 | 类型 | 描述 |
|---|---|---|
| who | str | 当前子窗口的聊天对象名 |
| chat_type | str | 聊天窗口类型 |
获取当前聊天窗口的类型,返回值为字符串,取值范围如下:
返回值:
dictmsg (str): 发送的消息
who (str, optional): 发送给谁. Defaults to None.
exact (bool, optional): 是否精确匹配. Defaults to False.
参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| msg | str | None | 发送的消息 |
| who | str | None | 发送给谁 |
| exact | bool | False | 是否精确匹配 |
返回值:
WxResponse参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| msg | str | 必填 | 消息内容 |
| who | str | None | 发送对象,不指定则发送给当前聊天对象,当子窗口时,该参数无效 |
| clear | bool | True | 发送后是否清空编辑框 |
| at | Union[str, List[str]] | None | @对象,不指定则不@任何人 |
| exact | bool | False | 搜索who好友时是否精确匹配,当子窗口时,该参数无效 |
返回值:
WxResponse参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| msg | str | 必填 | 要发送的文本消息 |
| who | str | None | 发送对象,不指定则发送给当前聊天对象,当子窗口时,该参数无效 |
| clear | bool | True | 是否清除原本的内容 |
| exact | bool | False | 搜索who好友时是否精确匹配,当子窗口时,该参数无效 |
返回值:
WxResponse示例:
参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| filepath | str|list | 必填 | 要复制文件的绝对路径 |
| who | str | None | 发送对象,不指定则发送给当前聊天对象,当子窗口时,该参数无效 |
| exact | bool | False | 搜索who好友时是否精确匹配,当子窗口时,该参数无效 |
返回值:
WxResponse参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| emotion_index | str | 必填 | 表情索引,从0开始 |
| who | str | None | 发送对象,不指定则发送给当前聊天对象,当子窗口时,该参数无效 |
| exact | bool | False | 搜索who好友时是否精确匹配,当子窗口时,该参数无效 |
返回值:
WxResponse返回值:
返回值:
WxResponse参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| group | str | None | 群名 |
| members | Union[str, List[str]] | None | 成员名或成员名列表 |
| reason | str | None | 申请理由,当群主开启验证时需要,不填写则取消申请 |
返回值:
WxResponse返回值:
List[str]参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| group | str | None | 群名 |
| members | str | None | 成员名 |
返回值:
WxResponse参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| index | int | None | 群聊索引 |
| who | str | None | 群名,当Chat对象时该参数无效,仅WeChat对象有效 |
| addmsg | str | None | 申请理由,当群主开启验证时需要,不填写则取消申请 |
| remark | str | None | 添加好友后的备注名 |
| tags | list | None | 添加好友后的标签 |
| permission | Literal['朋友圈', '仅聊天'] | '仅聊天' | 添加好友后的权限 |
| exact | bool | False | 是否精确匹配群聊名 |
返回值:
WxResponse参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| remark | str | None | 备注名 |
| tags | List[str] | None | 标签列表 |
返回值:
WxResponse参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| name | str | None | 群名称 |
| remark | str | None | 备注名 |
| myname | str | None | 我的群昵称 |
| notice | str | None | 群公告 |
| quit | bool | False | 是否退出群,当该项为True时,其他参数无效 |
{{< cards >}} {{< card link="/docs/example/#8-合并转发消息" title="👉查看合并转发消息示例" tag="点击跳转" tagType="info" >}} {{< /cards >}}
参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| targets | Union[List[str], str] | None | 要转发的对象 |
返回值:
WxResponse参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| wait | int | 3 | 隐性等待时间 |
返回值:
WeChatDialog参数:无
返回值:
List[TopMsg]