durl

一个类似curl的命令行客户端,用于Discord机器人和用户API。

特点

  • 机器人身份验证流程
  • 用户OAuth2流程(重定向到https://:3000
  • get, post, put, patch, delete 请求
  • JSON正文
  • JSON请求头

要求

强烈建议使用机器人帐户。用户帐户受到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")

贡献

该项目旨在做到*非常简单*,但此处列出了一些缺失的功能:

  1. 支持不使用*nix风格路径的操作系统。请参阅durl.dart:11
  2. 用户令牌过期时自动刷新。请参阅durl.dart:202

GitHub

查看 Github