这是一个基于web微信协议的简易微信机器人,目前功能比较简陋且不堪🙈。
- AI机器人(ollama)
- 简单文字消息回复
- 消息过滤
- 实时信息展示(带斗图表情(Iterm2))
- 语音消息自动播报及保存
- 通讯录导出
- 好友地区分布旭日图导出
- 好友头像墙制作
extraanalysis分析整合结果文件夹x_contacts.xlsx通讯录x_icon_wall.png头像墙x_sunburst_city.html区域分布旭日图
log聊天记录[未做]media媒体文件夹emoji聊天表情icons好友头像images聊天图片videos聊天视频[未做]voices聊天语音
static⚡️current_msg.json最新消息日志[用于调试]batch_contacts.json群聊数据contact.json通讯录数据person_data.json个人数据wxbot.pkl缓存登录信息
【varb】指代变量名 ,逻辑图内均使用python代码
首先保证您已经安装了python3.10及以上版本,然后依次运行如下命令。
git clone https://github.com/aoii103/Webot.git
cd webot
python3 -m pip install -r requirements.txt在安装好依赖之后,我们在通过webot/conf.py该文件进行默认配置修改, 也可以通过run方法传入, 各参数作用如下。
debug = True开启debug模式play_voice = True自动播报声音export_xlsx = True自动导出好友列表make_icon_wall = True自动导出头像墙sunburst_city = True自动导出好友分布旭日图need_interaction = False交互式shell
下面是一个简单的文本回复案例即test.py
from webot.core import Webot
from webot.util import Device
from pprint import pprint
class bot(Webot):
@Device.filters(["text"], is_me=True)
def send_back(self, msg):
pprint(msg)
if msg["type"] == "text":
if "你好" == msg["content"]:
self.send_text(msg["from"], "你好呀!")
bot().run(True, False)当然我们也可以通过python3 test.py直接使用默认测试案例。
以下是运行开始的截图!
from为发送者IDto为接受者ID
{
"content": "你好",
"from": "@1798bad2f5dc126a19450ef2c86aa8e3",
"from_nick": "zhangsan",
"is_group": False,
"is_me": True,
"raw_content": "你好",
"time": 1560230438,
"to": "@8ef49591902e6c6642732eb7289a5619456u98965f6ea32fa671fe3ab33a002f",
"to_nick": "filehelper",
"type": "text"
}所有的好友、公众号信息都会被保存至xxx_contacts.xlsx中。
语音流将会按照被下载存储,并通过pygame播放,但不知为何播放的声音仿佛过了变声器一般。
- 文件及图片发送
- 其他更多思考中的功能
- 基于sqlite的消息记录
This project is MIT licensed.
如果您觉得这个脚本对您有用,可别忘了star哟🐶。







