基于FastAPI创建的、使用企业微信交互的机器人系统
我从去年想要拥有一个TODOlist开始,一步步的拓展这个想法:从单纯的列出任务,到任务到期提醒...一点点的有其他新的想法。
关于推送方式,我最早是希望通过发送邮件,然后通过微信企业邮的邮件提醒达到推送效果,而后发现了server酱,又开始使用这种方式实现微信推送,期间又接触了某个可以白嫖的短信api,但是免费一个帐号大概400条(配置还很麻烦),最终因为学校的企业微信最近推送了好几条消息...意识到企业微信是目前最适合的推送方式。
当然,单纯了做了任务提醒的功能后,发现企业微信的api还挺好玩的,于是一点点看文档写了其他一些小功能(参考func.py文件)
requirements:fastapi,uvicorn
首先,请配置config.py文件按要求填写:
# sToken和sEncodingAESKey来自于企业微信创建的应用
# sCorpID为企业微信号
sToken = ""
sEncodingAESKey = ""
sCorpID = ""
如果想手动设置中间件(默认为不限制访问),请参考FastAPI文档设置main.py文件中的如下代码
app.add_middleware(
CORSMiddleware,
allow_origins=['*'],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
请先启动main.py程序
然后按照企业微信的要求完成URL验证。
而后即可正常使用。
如果您需要自定义企业微信被动回复功能,可以对func.py文件中的handle_msg函数进行修改。
handle_msg有两个参数
- to_user_id: str # 用户名
- recived_msg: str # 用户发送的信息
返回值即为被动回复的消息内容
本项目基于企业微信官方python库进行修改。
如果有其他问题,可以通过如下方式联系我