Skip to content

Latest commit

 

History

History
269 lines (163 loc) · 8.24 KB

File metadata and controls

269 lines (163 loc) · 8.24 KB

/client

此目录存储客户端 (用于更新状态/设备状态)

Tip

欢迎提交 Issue / PR 贡献自己的脚本!

by: @wyf9

一个简单的命令行客户端,用于手动更新状态

依赖: requests

Configure

https://github.com/wyf9/sleepy/blob/e6b77af1e4333ad570983b5bf9ac397cb1d40d7b/client/cmd_console.py#L14-L21

Using

启动脚本, 按照提示操作即可

by: @wyf9

CMDConsole 的旧版本 (可选择多个服务)

Configure

https://github.com/wyf9/sleepy/blob/e6b77af1e4333ad570983b5bf9ac397cb1d40d7b/client/cmd_console_multi.py#L14-L23

Using

同上, 多了一步选择服务

by: @wyf9

在 Windows 上自动更新设备状态

依赖: requests, pywin32

Configure

https://github.com/wyf9/sleepy/blob/a2fb3e14a859dd8789c87a35a86324add676ada3/client/win_device.py#L15-L36

PM2 启动命令参考: pm2 start python --name sleepywin -- -u win_device.py (不加 -u 参数会导致 pm2 log 命令没有输出)
如使用 PM2 出现乱码请手动设置编码环境变量 (自行搜索)

by: @wyf9
Co-authored-by: @NyaOH-Nahida

使用 (Archive) Autox.js 编写的安卓自动更新状态脚本

Warning

Autox.js 已删库,RIP
可自行寻找 Auto.js 的其他分支 (可能需要作一些修改以兼容其他分支的方法)

在使用前,请确保已安装 Autox.js 授予无障碍权限

Configure

https://github.com/wyf9/sleepy/blob/e6b77af1e4333ad570983b5bf9ac397cb1d40d7b/client/autoxjs_device.js#L8-L15

Using

启动后可点击 Autox.js 右上角的日志图标查看日志

image

  • 当手机息屏 (应用名返回为空) 时视为未在使用
  • 当脚本退出时也会更新状态为未在使用 (不包括 Autox.js 直接停止运行)

by: @nuym

在任何支持油猴脚本的浏览器均可使用,据作者↑说是为了解决 Mac 无法获取窗口标题,遂退而求其次获取浏览器页面(有系统就有浏览器,即有用户脚本)

Configure

https://github.com/wyf9/sleepy/blob/e6b77af1e4333ad570983b5bf9ac397cb1d40d7b/client/页面标题上报脚本-2024.12.2.user.js#L18-L26

by: @wyf9

一个手动设置设备状态的示例 (用来展示你的作业进度)

依赖: requests

Configure

只有两个配置:

  • SERVER: 服务器地址,末尾不带 /,如:https://sleepy.wyf9.top
  • SECRET: 同名

Using

脚本提供了一些函数:

  • left(num: int): 设置剩余作业的数量 (为 0 则移除) [device id: homework-left]
  • writing(name: str): 设置正在写的作业 (名称为空字符串则移除) [device id: homework-name]

还有一些扩展函数, 可以调用大部分 API

  • query(): 查看当前状态 (未格式化输出)
  • lst(): 查看可用状态列表 (未格式化输出)
  • status(stat: int): 设置状态
  • device_set(id: str, show_name: str, msg: str, using: bool = True): 设备状态设置
  • device_remove(id: str): 移除设备状态
  • device_clear(): 清除设备状态

那么,如何使用这两个函数呢?

  1. 直接使用

使用 python homework_device.py 直接打开, 并用执行函数 (eval()) 的方式发送请求,

如:left(114514)

如何将多个调用写在一行?可用逗号分隔:left(114513), writing('五 年 中 考 三 年 模 拟')

  1. 其他程序调用
from time import sleep
from homework_device import left, writing # import

for i in range(114514, 1, -1):
    left(i)
    writing(f'My Homework #{i}')
    sleep(11.45)

by: @wyf9

依赖: requests

一个使用 Minescript mod 在 Minecraft Java 版中上报游戏内信息的脚本

Minescript

在使用前, 你需要下载 Minescript mod:

Links: MCMod.cn / Modrinth / Repo

也可在各大启动器的 Modrinth 源中直接下载

在下载并启动一次后, 打开 .minecraft/versions/你的版本/minescript/ 目录, 并进行两个操作:

  1. 新建 config.txt, 内容:
# Lines starting with "#" are ignored.
# 替换为你的 Python 可执行程序路径
python="C:\Program Files\Python312\python.exe"
  1. mc_script.py 复制到此目录, 并改名为 sleepy.py (也可为其他名字)

Configure

需要配置两处:

  1. 基本服务

https://github.com/wyf9/sleepy/blob/e6b77af1e4333ad570983b5bf9ac397cb1d40d7b/client/mc_script.py#L16-L24

  1. app_name 格式

https://github.com/wyf9/sleepy/blob/e6b77af1e4333ad570983b5bf9ac397cb1d40d7b/client/mc_script.py#L116

Using

配置完成后重启 Minecraft 进入游戏, 按 T (默认键位, 可能不同) 打开聊天栏, 并输入: \sleepy *(即上面重命名后的文件名去掉 .py 后缀) 回车启动

停止: \sleepy stop

Autorun

也可以配置自启, 只需在 config.txt 中新增一行:

autorun[*]=eval 'execute("\\sleepy")'

by: @RikkaNaa

适用于 Linux KDE 桌面环境,且需要系统安装 kdotool

如获取失败则视为未在使用,变量计时参考

Configure

https://github.com/wyf9/sleepy/blob/7fc21380a259247533db76f3a0443fa550fcffec/client/linux_device_kde.py#L18-L28

Using

可自行配置本脚本的自启动

当进程接收到 SIGTERM 信号时将会发送未在使用请求

by: @inoryxin

适用于 Linux Hyprland 桌面环境,无需任何依赖,开箱即用

Configure

https://github.com/wyf9/sleepy/blob/7fc21380a259247533db76f3a0443fa550fcffec/client/linux_device_hyprland.sh#L7-L12

Using

直接启动即可

开机自启可自行在 hyprland.conf 中配置

Other repos

在功能 / API 实现上有不同,需要进行修改以与本分支适配 (见 API #device-set)