一、钉钉群设置
打开钉钉群,点击右上角的设置
下拉进行选择,智能助手
点击添加机器人,可以发现有自定义机器人,可以通过webhook接入自定义服务
添加机器人的过程中,建议选择加签,也就是可以用密钥来发送消息
然后差不多就设置结束,我们需要记住自己的webhook地址
和加签值
,也可以后面再查看
二、Python调用钉钉工作群用机器人发消息
from dingtalkchatbot.chatbot import DingtalkChatbot, FeedLink
def sendDingTalkMsg(text: str):
"""
使用钉钉群聊天机器人发送消息
:param text: 消息内容
:return:
"""
"""第一: 发送文本-->
send_text(self,msg,is_at_all=False,at_mobiles=[],at_dingtalk_ids=[],is_auto_at=True)
msg: 发送的消息
is_at_all:是@所有人吗? 默认False,如果是True.会覆盖其它的属性
at_mobiles:要@的人的列表,填写的是手机号
at_dingtalk_ids:未知;文档说的是"被@人的dingtalkId(可选)"
is_auto_at:默认为True.经过测试,False是每个人一条只能@一次,重复的会过滤,否则不然,测试结果与文档不一致
"""
SignMessage = getSIGN()
xiaoDing = DingtalkChatbot(SignMessage) # 初始化机器人
xiaoDing.send_text(text)
logging.error('钉钉发送消息:' + text)
return
# 获取链接,填入urlToken 和 secret
def getSIGN():
timestamp = str(round(time.time() * 1000))
urlToken = "https://oapi.dingtalk.com/robot/send?access_token=************************************"
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))
SignMessage = urlToken + "×tamp=" + timestamp + "&sign=" + sign
return SignMessage