WeWorkBot
1.0.0
為企業微信自建應用構建的機器人,能夠實現對各種類型消息的被動回復和主動發送。
現支持:
text )、圖片( image )、語音( voice )、視頻( video )、位置( location )和鏈接( link )等消息類型;text )、圖片( image )、語音( voice )、視頻( video )、圖文( news )等消息類型進行被動回复;text )、圖片( image )、語音( voice )、視頻( video )、Markdown( markdown )、圖文( mpnews )、圖文( news )、文本卡片( textcard )、文件( file )等消息類型主動發送應用消息;依賴的庫不多,可以參考requirements.txt 。
目前支持Python >= 3.9 ,其餘版本未經測試。
Python庫現已發布,可以通過pip install wwbot進行安裝。
如下示例代碼展示WeWorkBot的簡單使用。該示例展示瞭如何回复文本類型( text )的消息:
from flask import Flask
from wwbot import WWBot
from wwbot . msg import Message , TextMessage
# 注册一个文本消息的事件监听
@ WWBot . on ( WWBot . TEXT )
def text_handler ( msg : TextMessage ) -> Message :
'''
msg参数代表接收到的消息被解析后的实例
'''
# 从消息中提取消息内容字段
# 关于接收到的消息格式具体定义,参考 https://developer.work.weixin.qq.com/document/path/90239
msg_content : str = msg . content
# 作为示例,直接使用接收到的消息作为回复,相当于一个 echo bot
return TextMessage ( msg . from_username , msg . to_username , msg . agent_id , msg_content )
# WeWorkBot运行在Flask框架之上
app : Flask = Flask ( 'WWBot' )
# 企业ID
corp_id : str = 'corp_id'
# 企业自建应用的secret 可以创建自建应用后在应用详情页面查看
corp_secret : str = 'corp_secret'
# 自建应用启用API接收消息时,配置的“Token”参数
token : str = 'token'
# 自建应用启用API接收消息时,配置的“EncodingAESKey”参数
aes_key : bytes = base64 . b64decode ( 'aes_key' )
# 接收消息回调时的url path部分
callback_path : str = '/wwbot'
# 配置机器人
WWBot . config ( app , corp_id , corp_secret , token , aes_key , callback_path = callback_path )
if __name__ == '__main__' :
app . run ( '0.0.0.0' , 31221 )更加完整的例子請參考exampls/echo_bot.py 。
代碼隨緣更新,主要看有沒有空。一般會在周末更新比較頻繁。