#!/usr/bin/env python3
# 脚本需要五个参数：
# corp_id: 企业ID
# corp_secret: 应用密钥
# agent_id: 应用ID
# user_id: 接收消息的用户ID
# message: 要发送的消息内容

import sys
import requests
import json


def get_access_token(corp_id, corp_secret):
    url = f"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={corp_id}&corpsecret={corp_secret}"
    response = requests.get(url)
    return response.json().get('access_token')


def send_weixin_message(access_token, agent_id, user_id, message):
    url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + access_token
    data = {
        "touser": user_id,
        "msgtype": "text",
        "agentid": agent_id,
        "text": {
            "content": message
        },
        "safe": 0
    }
    headers = {'Content-Type': 'application/json'}
    response = requests.post(url, headers=headers, data=json.dumps(data))
    return response.text


if __name__ == "__main__":
    if len(sys.argv) < 6:
        print("Usage: python script.py <corp_id> <corp_secret> <agent_id> <user_id> <message>")
        sys.exit(1)

    corp_id = sys.argv[1]
    corp_secret = sys.argv[2]
    agent_id = sys.argv[3]
    user_id = sys.argv[4]
    message = sys.argv[5]

    access_token = get_access_token(corp_id, corp_secret)
    if access_token:
        result = send_weixin_message(access_token, agent_id, user_id, message)
        print(result)
    else:
        print("Failed to get access token.")
