🍺NLP開發系列相關文章編寫如下🍺: | |
---|---|
1 | 🎈【小沐學NLP】Python實現詞云圖🎈 |
2 | 🎈【小沐學NLP】Python實現圖片文字識別🎈 |
3 | 🎈【小沐學NLP】Python實現中文、英文分詞🎈 |
4 | 🎈【小沐學NLP】Python實現聊天機器人(ELIZA))🎈 |
5 | 🎈【小沐學NLP】Python實現聊天機器人(ALICE)🎈 |
6 | 🎈【小沐學NLP】Python實現聊天機器人(微軟Azure)🎈 |
7 | 🎈【小沐學NLP】Python實現聊天機器人(微軟小冰)🎈 |
8 | 🎈【小沐學NLP】Python實現聊天機器人(釘釘機器人)🎈 |
9 | 🎈【小沐學NLP】Python實現聊天機器人(微信機器人)🎈 |
10 | 🎈【小沐學NLP】Python實現聊天機器人(Selenium、七嘴八舌)🎈 |
11 | 🎈【小沐學NLP】Python實現聊天機器人(若干在線聊天機器人)🎈 |
12 | 🎈【小沐學NLP】Python實現聊天機器人(ChatterBot,代碼示例)🎈 |
13 | 🎈【小沐學NLP】Python實現聊天機器人(ChatterBot,集成前端頁面)🎈 |
14 | 🎈【小沐學NLP】Python實現聊天機器人(ChatterBot,集成web服務)🎈 |
文章目錄
- 1、簡介
- 2、機器人配置
- 2.1 群機器人添加入口
- 2.2 移除群機器人入口
- 2.3 發布機器人到公司
- 2.4 添加/創建群機器人條件
- 2.5 群機器人Webhook地址
- 2.6 群機器人發送消息
- 2.7 如何停用機器人
- 3、機器人代碼測試
- 3.1 配置curl
- 3.2 消息類型及數據格式
- 3.2.1 文本類型
- 3.2.2 markdown類型
- 3.2.3 圖片類型
- 3.2.4 圖文類型
- 3.2.5 語音類型
- 3.3 消息發送代碼
- 3.3.1 代碼一
- 3.3.2 代碼二
- 結語
1、簡介
https://open.work.weixin.qq.com/help2/pc/14931?person_id=1&is_tencent=
https://hiflow.tencent.com/document/applications/wwx-robot/#%E7%AC%AC%E4%B8%80%E6%AD%A5-%E6%89%93%E5%BC%80%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%E9%85%8D%E7%BD%AE%E9%A1%B5
通過接口實現在企業微信群里發送告警或提醒類的消息通知。
通過定時觸發器,可以非常簡單快速地建立一個企業微信機器人。我們可以用它來實現喝水、吃飯提醒等小功能,還能實現定時推送新聞、天氣,甚至是監控告警的小功能。
通過騰訊云HiFlow場景連接器,可以零代碼的設置企業微信機器人自動/定時發消息的規則,比如:每周五下午6點定時發送周報;收到新的銷售線索/報表自動發送消息通知管理群等。
- 發送群圖文消息:發送圖片+文本標題的消息樣式到企業微信群,支持給圖片設置跳轉鏈接
- 發送富文本消息:發送富文本消息到企業微信群,可以給文本添加樣式,比如加粗、更改顏色、加超鏈接等
- 發送文本消息:發送純文本消息到企業微信群,并且可以@提醒指定用戶
2、機器人配置
2.1 群機器人添加入口
- 1、【電腦端內部群聊->右上方三個點->添加群機器人】,可以新建機器人或選擇已發布到公司的機器人。
- 2、【手機端內部群聊->右上角三個點->添加群機器人】
2.2 移除群機器人入口
【電腦端內部群聊->群成員->點擊群機器人鼠標右鍵->移除機器人】
【手機端內部群聊->右上角三個點->群機器人->點擊對應的機器人->右上角三個點->移除】
2.3 發布機器人到公司
在群聊選擇需要發布的【機器人->鼠標右鍵“查看資料”->發布到公司】
2.4 添加/創建群機器人條件
1、目前內部群聊支持機器人,外部群暫不支持。(若內部群開啟了“僅群主管理”,則成員無添加機器人入口)
2、管理員在管理后臺未限制創建機器人,或在白名單內的成員,支持創建機器人。
2.5 群機器人Webhook地址
群機器人的創建人,可在查看機器人信息時,獲取對應機器人的Webhook URL。
手機端可【進入群聊->右上角三個點->群機器人->點擊對應機器人->Webhook地址】
電腦端可【進入群聊->群成員列表->右鍵對應機器人->查看資料->Webhook地址】
2.6 群機器人發送消息
1、目前暫不支持設置消息回調配置。支持設置機器人主動推送。
2、群聊可添加的機器人數量暫無上限。
3、Win端和手機端中的群機器人推送的消息氣泡背景色為灰色,v3.1.6開始,Mac端中群機器人的消息氣泡背景色為白色。
4、機器人發消息的頻率:每個機器人發送的消息不能超過20條/分鐘。
5、目前機器人支持推送文本消息、markdown格式、圖片類型、文件類型、圖文類型的消息。
注:文件大小在5B~20M之間;圖文消息的圖片鏈接,支持JPG、PNG格式,較好的效果為大圖 1068 × 455,小圖150 × 150;圖片(base64編碼前)最大不能超過2M,支持JPG,PNG格式。
2.7 如何停用機器人
超級管理員支持在【管理后臺->應用管理->自建->機器人】中停用/啟用機器人應用和停用/啟用機器人。
3、機器人代碼測試
https://developer.work.weixin.qq.com/document/path/91770
注意要將url替換成你的機器人webhook地址,content必須是utf8編碼.在終端某個群組添加機器人之后,創建者可以在機器人詳情頁看到該機器人特有的webhookurl。開發者可以按以下說明向這個地址發起HTTP POST 請求,即可實現給該群組發送消息。下面舉個簡單的例子.
假設webhook是:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa
curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693axxx6-7aoc-4bc4-97a0-0ec2sifa5aaa' \-H 'Content-Type: application/json' \-d '{"msgtype": "text","text": {"content": "hello world"}}'
curl -X POST "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx" -H "Content-Type:application/json" -d "{\"msgtype\":\"text\",\"text\":{\"content\":\"今天. 06/01:晴. 19~33°.\"}}"
3.1 配置curl
cURL是一個利用URL語法在命令行下工作的文件傳輸工具,1997年首次發行。它支持文件上傳和下載,所以是綜合傳輸工具,但按傳統,習慣稱cURL為下載工具。cURL還包含了用于程序開發的libcurl。
cURL支持的通信協議有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。
- 下載curl:
https://curl.se/download.html
https://curl.se/windows/
- 查看curl版本
3.2 消息類型及數據格式
當前自定義機器人支持文本(text)、markdown(markdown)、圖片(image)、圖文(news)、文件(file)、語音(voice)、模板卡片(template_card)七種消息類型。
3.2.1 文本類型
{"msgtype": "text","text": {"content": "廣州今日天氣:29度,大部分多云,降雨概率:60%","mentioned_list":["wangqing","@all"],"mentioned_mobile_list":["13800001111","@all"]}
}
3.2.2 markdown類型
{"msgtype": "markdown","markdown": {"content": "實時新增用戶反饋<font color=\"warning\">132例</font>,請相關同事注意。\n>類型:<font color=\"comment\">用戶反饋</font>>普通用戶反饋:<font color=\"comment\">117例</font>>VIP用戶反饋:<font color=\"comment\">15例</font>"}
}
3.2.3 圖片類型
{"msgtype": "image","image": {"base64": "DATA","md5": "MD5"}
}
3.2.4 圖文類型
{"msgtype": "news","news": {"articles" : [{"title" : "中秋節禮品領取","description" : "今年中秋節公司有豪禮相送","url" : "www.qq.com","picurl" : "http://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/test_pic_msg1.png"}]}
}
3.2.5 語音類型
{"msgtype": "voice","voice": {"media_id": "MEDIA_ID"}
}
3.3 消息發送代碼
3.3.1 代碼一
"""
企業微信
-*- coding: utf-8 -*-@Author : xxxxxxx@File : WechatWebHook.py
"""import requestsclass WechatWebHook:"""企業微信消息推送"""@classmethoddef push_error_msg(cls, msg: str) -> None:webhook_uri = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxx""""錯誤日志直接推送至企業微信"""data = {"msgtype": "text","text": {"content": msg,"mentioned_mobile_list": ["13800000001"]}}requests.post(url=webhook_uri, headers={"Content-Type": "text/plain"}, json=data)if __name__ == '__main__':WechatWebHook.push_error_msg("當前氣溫18攝氏度,未來2小時不會下雨,出門佩戴口罩。")
3.3.2 代碼二
curl '企業微信機器人地址' \-H 'Content-Type: application/json' \-d '{"msgtype": "text","text": {"content": "hello world"}}'
import os
import json
import urllib.requestdef main_handler(event, context):url = os.environ.get("url")data = {"msgtype": "markdown","markdown": {"content": "hello world",}}data = json.dumps(data).encode("utf-8")req_attr = urllib.request.Request(url, data)resp_attr = urllib.request.urlopen(req_attr)return resp_attr.read().decode("utf-8")
結語
如果您覺得該方法或代碼有一點點用處,可以給作者點個贊,或打賞杯咖啡;
╮( ̄▽ ̄)╭
如果您感覺方法或代碼不咋地
//(ㄒoㄒ)//,就在評論處留言,作者繼續改進;
o_O???
如果您需要相關功能的代碼定制化開發,可以留言私信作者;
(????)
感謝各位大佬童鞋們的支持!
( ′ ▽′ )ノ ( ′ ▽′)っ!!!