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格局:- {"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格局:- {"at":{"atMobiles":["180xxxxxx"],"atUserIds":["user123"],"isAtAll":false},"text":{"content":"尔即是尔, @XXX 是纷歧样的炊火"},"msgtype":"text"}
复造代码msgtype:收收文原范例
text:收收文原;content:收收文原实质
atMobiles:艾特人的德律风号码
atUserIds:艾特人的IP称呼
isAtAll:可否艾特统统人
飞书籍text格局:- {"msg_type":"text","content":{"text":"新革新提醒"}}
复造代码msg_type:收收文原范例
content:收收文原
text:收收文原实质
理解完格局后,就能够制作鉴于python的群机械人制作
顺序 设想:- # -*- coding:utf-8 -*-import json
- import requests
- import datetime
- defpush_det(*AtMobile,message,push_webhook):
- requests.packages.urllib3.disable_warnings()
- Ated =[]try:ifnot'dingtalk'in push_webhook andnot'weixin'in push_webhook andnot'feishu'in push_webhook:raise Exception('webhook有用')
- nowtime = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
- headers ={'Content-Type':'application/json'}
- content =("报告消息({}):\n{}").format(nowtime, message)iflen(*AtMobile)>0:ifstr(AtMobile[0]).lower()=='all':if"dingtalk"in push_webhook:
- Ated ={"isAtAll":True}elif"weixin"in push_webhook:
- Ated =["@all"]else:print("没法艾特统统人")else:
- Mobile =[]for x in AtMobile:
- Mobile.append(str(x))if"dingtalk"in push_webhook:
- Ated ={"atMobiles":Mobile}elif"weixin"in push_webhook:
- Ated = Mobile
- else:print("没法艾特人")else:
- Ated =Noneif'dingtalk'in push_webhook:
- text={"content":content}
- post_data={"msgtype":"text","text": text,"at":Ated}elif'weixin'in push_webhook:
- mapping={"content": content,"mentioned_mobile_list":Ated}
- post_data={"msgtype":"text","text": mapping}else:
- text ={"text": content}
- post_data ={"msg_type":"text","content": text}print(post_data)
- data = json.dumps(post_data)print(data)
- response = requests.post(url=push_webhook, headers=headers, data=data, verify=False)print(response.text)except Exception as e:print(e)
- wehbook ="机械人wehbook"
- data ="监控尝试"
- push_det("all",message=data,push_webhook=dindin)
复造代码 因为飞书籍艾特人需要开辟使用权力并上传使用,正在此无飞书籍艾特人功用
2、企微,钉钉,飞书籍群机械人(Uibot版)
Uibot是去也公司制作的一个机械人过程主动化硬件(RPA),小编近来也不竭正在进修Uibot常识,Uibot的编程语言是鉴于python语言开辟的,因而取python有些类似。- /*
- 编辑库:可增加多个Function的子法式,每一个子法式内乱编辑的过程可动作零丁的号令重复使用到过程。
- 公布库:编辑完子法式后,颠末"公布库"挖写号令设置疑息,将号令库挨包到指定目次。
- 使用库:正在过程名目内乱,颠末号令中间>自界说号令库目次导进装置后,正在号令里板的扩大号令目次下使用。
- */
- Function 飞书籍(message,push_webhook)
- Dim sRet =""
- Dim nowtime =""
- Dim content =""
- Dim feishu =""
- Dim text1 =""
- Try
- feishu = InStr(push_webhook,'feishu',0)
- If feishu =0
- TracePrint ("有用push_webhook")
- Else
- dTime = Time.Now()
- sRet = Time.Format(dTime,"yyyy-妹妹-dd HH:妹妹:ss")
- content =("报告消息("&sRet&"):\n"&message)
- text1 ={"text":content}
- post_data ={"msg_type":"text","content":text1}
- response = HTTP.PostJson(push_webhook,post_data,60000)
- End If
- Catch message
- TracePrint message
- End Try
- End Function
- Function 企微(AtMobile,message,push_webhook)
- Dim sRet =""
- Dim nowtime =""
- Dim mapping =""
- Dim content =""
- Dim weixin =""
- Dim arrRet =[]
- Dim at =""
- Try
- weixin = InStr(push_webhook,'weixin',0)
- If weixin =0
- TracePrint ("有用push_webhook")
- Else
- dTime = Time.Now()
- sRet = Time.Format(dTime,"yyyy-妹妹-dd HH:妹妹:ss")
- content =("报告消息("&sRet&"):\n"&message)
- If Len(AtMobile)>0
- If AtMobile[0]="all"
- at =["@all"]
- Else
- For Each mobile In AtMobile
- Mobilet = CStr(mobile)
- at = push(arrRet,Mobilet)
- Next
- End If
- Else
- at =None
- End If
- mapping ={"content":content,"mentioned_mobile_list":at}
- post_data ={"msgtype":"text","text":mapping}
- response = HTTP.PostJson(push_webhook,post_data,60000)
- End If
- Catch message
- TracePrint message
- End Try
- End Function
- Function 钉钉(AtMobile,message,push_webhook)
- Dim sRet =""
- Dim nowtime =""
- Dim mapping =""
- Dim content =""
- Dim dindin =""
- Dim arrRet =[]
- Dim at =""
- Try
- dindin = InStr(push_webhook,'dingtalk',0)
- If weixin =0
- TracePrint ("有用push_webhook")
- Else
- dTime = Time.Now()
- sRet = Time.Format(dTime,"yyyy-妹妹-dd HH:妹妹:ss")
- content =("报告消息("&sRet&"):\n"&message)
- If Len(AtMobile)>0
- If AtMobile[0]="all"
- at ={'isAtAll':True}
- Else
- For Each mobile In AtMobile
- Mobilet = CStr(mobile)
- at ={"atMobiles":push(arrRet,Mobilet)}
- Next
- End If
- Else
- at =None
- End If
- mapping ={"content":content}
- post_data ={"msgtype":"text","text":mapping,"at":at}
- response = HTTP.PostJson(push_webhook,post_data,60000)
- End If
- Catch message
- TracePrint message
- End Try
- End Function
复造代码 制作完毕后,能够间接公布号令库,进而能够间接使用此项函数了 |