写了个天猫精灵控制电脑关机的脚本

@Ta 2023-04-26 329点击

import json
import os
import platform
from flask import Flask, request

app = Flask(__name__)

SHUTDOWN_COMMAND = "shutdown /s /t 0"  # Windows关机命令

@app.route('/aligenie/你的鉴权文件.txt', methods=['GET'])
def get_file():
    response = '鉴权文件内容
    return response, 200, {'Content-type': 'text/plain'}

@app.route('/', methods=['GET', 'POST'])
def index():
    if request.method == 'GET':
        data = {'message': 'Hello, world!'}
        json_data = json.dumps(data)
        return json_data, 200, {'Content-type': 'application/json'}
    elif request.method == 'POST':
        data = request.get_json()
        intent_name = data.get('intentName', '未知意图')
        if intent_name == '关机':
            print('开始关机')

            # Windows关机命令
            if platform.system() == "Windows":
                os.system(SHUTDOWN_COMMAND)
            else:
                print("Unsupported OS")

            # 发送回复消息
            response_data = {
                "returnCode": "0",
                "returnErrorSolution": "",
                "returnMessage": "",
                "returnValue": {
                    "reply": "正在尝试关机",
                    "resultType": "RESULT",
                    "executeCode": "SUCCESS"
                }
            }
            response_body = json.dumps(response_data).encode('utf-8')
            return response_body, 200, {'Content-type': 'application/json'}

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=9096)

