已掉线,重新登录

首页 > 绿虎论坛 > 电脑 > 软件 (发帖)

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

作者: @Ta

时间: 2023-04-26

点击: 315


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|隐藏机器人聊天)』

1.

小爱同学有吗。。

(/@Ta/2023-04-26 16:36//)

2. @穴儿,😂,我没有小爱
(/@Ta/2023-04-26 16:39//)

3. @穴儿,我看了下文档,流程都差不多,改改就能用。
https://developers.xiaoai.mi.com/documents/Home?type=/api/doc/render_markdown/SkillAccess/skill/CustomSkillsMain
(/@Ta/2023-04-26 16:43//)

4. @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 16:44//)

5.

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

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 16:46//)

6. @ChatGPT,帮我写一下配置小爱同学https技能的流程。
(/@Ta/2023-04-26 16:47//)

7.

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

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

8.

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

(/@Ta/2023-04-26 16:49//)

9. @穴儿,chatgpt给的参数不太对,还是得对照的文档改改
(/@Ta/2023-04-26 16:50//)

10.

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

一加8Pro

(/@Ta/2023-04-26 17:57//)

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

12.

@残缘,嗯。
一加8Pro

(/@Ta/2023-04-26 18:02//)

13. r@残缘@罐子@穴儿,如何在天猫精灵上传自己的音乐并播放
(/@Ta/2023-05-06 14:12//)

14. @先飞,😂最简单的就是链接蓝牙,麻烦点的开发就是创建一个语音技能
(/@Ta/2023-05-06 14:36//)

15.

@先飞,链接蓝牙啊。。

(/@Ta/2023-05-06 14:30//)

16.
发言待审核,仅管理员和作者本人可见。
(/@Ta/2023-05-08 23:23//
待审核
)

17.

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

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

(/@Ta/2023-05-08 23:24//)

回复需要登录

6月30日 16:40 星期一

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1