【NLP開發】Python實現聊天機器人(微信機器人)

🍺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

在終端某個群組添加機器人之后,創建者可以在機器人詳情頁看到該機器人特有的webhookurl。開發者可以按以下說明向這個地址發起HTTP POST 請求,即可實現給該群組發送消息。下面舉個簡單的例子.
假設webhook是:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa

注意要將url替換成你的機器人webhook地址,content必須是utf8編碼.
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???
如果您需要相關功能的代碼定制化開發,可以留言私信作者;(????)
感謝各位大佬童鞋們的支持!( ′ ▽′ )ノ ( ′ ▽′)っ!!!
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/20926.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/20926.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/20926.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

轉讓北京電力施工總承包二級資質變更條件和流程

在電力工程領域&#xff0c;資質等級是企業能否參與競標、承接工程的重要標志之一。北京電力工程總包二級資質的轉讓&#xff0c;是指已經取得該資質的企業將其資質轉讓給需要的企業。這種轉讓是基于合作與共贏的原則&#xff0c;旨在推動電力工程行業健康、穩定發展&#xff0…

記錄使用自定義編輯器做試題識別功能

習慣了將解析寫在代碼注釋&#xff0c;這里就直接上代碼啦&#xff0c;里面用到的bxm-ui3組件庫是博主基于element-Plus做的&#xff0c;可以通過npm i bxm-ui3自行安裝使用 // 識別方法&#xff1a; // dom 當前識別數據所在區域, questionType 當前點擊編輯選擇的題目類型&a…

力扣刷題--LCR 135. 報數【簡單】

題目描述 實現一個十進制數字報數程序&#xff0c;請按照數字從小到大的順序返回一個整數數列&#xff0c;該數列從數字 1 開始&#xff0c;到最大的正整數 cnt 位數字結束。 示例 1: 輸入&#xff1a;cnt 2 輸出&#xff1a;[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,1…

codeblock怎么編程:從入門到精通的全面指南

codeblock怎么編程&#xff1a;從入門到精通的全面指南 在數字化時代&#xff0c;編程已成為一項不可或缺的技能。Code::Blocks作為一款流行的開源集成開發環境&#xff08;IDE&#xff09;&#xff0c;為初學者和有經驗的開發者提供了強大的編程支持。那么&#xff0c;codebl…

C是結構化編程語言嗎:深度剖析與多維度解讀

C是結構化編程語言嗎&#xff1a;深度剖析與多維度解讀 在編程語言的浩瀚海洋中&#xff0c;C語言以其獨特的魅力占據著重要的地位。那么&#xff0c;C語言是否可以被歸類為結構化編程語言呢&#xff1f;這是一個值得深入探討的問題。本文將從四個方面、五個方面、六個方面和七…

Qt | Qt 資源簡介(rcc、qmake)

1、資源系統是一種獨立于平臺的機制,用于在應用程序的可執行文件中存儲二進制文件(前面所討論的數據都存儲在外部設備中)。若應用程序始終需要一組特定的文件(比如圖標),則非常有用。 2、資源系統基于 qmake,rcc(Qt 的資源編譯器,用于把資源轉換為 C++代碼)和 QFile …

java—MyBatis框架

簡介 什么是 MyBatis&#xff1f; MyBatis 是一款優秀的持久層框架&#xff0c;它支持自定義 SQL、存儲過程以及高級映射。MyBatis 免除了幾乎所有的 JDBC 代碼以及設置參數和獲取結果集的工作。MyBatis 可以通過簡單的 XML 或注解來配置和映射原始類型、接口和 Java POJO&…

軟件公司為什么必須要使用低代碼系統?

在當今軟件行業全國比較內卷的大環境下&#xff0c;軟件公司面臨著前所未有的挑戰。為了在這個競爭激烈的市場中生存并脫穎而出&#xff0c;馳騁低代碼設計者認為&#xff0c;軟件公司必須要使用低代碼系統。以下是幾個關鍵的原因&#xff1a; 時代發展的必然選擇 低代碼系統是…

領導力中的說服藝術

本文主要介紹了亞里士多德修辭三角理論&#xff0c;即演講者在說服聽眾時如何運用品格&#xff08;Ethos&#xff09;、情感&#xff08;Pathos&#xff09;和邏輯&#xff08;Logos&#xff09;三種基本的修辭手法。原文: The Art of Persuasion in Leadership 亞里士多德的說…

Kubernetes面試題分享

