コンテンツにスキップ

REST API

Discord の REST API を利用する方法は4つあります。

  1. c.rest
  2. createRest(c.env.DISCORD_TOKEN)
  3. 別のライブラリ (@discordjs/rest等)
  4. 自分で fetch()

1.と2.は同じ動作をします。
REST API は基本的に分離可能なため、どの実装方法でも問題ありません。

Discord Hono が提供する REST API クライアントは、型安全性を確保した軽量な fetch ラッパーです。
エッジ環境での最適化を重視しているため、レート制限の自動処理などの複雑な機能は意図的に省略しています。

await c.rest('METHOD', 'PATH', ['PATH_VAR', QUERY_OBJ], DATA_OBJ, FILE_OBJ)
import { $channels$_$messages } from 'discord-hono'
await c.rest('POST', $channels$_$messages, [channel_id], {
content: 'this is rest',
})

第一引数は公式ドキュメントの Method です。
第二引数はこちらに定義しています。
第三引数は Path 内の {} で囲まれた変数部分を配列で入力してください。
第四引数以降は、必要なデータです。

Receiving and Responding✅
Application Commands✅
Application✅
Application Role Connection Metadata✅
Audit Log✅
Auto Moderation✅
Channel✅
Emoji✅
Entitlement✅
Guild✅
Guild Scheduled Event✅
Guild Template✅
Invite✅
Messages✅
Poll✅
SKU✅
Soundboard✅
Stage Instance✅
Sticker⌛
Subscription✅
User✅
Voice✅
Webhook✅