Skip to content

hitokoto-osc 项目的客户端,提供将api结果推送到钉钉的功能

License

Notifications You must be signed in to change notification settings

hitokoto-osc/hitokoto-dingtalk-client

Repository files navigation

hitokoto-dingtalk-client

获取一句 hitokoto 并推送到钉钉群,给无聊的工作增加一点乐趣

依赖管理

为了减少三方依赖,本仓库提供的客户端均采用语言标准库能力,不依赖任何第三方库

开发计划

对外提供各种语言的版本,对内提供一致的api,方便感兴趣的朋友们进行二开

命令行参数

  • --api-urlhitokoto api 或其镜像接口地址
  • --robot-url钉钉机器人链接

抽象编程 API

此处提供伪代码,实际命名规则与参数类型根据目标语言的约定而改变

api 参数 功能
get-argument(name , default) 名称,默认值 获取命令行参数
get-hitokoto(api-url) 一言API地址或其镜像 获取一言
post-with-json(robot-url , data) 机器人API地址 推送到钉钉服务器
make-data(source , creator , sentence) 从哪里来,谁创建的,说了什么 构造发送给钉钉的数据

编译运行

所有版本均提供 Makefile 和命令行与两种运行方法。二者的区别为 Makefile 为编译型语言提供标准编译支持,命令行则需要自行编译

Makefile

使用 phplinux-shellnodejspythongolang 中的任何一个,替换命令中的 LANGUAGE$language 即可

$ language=LANGUAGE
$ make clean $language \
    api-url https://v1.hitokoto.cn \
    robot-url=https://oapi.dingtalk.com/robot/xxxxx

命令行

  • php
$ chmod +x ./dingtalk.php
$ ./dingtalk.php [--api-url https://v1.hitokoto.cn] --robot-url https://oapi.dingtalk.com/robot/xxxxx
  • shell

目前仅支持定义 --robot-url

$ chmod +x ./dingtalk.sh
$ ./dingtalk.sh --robot-url https://oapi.dingtalk.com/robot/xxxxx
  • nodejs
$ chmod +x ./dingtalk.js
$ ./dingtalk.js [--api-url https://v1.hitokoto.cn] --robot-url https://oapi.dingtalk.com/robot/xxxxx
  • python3
$ chmod +x ./dingtalk.py
$ ./dingtalk.py [--api-url https://v1.hitokoto.cn] --robot-url https://oapi.dingtalk.com/robot/xxxxx
  • golang
$ go run ./dingtalk.go [--api-url https://v1.hitokoto.cn] --robot-url https://oapi.dingtalk.com/robot/xxxxx
  • java

参考 hitokoto-java-sdk

shell

shell 版本仅支持 centos,所以本仓库特别提供了基于 docker 的运行方法

  • Makefile
$ make linux-shell-with-docker
  • 命令行
$ docker build -t hitokoto/client:v1 . --build-arg robot_url=https://oapi.dingtalk.com/robot/xxxxx
$ docker run --rm hitokoto/client:v1

推送效果

-w500