云服务器+python搭建群钉钉机器人自动回复消息(超详细)

您所在的位置:网站首页 钉钉怎么修改自动回复 云服务器+python搭建群钉钉机器人自动回复消息(超详细)

云服务器+python搭建群钉钉机器人自动回复消息(超详细)

2024-07-11 19:24| 来源: 网络整理| 查看: 265

一、云服务器

①可通过阿里云购买一个轻量服务器

②配置好相关软件,我这里用的是windows,下载pycharm。

二、钉钉开放平台配置

①步骤一:创建机器人用于接收网络请求(钉钉开放平台)

②步骤二:配置服务器公网ip(这里着重注意)

三、最后汇总代码

最后汇总代码具体有稍微改动,在云服务器上运行即可成功搭建钉钉自动回复机器人

# -*- coding: utf-8 -*- # @Time : 2023/2/15 11:25 # @Author : Cocktail_py import time import hmac import hashlib import base64 import json import logging from datetime import datetime from flask import Flask, request from dingtalkchatbot.chatbot import DingtalkChatbot #markdown书写 import logging from traceback import format_exc app = Flask(__name__) # 机器人密钥 APP_SECRET = '你的机器人的APP_SECRET' # 机器人URL WEBHOOK = "你的机器人的WEBHOOK" # 钉钉发送消息 class DingDingBot(object): # WebHook地址 webhook = WEBHOOK def __init__(self): # 初始化机器人小丁DingDingBot self.xiaoding = DingtalkChatbot(self.webhook) # Text消息@所有人 # 设置markdown编写 def send_markdown_message(self, msg): cnt = 0 while cnt < 3: try: self.xiaoding.send_markdown(title='Markdown消息', text='{}'.format(msg), is_at_all=False) break except: logging.error(format_exc()) cnt += 1 def 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=["GET","POST"]) def index(): if requesthod == "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) if text == "你好": DingDingBot().send_markdown_message( "hi,%s,我可以帮助你带领你更快的熟悉供应链流程。可以试试@我,看板、新人培训、数据分析日报、组织介绍、" % (senderNick)) if text == "": DingDingBot().send_markdown_message( "hi,%s,我可以帮助你带领你更快的熟悉供应链流程。可以试试@我,看板、新人培训、数据分析日报、组织介绍" % (senderNick)) if text == "看板": DingDingBot().send_markdown_message( "#### ** 当前供应链看板:**\n" "##### [奥莱全链路](https://fbi.alibaba-inc.com/dashboard/view/page.htm?spm=a2o1z.8190073.0.0.d7a0543fHD9PWX&id=1179110)\n" "##### [奥莱-生鲜供应链看板](https://fbi.alibaba-inc.com/dashboard/view/page.htm?spm=a2o1z.8190073.0.0.d7a0543fVGSySI&id=1057367)\n" "##### [上海冷藏仓临期预警报表](https://fbi.alibaba-inc.com/dashboard/view/page.htm?spm=a2o1z.8189972.0.0.538b543fCY4Esx&id=1009034)") if text == "新人培训": DingDingBot().send_markdown_message( "#### ** 新人培训合集:**\n" "##### [语雀新人培训](https://aliyuque.antfin.com/tgb52p/fos7la)\n" "##### [特殊时间数据分析](https://aliyuque.antfin.com/tgb52p/pudm9h)\n") return "succeed" else: return "not found" else: return "method not found" if __name__ == '__main__': app.run(host='0.0.0.0', port=80) 四、成果展示



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3