用Python的requests模块,来测试“钉钉机器人的Webhook是否生效”,能否自动发送钉钉群消息,并艾特@ 任意人

# -*- coding: utf-8 -*-
import requests
import json

import requests
import json
class DingTalk_Base:
    def __init__(self):
        self.__headers = {'Content-Type': 'application/json;charset=utf-8'}
        self.url = ''
    def send_msg(self,text):
        json_text = {
            "msgtype": "text",
            "text": {
                "content": text
            },
            "at": {
                "atMobiles": [
                    ""    # 如果你想@ 某人,这里需要填写上对方钉钉上的手机号
                ],
                "isAtAll": False # 如果你想@ 全部,改为True
            }
        }
        return requests.post(self.url, json.dumps(json_text), headers=self.__headers).content
class DingTalk_Disaster(DingTalk_Base):
    def __init__(self):
        super().__init__()
        self.url = '填写机器人的Webhook'
if __name__ == '__main__':
    ding = DingTalk_Disaster()
    ding.send_msg('这里是发送的内容') 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,你需要在钉钉开发者平台上创建一个自定义机器人,并获取其webhook地址。接下来,你需要使用Python钉钉SDK包dingtalk-sdk来实现钉钉机器人的监控和消息发送。 ```python from dingtalk_sdk_gmdzy2010.authority import * from dingtalk_sdk_gmdzy2010.chat import * from dingtalk_sdk_gmdzy2010.department import * from dingtalk_sdk_gmdzy2010.group import * from dingtalk_sdk_gmdzy2010.message import * from dingtalk_sdk_gmdzy2010.role import * from dingtalk_sdk_gmdzy2010.user import * import requests import json import time # 钉钉机器人webhook地址 webhook_url = 'https://oapi.dingtalk.com/robot/send?access_token=YOUR_ACCESS_TOKEN' # 钉钉机器人被@的手机号 at_mobiles = ['YOUR_MOBILE_NUMBER'] # 监控钉钉消息的URL chat_url = 'https://oapi.dingtalk.com/chat/robot/list?access_token=YOUR_ACCESS_TOKEN' # 钉钉机器人根据监控到的消息查找问答库,做出回复的函数 def reply_question(question): # TODO: 在这里实现钉钉机器人根据监控到的消息查找问答库,做出回复的逻辑 return '在这里实现回复消息的内容' # 监控钉钉消息的函数 def monitor_chat(): while True: headers = { 'Content-Type': 'application/json', 'Charset': 'UTF-8', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'} data = { "page_size": 20, "conversation_id": "chat12345678", "order": "desc", "is_return_deleted": False, "start_time": int(time.time() * 1000) - 86400000, "end_time": int(time.time() * 1000) } response = requests.post(chat_url, headers=headers, data=json.dumps(data)) if response.status_code == 200: result = json.loads(response.text) if result['errcode'] == 0: for item in result['messages']: if item['msgtype'] == 'text' and '@机器人' in item['text']['content']: question = item['text']['content'].replace('@机器人', '').strip() answer = reply_question(question) if answer: message = { 'msgtype': 'text', 'text': { 'content': answer }, 'at': { 'atMobiles': at_mobiles, 'isAtAll': False } } response = requests.post(webhook_url, headers=headers, data=json.dumps(message)) if response.status_code == 200: print('发送成功!') else: print('发送失败!') else: print('获取消息列表失败!') else: print('请求失败!') time.sleep(1) ``` 在上面的代码中,我们首先定义了钉钉机器人webhook地址、被@的手机号、监控钉钉消息的URL,以及钉钉机器人根据监控到的消息查找问答库,做出回复的函数reply_question()。 然后,我们定义了监控钉钉消息的函数monitor_chat(),其中我们首先通过请求监控钉钉消息的URL获取最近一段时间内的消息列表,然后遍历消息列表,对每一条消息进行判断,如果这条消息是文本消息,并且@了钉钉机器人,就提取出消息内容,并调用reply_question()函数得到回复内容,最后将回复内容发送钉钉机器人。 在你的代码中,你需要实现reply_question()函数,根据监控到的消息内容查找问答库,并返回回复内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值