钉钉老早就有webhook机器人了,但是一直呢也是没什么人用,于是我写了一个每日一言机器人,也可以自己修改,底层代码无需变动,有技术的自己随意改动,如果想实现其他功能可以联系站长代写
webhook是什么?
Webhook其实就是反向API,你还得写个能让webhook能看得懂的程序api
(说人话就是普通API是你请求api然后api给你蛋糕,而webhook就是你给api蛋糕,所以就是反向API)
当程序访问webhook时(一般使用 POST 方式)webhook会返回一些东西,然后你的程序把信息解析出来再还给webhook(就是你程序给webhook蛋糕)。
webhook的可拓展性很强,不过目前来说没有什么特别大的意义
步骤一:获取自定义机器人Webhook
- 选择你的群,然后点智能群助手,然后点击下面的添加自定义机器人
- 在机器人管理页面选择自定义机器人,可以给机器人起个名字,然后选择让他到哪个群组工作,如果你想给机器人换个头像也是可以的
- 完成安全设置,这里我们只需要勾选加签,其他的安全设置不用勾选,然后单击完成。
获取到机器人密钥和token后,把token和密钥分别填入代码提示的地方,然后运行就可以了!
注意
代码(Python3.8):
# 每日一言webhook钉钉机器人
# By:鑫云
import requests
import json
# 钉钉官方代码开始
#python 3.8
import time
import hmac
import hashlib
import base64
import urllib.parse
timestamp = str(round(time.time() * 1000))
secret = '这里是密钥'
secret_enc = secret.encode('utf-8')
string_to_sign = '{}\n{}'.format(timestamp, secret)
string_to_sign_enc = string_to_sign.encode('utf-8')
hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))
print(timestamp)
print(sign)
# 钉钉官方代码结束
page=requests.get('这里是每日一言API,TEXT格式')#什么?你说你没有?网上一搜一大堆懒死你了
zuihou=(page.text)
print(zuihou)
url='https://oapi.dingtalk.com/robot/send?access_token= 你钉钉机器人的token ×tamp='+timestamp+'&sign='+sign
program={
"msgtype": "text",
"text": {"content": ""+zuihou}
}
headers={'Content-Type': 'application/json'}
f=requests.post(url,data=json.dumps(program),headers=headers)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容