worktool_demo.py 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. # -*- codeing = utf-8 -*-
  2. # @Time : 2022/10/11 11:42
  3. # @Author : Clown
  4. # @File : worktool_demo.py
  5. # @Software : PyCharm
  6. import requests
  7. import json
  8. import pymysql
  9. #检查机器人是否在线
  10. def checkOutRobOnline(robot_id):
  11. url = f"https://worktool.asrtts.cn/robot/robotInfo/online?robotId={robot_id}"
  12. payload = {}
  13. headers = {
  14. 'User-Agent': 'Apifox/1.0.0 (https://www.apifox.cn)'
  15. }
  16. response = requests.request ("GET", url, headers=headers, data=payload)
  17. print (response.text)
  18. #读取机器人配置信息
  19. def showRobotInfo(robot_id):
  20. url = f"https://worktool.asrtts.cn/robot/robotInfo/get?robotId={robot_id}"
  21. payload={}
  22. headers = {
  23. 'User-Agent': 'Apifox/1.0.0 (https://www.apifox.cn)'
  24. }
  25. response = requests.request("GET", url, headers=headers, data=payload)
  26. print(response.text)
  27. #修改机器人配置信息QA地址
  28. def updateQAurl(robot_id,openCallback,callbackUrl):
  29. '''
  30. robotId:[string]机器人编号,
  31. openCallback[integer]是否开启QA回调 0关闭 1开启,
  32. callbackUrl[string]QA回调ur
  33. '''
  34. url = "https://worktool.asrtts.cn/robot/robotInfo/update"
  35. payload = json.dumps ({
  36. "robotId": robot_id,
  37. "openCallback": openCallback,
  38. "callbackUrl": callbackUrl
  39. })
  40. headers = {
  41. 'User-Agent': 'Apifox/1.0.0 (https://www.apifox.cn)',
  42. 'Content-Type': 'application/json'
  43. }
  44. response = requests.request ("POST", url, headers=headers, data=payload)
  45. print (response.text)
  46. def showGroupsInfo(robot_id):
  47. url = f"https://worktool.asrtts.cn/robot/wework/group/list?robotId={robot_id}"
  48. payload = {}
  49. headers = {
  50. 'User-Agent': 'Apifox/1.0.0 (https://www.apifox.cn)',
  51. 'Content-Type': 'application/json'
  52. }
  53. response = requests.request ("GET", url, headers=headers, data=payload)
  54. print (response.text)
  55. def sendMesg(robot_id,user_group_name_list,receivedContent,at_some_one):
  56. url = f"https://worktool.asrtts.cn/wework/sendRawMessage?robotId={robot_id}"
  57. '''
  58. 配置参数见:https://www.apifox.cn/apidoc/project-1035094/api-23520034
  59. '''
  60. if at_some_one is None:
  61. payload = json.dumps ({
  62. "socketType": 2,
  63. "list": [
  64. {
  65. "type": 203,
  66. "titleList": user_group_name_list,
  67. "receivedContent": receivedContent
  68. }
  69. ]
  70. })
  71. else:
  72. payload = json.dumps ({
  73. "socketType": 2,
  74. "list": [
  75. {
  76. "type": 203,
  77. "titleList": user_group_name_list,
  78. "receivedContent": receivedContent,
  79. "at":at_some_one
  80. }
  81. ]
  82. })
  83. headers = {
  84. 'User-Agent': 'Apifox/1.0.0 (https://www.apifox.cn)',
  85. 'Content-Type': 'application/json'
  86. }
  87. response = requests.request ("POST", url, headers=headers, data=payload)
  88. print (response.text)
  89. def QAlogs(robot_id):
  90. url = f"https://worktool.asrtts.cn/robot/qaLog/list"
  91. payload = f'robotId={robot_id}&sort=desc&size=100'
  92. headers = {
  93. 'User-Agent': 'Apifox/1.0.0 (https://www.apifox.cn)'
  94. }
  95. response = requests.request ("GET", url, headers=headers,params=payload)
  96. print (response.text)
  97. def linkTomySql(host, passwd, db_name, port):
  98. '''连接至数据库返回【db】,v2新增local_infile=1 打开文件导入权限'''
  99. try:
  100. # 本地连接为:localhost 服务器连接为:124.222.188.59
  101. db = pymysql.connect (
  102. host=host, user="root",
  103. passwd=passwd,
  104. db=db_name,
  105. charset='utf8mb4',
  106. local_infile=1,
  107. port=port)
  108. print ('\nconnect to mysql server 成功')
  109. print ('---------------------------------------')
  110. except:
  111. print ("\ncould not connect to mysql server")
  112. db = "连接失败"
  113. return db
  114. if __name__ == '__main__':
  115. robot_id = '5edc490293764908897cb211b02619bf'
  116. # checkOutRobOnline(robot_id)
  117. # showRobotInfo(robot_id)
  118. # showGroupsInfo(robot_id)
  119. # QAlogs (robot_id)
  120. # openCallback = 1
  121. # callbackUrl = 'http://jcvgac.natappfree.cc/qaurl'
  122. # updateQAurl (robot_id, openCallback, callbackUrl)
  123. # user_group_name_list = ["wetool_demo","信息部","HeXingXing"]
  124. # user_group_name_list = ["星仔-信息部(何兴星)"]
  125. # receivedContent = f"这是2条测试信息收到后请忽略\n[2022年10月11日]"
  126. # at_some_one = ""
  127. # sendMesg (robot_id, user_group_name_list, receivedContent, at_some_one)
  128. host = '124.222.188.59'
  129. passwd = '111...Clown'
  130. db_name = 'zuzu_data'
  131. port = 63306
  132. db = linkTomySql (host, passwd, db_name, port)