Skip to content
Bitzsoft.Integrationsbitzsoft.integrations

Reference

Discord InstantMessaging

Discord 即时通讯服务——Bot Token Bearer(Authorization: Bot token)鉴权。

Last updated

基于 Discord Bot API v10 实现,采用 Bot Token Bearer 鉴权。

包信息

  • NuGet 包:Bitzsoft.Integrations.InstantMessaging.Discord
  • 接口:IInstantMessagingService
  • 鉴权:Bot Token Bearer(Authorization: Bot {token}
  • Provider ID:discord

配置

字段类型必填默认值说明
BotTokenstringBot Token(形如 MTIzNDU2...
BaseUrlstringhttps://discord.com/api/v10Discord Bot API 基地址
HttpClientNamestringInstantMessagingDiscord业务 HttpClient 命名
{
"InstantMessaging": {
"Discord": {
"BotToken": "MTIzNDU2-your-bot-token"
}
}
}

注册

// 方式一:IConfiguration(默认读取 "InstantMessaging:Discord" 配置节)
services.AddDiscordInstantMessaging(configuration);
// 方式二:委托配置
services.AddDiscordInstantMessaging(options =>
{
options.BotToken = "MTIzNDU2-your-bot-token";
});

使用示例

// 发送文本消息
var result = await im.SendTextMessageAsync(new SendTextMessageRequest
{
Channel = "123456789012345678",
Text = "Hello Discord!"
});
// 查询频道列表
var channels = await im.ListChannelsAsync();
// 创建频道
await im.CreateChannelAsync("project-chat");
// 邀请成员
await im.InviteMemberAsync(new InviteMemberRequest
{
Channel = "project-chat",
UserId = "987654321"
});

鉴权机制

  • 每个请求通过 Authorization: Bot {BotToken} 头携带 Bot Token。
  • Token 通过 Discord Developer Portal 创建机器人后获取。

已知限制

Discord 的频道 ID 为数字雪花(snowflake)字符串。Provider 注册为 Transient,避免 Singleton 捕获 typed HttpClient。

100%

滚轮或按钮缩放 · 放大后拖动画面 · 双击切换 100% / 200%