durl
一个类似curl的命令行客户端,用于Discord机器人和用户API。
特点
- 机器人身份验证流程
- 用户OAuth2流程(重定向到
https://:3000) get,post,put,patch,delete请求- JSON正文
- JSON请求头
要求
- 您的系统必须安装Dart
- 您必须有一个Discord应用程序
强烈建议使用机器人帐户。用户帐户受到Discord API和服务条款的严重限制。尽管如此,在durl auth-user下实现了一个完整的用户OAuth2流程。
安装
dart pub global activate --source git https://github.com/lukepighetti/durl
durl auth -i $APPLICATION_ID -t $BOT_TOKEN
示例
# Fetch my user info with a GET request
durl api -p /users/@me
# Send message with a POST request
durl api -X post -p "/channels/101503/messages" -b "{\"content\":\"hellooo!\"}"
# Update guild icon with base64 image in a PATCH request
durl api -X patch -p "/guilds/101429" -b "{\"icon\":\"data:image/jpeg;base64,$(base64 -i avatar.jpg)\"}"
技巧
在使用durl编写 shell 脚本时,请使用jq来解析响应对象。
# Fetch the authenticated user id and store it
USER_ID=$(durl api -p /users/@me | jq -r ".id")
贡献
该项目旨在做到*非常简单*,但此处列出了一些缺失的功能:
- 支持不使用*nix风格路径的操作系统。请参阅durl.dart:11
- 用户令牌过期时自动刷新。请参阅durl.dart:202