开启左侧

企微,钉钉,飞书群机器人设计(python与Uibot设计)

[复制链接]
在线会员 N2pN70C 发表于 2022-12-30 15:06:41 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
1、企微,钉钉,飞书籍群机械人(python版)

念制作群机械人消息报告,必需先明白三款群机械人的创立办法取收收消息的格局:如下是三款办公硬件的群机械人创立民间文档
企微:https://work.weixin.qq.com/api/doc/90000/90136/91770
钉钉:https://open.dingtalk.com/document/group/custom-robot-access
飞书籍:https://open.feishu.cn/document/ukTMukTMukTM/ucTM5YjL3ETO24yNxkjN?lang=zh-CN
成立佳群机械人后,需要理解各硬件群机械人的收收文档格局是怎样收收的
企微text格局:
  1. {"msgtype":"text","text":{"content":"广州旧日气候:29度,年夜部门多云,落雨几率:60%","mentioned_list":["wangqing","@all"],"mentioned_mobile_list":["13800001111","@all"]}}
复造代码
msgtype:范例
text:文原
content:文原实质
mentioned_list:艾特人的称呼,"@all":艾特统统人(可没有挖)
mentioned_mobile_list:艾特人的德律风号码,"@all":艾特统统人(可没有挖)
钉钉text格局:
  1. {"at":{"atMobiles":["180xxxxxx"],"atUserIds":["user123"],"isAtAll":false},"text":{"content":"尔即是尔, @XXX 是纷歧样的炊火"},"msgtype":"text"}
复造代码
msgtype:收收文原范例
text:收收文原;content:收收文原实质
atMobiles:艾特人的德律风号码
atUserIds:艾特人的IP称呼
isAtAll:可否艾特统统人
飞书籍text格局:
  1. {"msg_type":"text","content":{"text":"新革新提醒"}}
复造代码
msg_type:收收文原范例
content:收收文原
text:收收文原实质
理解完格局后,就能够制作鉴于python的群机械人制作
顺序 设想:
  1. # -*- coding:utf-8 -*-import json
  2. import requests
  3. import datetime
  4. defpush_det(*AtMobile,message,push_webhook):
  5.     requests.packages.urllib3.disable_warnings()
  6.     Ated =[]try:ifnot'dingtalk'in push_webhook andnot'weixin'in push_webhook andnot'feishu'in push_webhook:raise Exception('webhook有用')
  7.         nowtime = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
  8.         headers ={'Content-Type':'application/json'}
  9.         content =("报告消息({}):\n{}").format(nowtime, message)iflen(*AtMobile)>0:ifstr(AtMobile[0]).lower()=='all':if"dingtalk"in push_webhook:
  10.                     Ated ={"isAtAll":True}elif"weixin"in push_webhook:
  11.                     Ated =["@all"]else:print("没法艾特统统人")else:
  12.                 Mobile =[]for x in AtMobile:
  13.                     Mobile.append(str(x))if"dingtalk"in push_webhook:
  14.                     Ated ={"atMobiles":Mobile}elif"weixin"in push_webhook:
  15.                     Ated = Mobile
  16.                 else:print("没法艾特人")else:
  17.             Ated =Noneif'dingtalk'in push_webhook:
  18.             text={"content":content}
  19.             post_data={"msgtype":"text","text": text,"at":Ated}elif'weixin'in push_webhook:
  20.             mapping={"content": content,"mentioned_mobile_list":Ated}
  21.             post_data={"msgtype":"text","text": mapping}else:
  22.             text ={"text": content}
  23.             post_data ={"msg_type":"text","content": text}print(post_data)
  24.         data = json.dumps(post_data)print(data)
  25.         response = requests.post(url=push_webhook, headers=headers, data=data, verify=False)print(response.text)except Exception as e:print(e)
  26. wehbook ="机械人wehbook"
  27. data ="监控尝试"
  28. push_det("all",message=data,push_webhook=dindin)
复造代码
因为飞书籍艾特人需要开辟使用权力并上传使用,正在此无飞书籍艾特人功用

2、企微,钉钉,飞书籍群机械人(Uibot版)