https://iap.aligenie.com/添加一个技能,绑定你的主机IP地址。
image.png(202.19 KB)
image.png(170.57 KB)
回复列表(17|隐藏机器人聊天)
  • @Ta / 2023-04-26 / /

    小爱同学有吗。。

  • @Ta / 2023-04-26 / /
    @穴儿,😂,我没有小爱
  • @Ta / 2023-04-26 / /
    @ChatGPT,把下面下面天猫精灵的技能接收格式改为小爱同学
    import json
    import os
    import platform
    from flask import Flask, request

    app = Flask(__name__)

    SHUTDOWN_COMMAND = "shutdown /s /t 0"  # Windows关机命令

    @app.route('/aligenie/你的鉴权文件.txt', methods=['GET'])
    def get_file():
        response = '鉴权文件内容
        return response, 200, {'Content-type': 'text/plain'}

    @app.route('/', methods=['GET', 'POST'])
    def index():
        if request.method == 'GET':
            data = {'message': 'Hello, world!'}
            json_data = json.dumps(data)
            return json_data, 200, {'Content-type': 'application/json'}
        elif request.method == 'POST':
            data = request.get_json()
            intent_name = data.get('intentName', '未知意图')
            if intent_name == '关机':
                print('开始关机')

                # Windows关机命令
                if platform.system() == "Windows":
                    os.system(SHUTDOWN_COMMAND)
                else:
                    print("Unsupported OS")

                # 发送回复消息
                response_data = {
                    "returnCode": "0",
                    "returnErrorSolution": "",
                    "returnMessage": "",
                    "returnValue": {
                        "reply": "正在尝试关机",
                        "resultType": "RESULT",
                        "executeCode": "SUCCESS"
                    }
                }
                response_body = json.dumps(response_data).encode('utf-8')
                return response_body, 200, {'Content-type': 'application/json'}

    if __name__ == '__main__':
        app.run(host='0.0.0.0', port=9096)
  • @Ta / 2023-04-26 / /

    @残缘,以下是将天猫精灵的技能接收格式改为小爱同学的修改后的代码:

    import json
    import os
    import platform
    from flask import Flask, request
    
    app = Flask(__name__)
    
    SHUTDOWN_COMMAND = "shutdown /s /t 0"  # Windows关机命令
    
    @app.route('/auth', methods=['POST'])
    def get_auth():
        data = {
            "authType": "AUTH",
            "data": {
                "accessToken": "你的小爱同学accessToken",
                "expireTime": 1234567890,
                "userId": "小爱同学的用户ID",
                "authMethods": ["VOICEPRINT", "FACEPRINT"],
                "deviceList": [{
                    "deviceId": "小爱同学的设备ID",
                    "deviceName": "小爱同学的设备名称",
                    "deviceType": "DEVICE_TYPE",
                    "iconUrl": "设备图标的URL",
                    "properties": {
                        "bluetooth": true,
                        "wifi": true
                    },
                    "zone": "Asia/Shanghai"
                }]
            }
        }
        return json.dumps(data), 200, {'Content-type': 'application/json'}
    
    @app.route('/query', methods=['POST'])
    def query():
        data = request.get_json()
        intent_name = data.get('intent', {}).get('intentName', '未知意图')
        if intent_name == '关机':
            print('开始关机')
    
            # Windows关机命令
            if platform.system() == "Windows":
                os.system(SHUTDOWN_COMMAND)
            else:
                print("Unsupported OS")
    
            # 发送回复消息
            response_data = {
                "version": "1.0",
                "response": {
                    "action": {
                        "say": "正在尝试关机",
                    },
                    "shouldEndSession": True
                }
            }
            return json.dumps(response_data), 200, {'Content-type': 'application/json'}
        else:
            # 发送回复消息
            response_data = {
                "version": "1.0",
                "response": {
                    "action": {
                        "say": "不知道你在说什么呢",
                    },
                    "shouldEndSession": True
                }
            }
            return json.dumps(response_data), 200, {'Content-type': 'application/json'}
    
    if __name__ == '__main__':
        app.run(host='0.0.0.0', port=9096)
    

    在这个修改后的代码中,我们新增了两个路由函数,一个用于获取小爱同学的鉴权信息,一个用于处理技能的查询请求。小爱同学的鉴权信息请求的URL为/auth,返回的数据格式需要符合小爱同学的要求。查询请求的URL为/query,查询请求的格式也需要符合小爱同学的要求。我们在查询请求中获取意图名称并执行相应的操作,然后返回符合小爱同学要求的响应数据。

  • @Ta / 2023-04-26 / /
    @ChatGPT,帮我写一下配置小爱同学https技能的流程。
  • @Ta / 2023-04-26 / /

    @残缘,以下是配置小爱同学HTTPS技能的流程:

    1. 在小爱开放平台上创建技能
    • 在小爱开放平台上注册并登录账号,进入控制台。
    • 点击“开发者中心”进入开发者中心页面。
    • 点击“创建技能”按钮,填写相关信息并选择技能类型为HTTPS。
    • 配置技能信息,填写技能的名称、描述等信息,同时设置技能的图标和背景。
    • 配置技能服务地址,设置技能服务的域名和端口号,同时勾选“HTTPS”选项。
    • 完成创建技能。
    1. 在云服务器上部署技能服务
    • 在云服务器上安装Flask或Django等Python Web框架。
    • 编写技能服务代码,实现对小爱同学HTTPS请求的处理和响应。在代码中实现业务逻辑,根据小爱同学发送的请求进行处理,并返回符合小爱同学要求的响应。
    • 在云服务器上启动技能服务,使其可以被小爱同学访问。
    1. 配置HTTPS证书
    • 在SSL证书服务商处申请SSL证书,并获取证书的公钥和私钥。
    • 将证书的公钥和私钥上传到云服务器上。
    • 在技能服务代码中配置证书路径和密码,以便进行HTTPS通信。
    1. 配置技能的意图和对话流程
    • 在小爱开放平台上配置技能的意图和对话流程。在意图中定义技能需要识别的用户意图,并设置相应的槽位和对话流程。
    • 对话流程定义了技能的交互逻辑和响应方式,包括问答、提示、播放音频等。
    1. 测试技能并上线
    • 在小爱开放平台上进行技能测试,测试技能的各个功能和交互流程是否正常。
    • 把技能上线,即使技能可以被用户使用。在上线前,确保技能的稳定性和可靠性,以确保用户的体验。
  • @Ta / 2023-04-26 / /

    @残缘,晚上回去试试。。

  • @Ta / 2023-04-26 / /
    @穴儿,chatgpt给的参数不太对,还是得对照的文档改改
  • @Ta / 2023-04-26 / /

    @残缘,你要把文档给到chatgpt进行纠正。

    一加8Pro

  • @Ta / 2023-04-26 / /
    @罐子,我觉得即便给他文档他一次两次也整不好😂,而这功夫早就改好了,就几行代码
  • @Ta / 2023-04-26 / /

    @残缘,嗯。
    一加8Pro

  • @Ta / 2023-05-06 / /
    r@残缘@罐子@穴儿,如何在天猫精灵上传自己的音乐并播放
  • @Ta / 2023-05-06 / /
    @先飞,😂最简单的就是链接蓝牙,麻烦点的开发就是创建一个语音技能
  • @Ta / 2023-05-06 / /

    @先飞,链接蓝牙啊。。

  • @Ta / 2023-05-08 / /
    待审核
    发言待审核,仅管理员和作者本人可见。
  • @Ta / 2023-05-08 / /

    [Default (GPT-3.5)] [新会话] @呆哥,非常抱歉,作为一名语言模型,我无法画出图像。但是我可以帮助您想象这个描述。

    画面中的人类身形高大,背部生长出一对类似于蜘蛛腿的附肢,这些腿子弯曲灵活,看起来可以让这个人类在不同的地形上行走。此外,这个人类的双臂和双腿上长满了龙鳞,这些鳞片发出一种璀璨的光芒,让这个人类看起来更加威武霸气。头顶上还有一对龙角,这些角看起来坚固无比,可以用来进行攻击和防御。整个人看起来非常壮观,似乎具有强大的力量和能力。

添加新回复
回复需要登录