用PYTHON写一段接收用户与钉钉单聊机器人所发消息的代码
时间: 2024-04-15 10:26:57 浏览: 12
当然可以!以下是一个示例代码,用于接收用户与钉钉单聊机器人所发消息:
```python
import requests
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/webhook', methods=['POST'])
def webhook():
data = request.json
msg = data['text']['content'] # 获取钉钉机器人发送的消息内容
sender_id = data['sender']['senderId'] # 获取发送消息的用户ID
# 在这里编写处理消息的逻辑,可以根据消息内容进行不同的操作
# 示例:回复用户消息
reply = '您发送了消息:{}'.format(msg)
send_message(reply, sender_id)
return jsonify({'msg': 'success'})
def send_message(content, sender_id):
url = 'https://oapi.dingtalk.com/robot/send?access_token=YOUR_ACCESS_TOKEN'
headers = {'Content-Type': 'application/json'}
payload = {
"msgtype": "text",
"text": {
"content": content
},
"at": {
"atMobiles": [],
"atUserIds": [sender_id],
"isAtAll": False
}
}
response = requests.post(url, headers=headers, json=payload)
if response.status_code == 200:
print('消息发送成功')
else:
print('消息发送失败')
if __name__ == '__main__':
app.run(debug=True)
```
请注意替换`YOUR_ACCESS_TOKEN`为您的钉钉机器人的访问令牌。该代码使用 Flask 框架创建了一个简单的 Web 服务器,通过 `/webhook` 路由接收钉钉机器人的消息,并通过调用 `send_message` 函数回复用户消息。
您可以根据需要在 `webhook` 函数中编写自己的消息处理逻辑,并在 `send_message` 函数中根据需要设置回复的消息内容和接收消息的用户ID。
注意:此示例代码仅供参考,实际使用时可能需要根据具体需求进行修改和扩展。