Uibot是去也公司制作的一个机械人过程主动化硬件(RPA),小编近来也不竭正在进修Uibot常识,Uibot的编程语言是鉴于python语言开辟的,因而取python有些类似。
  1. /*
  2. 编辑库:可增加多个Function的子法式,每一个子法式内乱编辑的过程可动作零丁的号令重复使用到过程。
  3. 公布库:编辑完子法式后,颠末"公布库"挖写号令设置疑息,将号令库挨包到指定目次。
  4. 使用库:正在过程名目内乱,颠末号令中间>自界说号令库目次导进装置后,正在号令里板的扩大号令目次下使用。
  5. */
  6. Function 飞书籍(message,push_webhook)
  7.         Dim sRet =""
  8.         Dim nowtime =""
  9.         Dim content =""
  10.         Dim feishu =""
  11.         Dim text1 =""
  12.         Try
  13.                 feishu = InStr(push_webhook,'feishu',0)
  14.                 If feishu =0
  15.                         TracePrint ("有用push_webhook")
  16.                 Else
  17.                         dTime = Time.Now()
  18.                         sRet = Time.Format(dTime,"yyyy-妹妹-dd HH:妹妹:ss")               
  19.                         content =("报告消息("&sRet&"):\n"&message)
  20.                         text1 ={"text":content}
  21.                         post_data ={"msg_type":"text","content":text1}
  22.                         response = HTTP.PostJson(push_webhook,post_data,60000)
  23.                 End If
  24.         Catch message
  25.                 TracePrint message
  26.         End Try
  27. End Function
  28. Function 企微(AtMobile,message,push_webhook)
  29.         Dim sRet =""
  30.         Dim nowtime =""
  31.         Dim mapping =""
  32.         Dim content =""
  33.         Dim weixin =""
  34.         Dim arrRet =[]
  35.         Dim at =""
  36.         Try
  37.                 weixin = InStr(push_webhook,'weixin',0)
  38.                 If weixin =0
  39.                         TracePrint ("有用push_webhook")
  40.                 Else
  41.                         dTime = Time.Now()
  42.                         sRet = Time.Format(dTime,"yyyy-妹妹-dd HH:妹妹:ss")               
  43.                         content =("报告消息("&sRet&"):\n"&message)
  44.                         If Len(AtMobile)>0
  45.                                 If AtMobile[0]="all"
  46.                                         at =["@all"]
  47.                                 Else
  48.                                         For Each mobile In AtMobile
  49.                                                 Mobilet = CStr(mobile)
  50.                                                 at = push(arrRet,Mobilet)
  51.                                         Next
  52.                                 End If
  53.                         Else
  54.                                 at =None
  55.                         End If
  56.                         mapping ={"content":content,"mentioned_mobile_list":at}
  57.                         post_data ={"msgtype":"text","text":mapping}
  58.                         response = HTTP.PostJson(push_webhook,post_data,60000)
  59.                 End If
  60.         Catch message
  61.                 TracePrint message
  62.         End Try   
  63. End Function
  64. Function 钉钉(AtMobile,message,push_webhook)
  65.         Dim sRet =""
  66.         Dim nowtime =""
  67.         Dim mapping =""
  68.         Dim content =""
  69.         Dim dindin =""
  70.         Dim arrRet =[]
  71.         Dim at =""
  72.         Try
  73.                 dindin = InStr(push_webhook,'dingtalk',0)
  74.                 If weixin =0
  75.                         TracePrint ("有用push_webhook")
  76.                 Else
  77.                         dTime = Time.Now()
  78.                         sRet = Time.Format(dTime,"yyyy-妹妹-dd HH:妹妹:ss")               
  79.                         content =("报告消息("&sRet&"):\n"&message)
  80.                         If Len(AtMobile)>0
  81.                                 If AtMobile[0]="all"
  82.                                         at ={'isAtAll':True}
  83.                                 Else
  84.                                         For Each mobile In AtMobile
  85.                                                 Mobilet = CStr(mobile)
  86.                                                 at ={"atMobiles":push(arrRet,Mobilet)}
  87.                                         Next
  88.                                 End If
  89.                         Else
  90.                                 at =None
  91.                         End If
  92.                         mapping ={"content":content}
  93.                         post_data ={"msgtype":"text","text":mapping,"at":at}
  94.                         response = HTTP.PostJson(push_webhook,post_data,60000)
  95.                 End If
  96.         Catch message
  97.                 TracePrint message
  98.         End Try   
  99. End Function
复造代码
制作完毕后,能够间接公布号令库,进而能够间接使用此项函数了
您需要登录后才可以回帖 登录 | 立即注册 qq_login

本版积分规则

发布主题
阅读排行更多+
用专业创造成效
400-778-7781
周一至周五 9:00-18:00
意见反馈:server@mailiao.group
紧急联系:181-67184787
ftqrcode

扫一扫关注我们

Powered by 职贝云数A新零售门户 X3.5© 2004-2025 职贝云数 Inc.( 蜀ICP备2024104722号 )