tmc-cli - The Modding Community
开源
在你的终端里使用 API
tmc-cli 是我们公开内容 API 的命令行客户端。它可以创建、编辑和删除你的素材、模组、服务器、文章、社区、合集与群组,而且,正因为这才是 API 的实际用途,它能用一条命令上传文件并发布版本。
Python 3.11+零依赖MIT 许可
从克隆安装。tmc-cli 尚未上架 PyPI,所以用 pip 从公开仓库安装。三个步骤在下方。
$ tmc auth whoamiprofile defaultsite https://moddingcommunity.comauthMode tokentoken tmc_ab…9fcanRead truecanWrite truecanDelete false只用标准库的单个软件包,无需构建,也无需解析依赖。它不在 PyPI 上,因此从克隆安装。每条命令、每个选项和每个退出码都写在文档里。
安装
三个步骤,无需包索引
tmc-cli 不在 PyPI 上。它从公开仓库的克隆安装,需要 Python 3.11 或更新版本,不会引入其他软件包。
命令
一个工具,API 的六个方面
命令名就是要输入的原样文字。运行 tmc --help 可查看完整列表。
版本发布
一条命令发布版本
用原始 API 发布一个版本,是按特定顺序发出的四个请求:上传文件、收集它们的 id、读取已有的版本集合,然后把新的写回去,并且不打扰其他版本。release publish 就是这一整套流程。
它能做什么
CLI 能做什么
浏览器里能做的每件事都有对应的一条命令,还包括一些你不想手动做的事:批量编辑、流水线和脚本化发布。
凭据
密钥、配置档与公钥那一半
登录一次,凭据便会以 0600 权限保存在 ~/.config/tmc/config.json 中,或者通过环境变量传入,则完全不碰磁盘。每个站点或每把密钥一个配置档,而对于本来就不需要密钥的那一半 API,还有 --anon。
关联
四个名副其实的动词
危险的那个是 set:在这套 API 中,对关联发 PUT 意味着“现在这就是完整集合”,所以一次只带一个成员的 PUT 会删掉该条目上的其他全部内容。CLI 把这四者区分开,并在发送破坏性操作前发出警告。
自动化
在 CI 中使用
构建你的项目,在每个标签上发布版本并上传其文件。凭据来自环境变量,因此不会在 runner 上写入任何磁盘内容。