目錄 前言 1.Kubernetes的控制平面包括哪些核心組件&#xff1f;它們各自的作用是什么&#xff1f; 2.Kubernetes的數據平面涉及哪些組件&#xff1f;它們如何協作&#xff1f; 3.什么是Pod&#xff1f;為什么它是Kubernetes的基本單元&#xff1f; 4.Service如何實現服務…

【自動駕駛技術】自動駕駛汽車AI芯片匯總——地平線篇

0. 前言 按照國際慣例&#xff0c;首先聲明&#xff1a;本文只是我自己學習的理解&#xff0c;雖然參考了他人的寶貴見解及成果&#xff0c;但是內容可能存在不準確的地方。如果發現文中錯誤&#xff0c;希望批評指正&#xff0c;共同進步。 本篇文章是這個系列的第二篇&#x…

[AIGC] DAG任務調度的概述與實踐

DAG(Directed Acyclic Graph&#xff0c;有向無環圖)作為任務調度的基礎模型&#xff0c;在大規模數據處理和計算過程中有著廣泛的應用。本文將對DAG模型的原理進行解釋并列出一些常用的任務調度工具。 文章目錄 一、什么是DAG&#xff1f;二、DAG任務調度的原理三、常用的DAG任…

50個常用的Docker命令及如何使用

這里整理了50個常用的Docker命令以及每個命令的使用方法。 docker version:顯示Docker版本信息。 示例:docker version docker info:顯示Docker系統信息。 示例:docker info docker pull <image>:從Docker Hub下載鏡像。 示例:docker pull ubuntu docker run <i…

spring xml配置文件中的bean標簽屬性

概述 在Spring框架中&#xff0c; 標簽用于定義和配置 Spring 容器管理的對象&#xff08;即 bean&#xff09;。 標簽有許多屬性&#xff0c;每個屬性都用來配置 bean 的特定方面。下面是一些主要屬性及其默認值的詳細說明。 屬性 1 id 說明: 用于標識 bean 的唯一標識符。…

一文帶你了解python

一文帶你了解python 簡單介紹 python是腳本語言,不需要在使用變量前進行聲明,代碼不需要編譯,由解釋器來解釋執行。python簡潔的語法可以讓你寫出比靜態語言更短的程序。使用交互式解釋器時,會自動打印輸入的一些包含值的東西;在非交互式的程序中,需要使用print函數打印…

Python獲取文件MD5值方法

Python的標準庫中提供了一個名為hashlib的模塊&#xff0c;可以用來生成MD5值。 下面是兩個方法的實現&#xff1a; 1. 通過文件路徑獲取MD5值&#xff1a; import hashlibdef calculate_md5_file(file_path):md5 hashlib.md5()with open(file_path, "rb") as f:…

啟發式算法教程(個人總結版)

1. 引言 1.1 什么是啟發式算法 啟發式算法是一類用于尋找復雜優化問題近似解的方法&#xff0c;特別適用于在計算資源有限的情況下求解大型問題。與精確算法不同&#xff0c;啟發式算法不保證找到全局最優解&#xff0c;但能在可接受的時間內提供一個質量較高的解。 1.2 啟發…

CMake編譯安裝、生成可執行程序、生成靜態動態庫以及靜態動態庫的鏈接

1 CMake介紹 CMake是一個開源的、跨平臺的構建系統&#xff0c;用于管理軟件從源代碼到可執行文件的整個構建過程。它最初由Kitware公司為ITK&#xff08;Insight Segmentation and Registration Toolkit&#xff09;和VTK&#xff08;Visualization Toolkit&#xff09;等開源…

在Linux kali下載、安裝Perl環境

目錄 Perl介紹 下載安裝 官網下載 在Windows安裝 在Linux和Mac OS安裝 Perl介紹 Perl一種功能豐富的計算機程序語言&#xff0c;運行在超過100種計算機平臺上&#xff0c;適用廣泛&#xff0c;從最初是為文本處理而開發的&#xff0c;現在用于各種任務&#xff0c;包括系統…

C語言編程數學:探索、挑戰與深度應用

C語言編程數學&#xff1a;探索、挑戰與深度應用 C語言&#xff0c;作為計算機編程的基石之一&#xff0c;不僅廣泛應用于系統級編程&#xff0c;還在數學計算領域發揮著重要作用。本文將圍繞C語言在數學編程中的四個方面、五個方面、六個方面和七個方面展開探討&#xff0c;帶…