基于 Slack Web API 实现,采用 Bot User OAuth Token(xoxb-)Bearer 鉴权。
包信息
- NuGet 包:
Bitzsoft.Integrations.InstantMessaging.Slack - 接口:
IInstantMessagingService - 鉴权:Bot Token Bearer(
xoxb-) - Provider ID:
slack
配置
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
BotToken | string | 是 | — | Bot User OAuth Token(形如 xoxb-...) |
BaseUrl | string | 否 | https://slack.com/api | Slack Web API 基地址 |
HttpClientName | string | 否 | InstantMessagingSlack | 业务 HttpClient 命名 |
{ "InstantMessaging": { "Slack": { "BotToken": "xoxb-your-bot-token" } }}注册
// 方式一:IConfiguration(默认读取 "InstantMessaging:Slack" 配置节)services.AddSlackInstantMessaging(configuration);
// 方式二:委托配置services.AddSlackInstantMessaging(options =>{ options.BotToken = "xoxb-your-bot-token";});使用示例
// 发送文本消息var result = await im.SendTextMessageAsync(new SendTextMessageRequest{ Channel = "#general", Text = "Hello from Bitzsoft!"});
// 创建频道await im.CreateChannelAsync("project-alerts");
// 邀请成员await im.InviteMemberAsync(new InviteMemberRequest{ Channel = "project-alerts", UserId = "U12345678"});鉴权机制
- 每个请求通过
Authorization: Bearer {BotToken}头携带 Bot User OAuth Token。 - Token 在 Slack 应用管理页安装应用后获取。
已知限制
Provider 注册为 Transient,避免 Singleton 捕获 typed HttpClient。