这是一个基于web微信协议的简易微信机器人,目前功能比较简陋且不堪🙈。
- AI机器人(ollama)
- 简单文字消息回复
- 消息过滤
- 实时信息展示(带斗图表情(Iterm2))
- 语音消息自动播报及保存
- 通讯录导出
- 好友地区分布旭日图导出
- 好友头像墙制作
extra
analysis
分析整合结果文件夹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哟🐶。