日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

@钉钉机器人自动回复消息

發布時間:2023/12/29 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 @钉钉机器人自动回复消息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

@釘釘機器人自動回復消息

  • 一.pc端釘釘創建一個企業
  • 二.登錄釘釘開發者后臺,創建企業機器人
  • 三.配置服務器安全組項(這里以阿里云服務器為例)
  • 四.開啟一個web服務,用于接收和發送數據
  • 五.配置開發者后臺開發管理
  • 六.釘釘機器人管理與發布

一.pc端釘釘創建一個企業

二.登錄釘釘開發者后臺,創建企業機器人

開發者后臺
登錄「釘釘開發者后臺」,選擇「應用開發」——「企業內部開發」—— 「機器人」


三.配置服務器安全組項(這里以阿里云服務器為例)


配置釘釘機器人post數據的接口,即web運行開放的端口,
設置相應的ip白名單(可以設置當前pc端所在機器出口ip)

四.開啟一個web服務,用于接收和發送數據

# -*- coding: utf-8 -*- # @Time : 2023/2/15 11:25 # @Author : Cocktail_pyimport time import hmac import hashlib import base64 import json import logging from datetime import datetimefrom flask import Flask, request from dingtalkchatbot.chatbot import DingtalkChatbot from traceback import format_excapp = Flask(__name__)# 機器人密鑰 APP_SECRET = '4ugAwbOkbP-w0-3KpJ6RDQqoWNeUS2************H' # 機器人URL WEBHOOK = "https://oapi.dingtalk.com/robot/send?access_token=cb10814658af115926887e6c9e12d4ae0bb14129******"# 釘釘發送消息 class DingDingBot(object):# WebHook地址webhook = WEBHOOKdef __init__(self):# 初始化機器人小丁DingDingBotself.xiaoding = DingtalkChatbot(self.webhook)# Text消息@所有人def send_message(self, msg):cnt = 0while cnt < 3:try:self.xiaoding.send_text(msg='{}'.format(msg), is_at_all=False)breakexcept:logging.error(format_exc())cnt += 1def sha256_base64(timestamp=int(time.time() * 1000), app_secret=APP_SECRET):"""釘釘消息頭部加密:param timestamp: 時間戳:param app_secret: 釘釘機器人后臺AppSecret,如:4ugAwbOkbP-w0-3KpJ6RDQqoWNeUS2************H:return:"""app_secret_enc = app_secret.encode('utf-8')string_to_sign = '{}\n{}'.format(timestamp, app_secret)string_to_sign_enc = string_to_sign.encode('utf-8')hmac_code = hmac.new(app_secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()sign = base64.b64encode(hmac_code).decode('utf-8')return sign# 接收@機器人的消息 @app.route('/', methods=["POST"]) def index():if request.method == "POST":timestamp = request.headers.get('Timestamp')sign = request.headers.get('Sign')if sha256_base64(timestamp=timestamp) == sign:req_data = json.loads(str(request.data, 'utf-8'))senderNick = req_data.get('senderNick')text = req_data.get('text').get('content', "").strip()logging.info(text)DingDingBot().send_message("[%s]\n執行人:%s\n執行內容:%s" % (datetime.now().strftime('%Y-%m-%d %H:%M:%S'), senderNick, text))return "succeed"else:return "not found"else:return "method not found"if __name__ == '__main__':app.run(host='0.0.0.0', port=8083)

五.配置開發者后臺開發管理

注意:這里必須先執行步驟四才能配置成功

六.釘釘機器人管理與發布

為了方便開發和測試,機器人正式發布前,我們可以先在釘釘機器人開發管理后臺點擊版本管理與調試->調試,系統會自動幫我們創建一個調試群。

參考:
釘釘接收消息官方文檔
如何打造一個能自動回復的釘釘機器人
從 0 到 1 使用 Python 開發一個釘釘群應答機器人

總結

以上是生活随笔為你收集整理的@钉钉机器人自动回复消息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。