[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EXMT3S4APFGRK8KP24XNTP":3,"skill-same:01M6EXMT3S4APFGRK8KP24XNTP":73},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":49,"ownerHtmlUrl":50,"ownerBlogUrl":6,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M6EXMT3S4APFGRK8KP24XNTP","azure-mgmt-botservice-dotnet",null,"Azure Resource Manager SDK for Bot Service in .NET. Management plane operations for creating and managing Azure Bot resources, channels (Teams, DirectLine, Slack), and connection settings. Triggers: \"Bot Service\", \"BotResource\", \"Azure Bot\", \"DirectLine channel\", \"Teams channel\", \"bot management .NET\", \"create bot\".","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Fazure-mgmt-botservice-dotnet\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"dotnet","azure","azure mgmt botservice dotnet","management","channels","azure resource manager","resources","bot management","triggers","service","channel","operations","bot","settings","create","teams","sdk","slack","2026-11-10 10:12:30",false,"---\nname: azure-mgmt-botservice-dotnet\ndescription: |\n  Azure Resource Manager SDK for Bot Service in .NET. Management plane operations for creating and managing Azure Bot resources, channels (Teams, DirectLine, Slack), and connection settings. Triggers: \"Bot Service\", \"BotResource\", \"Azure Bot\", \"DirectLine channel\", \"Teams channel\", \"bot management .NET\", \"create bot\".\npackage: Azure.ResourceManager.BotService\n---\n\n# Azure.ResourceManager.BotService (.NET)\n\nManagement plane SDK for provisioning and managing Azure Bot Service resources via Azure Resource Manager.\n\n## Installation\n\n```bash\ndotnet add package Azure.ResourceManager.BotService\ndotnet add package Azure.Identity\n```\n\n**Current Versions**: Stable v1.1.1, Preview v1.1.0-beta.1\n\n## Environment Variables\n\n```bash\nAZURE_SUBSCRIPTION_ID=\u003Cyour-subscription-id>\n# For service principal auth (optional)\nAZURE_TENANT_ID=\u003Ctenant-id>\nAZURE_CLIENT_ID=\u003Cclient-id>\nAZURE_CLIENT_SECRET=\u003Cclient-secret>\n```\n\n## Authentication\n\n```csharp\nusing Azure.Identity;\nusing Azure.ResourceManager;\nusing Azure.ResourceManager.BotService;\n\n\u002F\u002F Authenticate using DefaultAzureCredential\nvar credential = new DefaultAzureCredential();\nArmClient armClient = new ArmClient(credential);\n\n\u002F\u002F Get subscription and resource group\nSubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync();\nResourceGroupResource resourceGroup = await subscription.GetResourceGroups().GetAsync(\"myResourceGroup\");\n\n\u002F\u002F Access bot collection\nBotCollection botCollection = resourceGroup.GetBots();\n```\n\n## Resource Hierarchy\n\n```\nArmClient\n└── SubscriptionResource\n    └── ResourceGroupResource\n        └── BotResource\n            ├── BotChannelResource (DirectLine, Teams, Slack, etc.)\n            ├── BotConnectionSettingResource (OAuth connections)\n            └── BotServicePrivateEndpointConnectionResource\n```\n\n## Core Workflows\n\n### 1. Create Bot Resource\n\n```csharp\nusing Azure.ResourceManager.BotService;\nusing Azure.ResourceManager.BotService.Models;\n\n\u002F\u002F Create bot data\nvar botData = new BotData(AzureLocation.WestUS2)\n{\n    Kind = BotServiceKind.Azurebot,\n    Sku = new BotServiceSku(BotServiceSkuName.F0),\n    Properties = new BotProperties(\n        displayName: \"MyBot\",\n        endpoint: new Uri(\"https:\u002F\u002Fmybot.azurewebsites.net\u002Fapi\u002Fmessages\"),\n        msaAppId: \"\u003Cyour-msa-app-id>\")\n    {\n        Description = \"My Azure Bot\",\n        MsaAppType = BotMsaAppType.MultiTenant\n    }\n};\n\n\u002F\u002F Create or update the bot\nArmOperation\u003CBotResource> operation = await botCollection.CreateOrUpdateAsync(\n    WaitUntil.Completed, \n    \"myBotName\", \n    botData);\n    \nBotResource bot = operation.Value;\nConsole.WriteLine($\"Bot created: {bot.Data.Name}\");\n```\n\n### 2. Configure DirectLine Channel\n\n```csharp\n\u002F\u002F Get the bot\nBotResource bot = await resourceGroup.GetBots().GetAsync(\"myBotName\");\n\n\u002F\u002F Get channel collection\nBotChannelCollection channels = bot.GetBotChannels();\n\n\u002F\u002F Create DirectLine channel configuration\nvar channelData = new BotChannelData(AzureLocation.WestUS2)\n{\n    Properties = new DirectLineChannel()\n    {\n        Properties = new DirectLineChannelProperties()\n        {\n            Sites = \n            {\n                new DirectLineSite(\"Default Site\")\n                {\n                    IsEnabled = true,\n                    IsV1Enabled = false,\n                    IsV3Enabled = true,\n                    IsSecureSiteEnabled = true\n                }\n            }\n        }\n    }\n};\n\n\u002F\u002F Create or update the channel\nArmOperation\u003CBotChannelResource> channelOp = await channels.CreateOrUpdateAsync(\n    WaitUntil.Completed,\n    BotChannelName.DirectLineChannel,\n    channelData);\n\nConsole.WriteLine(\"DirectLine channel configured\");\n```\n\n### 3. Configure Microsoft Teams Channel\n\n```csharp\nvar teamsChannelData = new BotChannelData(AzureLocation.WestUS2)\n{\n    Properties = new MsTeamsChannel()\n    {\n        Properties = new MsTeamsChannelProperties()\n        {\n            IsEnabled = true,\n            EnableCalling = false\n        }\n    }\n};\n\nawait channels.CreateOrUpdateAsync(\n    WaitUntil.Completed,\n    BotChannelName.MsTeamsChannel,\n    teamsChannelData);\n```\n\n### 4. Configure Web Chat Channel\n\n```csharp\nvar webChatChannelData = new BotChannelData(AzureLocation.WestUS2)\n{\n    Properties = new WebChatChannel()\n    {\n        Properties = new WebChatChannelProperties()\n        {\n            Sites =\n            {\n                new WebChatSite(\"Default Site\")\n                {\n                    IsEnabled = true\n                }\n            }\n        }\n    }\n};\n\nawait channels.CreateOrUpdateAsync(\n    WaitUntil.Completed,\n    BotChannelName.WebChatChannel,\n    webChatChannelData);\n```\n\n### 5. Get Bot and List Channels\n\n```csharp\n\u002F\u002F Get bot\nBotResource bot = await botCollection.GetAsync(\"myBotName\");\nConsole.WriteLine($\"Bot: {bot.Data.Properties.DisplayName}\");\nConsole.WriteLine($\"Endpoint: {bot.Data.Properties.Endpoint}\");\n\n\u002F\u002F List channels\nawait foreach (BotChannelResource channel in bot.GetBotChannels().GetAllAsync())\n{\n    Console.WriteLine($\"Channel: {channel.Data.Name}\");\n}\n```\n\n### 6. Regenerate DirectLine Keys\n\n```csharp\nvar regenerateRequest = new BotChannelRegenerateKeysContent(BotChannelName.DirectLineChannel)\n{\n    SiteName = \"Default Site\"\n};\n\nBotChannelResource channelWithKeys = await bot.GetBotChannelWithRegenerateKeysAsync(regenerateRequest);\n```\n\n### 7. Update Bot\n\n```csharp\nBotResource bot = await botCollection.GetAsync(\"myBotName\");\n\n\u002F\u002F Update using patch\nvar updateData = new BotData(bot.Data.Location)\n{\n    Properties = new BotProperties(\n        displayName: \"Updated Bot Name\",\n        endpoint: bot.Data.Properties.Endpoint,\n        msaAppId: bot.Data.Properties.MsaAppId)\n    {\n        Description = \"Updated description\"\n    }\n};\n\nawait bot.UpdateAsync(updateData);\n```\n\n### 8. Delete Bot\n\n```csharp\nBotResource bot = await botCollection.GetAsync(\"myBotName\");\nawait bot.DeleteAsync(WaitUntil.Completed);\n```\n\n## Supported Channel Types\n\n| Channel | Constant | Class |\n|---------|----------|-------|\n| Direct Line | `BotChannelName.DirectLineChannel` | `DirectLineChannel` |\n| Direct Line Speech | `BotChannelName.DirectLineSpeechChannel` | `DirectLineSpeechChannel` |\n| Microsoft Teams | `BotChannelName.MsTeamsChannel` | `MsTeamsChannel` |\n| Web Chat | `BotChannelName.WebChatChannel` | `WebChatChannel` |\n| Slack | `BotChannelName.SlackChannel` | `SlackChannel` |\n| Facebook | `BotChannelName.FacebookChannel` | `FacebookChannel` |\n| Email | `BotChannelName.EmailChannel` | `EmailChannel` |\n| Telegram | `BotChannelName.TelegramChannel` | `TelegramChannel` |\n| Telephony | `BotChannelName.TelephonyChannel` | `TelephonyChannel` |\n\n## Key Types Reference\n\n| Type | Purpose |\n|------|---------|\n| `ArmClient` | Entry point for all ARM operations |\n| `BotResource` | Represents an Azure Bot resource |\n| `BotCollection` | Collection for bot CRUD |\n| `BotData` | Bot resource definition |\n| `BotProperties` | Bot configuration properties |\n| `BotChannelResource` | Channel configuration |\n| `BotChannelCollection` | Collection of channels |\n| `BotChannelData` | Channel configuration data |\n| `BotConnectionSettingResource` | OAuth connection settings |\n\n## BotServiceKind Values\n\n| Value | Description |\n|-------|-------------|\n| `BotServiceKind.Azurebot` | Azure Bot (recommended) |\n| `BotServiceKind.Bot` | Legacy Bot Framework bot |\n| `BotServiceKind.Designer` | Composer bot |\n| `BotServiceKind.Function` | Function bot |\n| `BotServiceKind.Sdk` | SDK bot |\n\n## BotServiceSkuName Values\n\n| Value | Description |\n|-------|-------------|\n| `BotServiceSkuName.F0` | Free tier |\n| `BotServiceSkuName.S1` | Standard tier |\n\n## BotMsaAppType Values\n\n| Value | Description |\n|-------|-------------|\n| `BotMsaAppType.MultiTenant` | Multi-tenant app |\n| `BotMsaAppType.SingleTenant` | Single-tenant app |\n| `BotMsaAppType.UserAssignedMSI` | User-assigned managed identity |\n\n## Best Practices\n\n1. **Always use `DefaultAzureCredential`** — supports multiple auth methods\n2. **Use `WaitUntil.Completed`** for synchronous operations\n3. **Handle `RequestFailedException`** for API errors\n4. **Use async methods** (`*Async`) for all operations\n5. **Store MSA App credentials securely** — use Key Vault for secrets\n6. **Use managed identity** (`BotMsaAppType.UserAssignedMSI`) for production bots\n7. **Enable secure sites** for DirectLine channels in production\n\n## Error Handling\n\n```csharp\nusing Azure;\n\ntry\n{\n    var operation = await botCollection.CreateOrUpdateAsync(\n        WaitUntil.Completed, \n        botName, \n        botData);\n}\ncatch (RequestFailedException ex) when (ex.Status == 409)\n{\n    Console.WriteLine(\"Bot already exists\");\n}\ncatch (RequestFailedException ex)\n{\n    Console.WriteLine($\"ARM Error: {ex.Status} - {ex.ErrorCode}: {ex.Message}\");\n}\n```\n\n## Related SDKs\n\n| SDK | Purpose | Install |\n|-----|---------|---------|\n| `Azure.ResourceManager.BotService` | Bot management (this SDK) | `dotnet add package Azure.ResourceManager.BotService` |\n| `Microsoft.Bot.Builder` | Bot Framework SDK | `dotnet add package Microsoft.Bot.Builder` |\n| `Microsoft.Bot.Builder.Integration.AspNet.Core` | ASP.NET Core integration | `dotnet add package Microsoft.Bot.Builder.Integration.AspNet.Core` |\n\n## Reference Links\n\n| Resource | URL |\n|----------|-----|\n| NuGet Package | https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FAzure.ResourceManager.BotService |\n| API Reference | https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fazure.resourcemanager.botservice |\n| GitHub Source | https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-sdk-for-net\u002Ftree\u002Fmain\u002Fsdk\u002Fbotservice\u002FAzure.ResourceManager.BotService |\n| Azure Bot Service Docs | https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fbot-service\u002F |\n","# Azure.ResourceManager.BotService (.NET)\n\nManagement plane SDK for provisioning and managing Azure Bot Service resources via Azure Resource Manager.\n\n## Installation\n\n```bash\ndotnet add package Azure.ResourceManager.BotService\ndotnet add package Azure.Identity\n```\n\n**Current Versions**: Stable v1.1.1, Preview v1.1.0-beta.1\n\n## Environment Variables\n\n```bash\nAZURE_SUBSCRIPTION_ID=\u003Cyour-subscription-id>\n# For service principal auth (optional)\nAZURE_TENANT_ID=\u003Ctenant-id>\nAZURE_CLIENT_ID=\u003Cclient-id>\nAZURE_CLIENT_SECRET=\u003Cclient-secret>\n```\n\n## Authentication\n\n```csharp\nusing Azure.Identity;\nusing Azure.ResourceManager;\nusing Azure.ResourceManager.BotService;\n\n\u002F\u002F Authenticate using DefaultAzureCredential\nvar credential = new DefaultAzureCredential();\nArmClient armClient = new ArmClient(credential);\n\n\u002F\u002F Get subscription and resource group\nSubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync();\nResourceGroupResource resourceGroup = await subscription.GetResourceGroups().GetAsync(\"myResourceGroup\");\n\n\u002F\u002F Access bot collection\nBotCollection botCollection = resourceGroup.GetBots();\n```\n\n## Resource Hierarchy\n\n```\nArmClient\n└── SubscriptionResource\n    └── ResourceGroupResource\n        └── BotResource\n            ├── BotChannelResource (DirectLine, Teams, Slack, etc.)\n            ├── BotConnectionSettingResource (OAuth connections)\n            └── BotServicePrivateEndpointConnectionResource\n```\n\n## Core Workflows\n\n### 1. Create Bot Resource\n\n```csharp\nusing Azure.ResourceManager.BotService;\nusing Azure.ResourceManager.BotService.Models;\n\n\u002F\u002F Create bot data\nvar botData = new BotData(AzureLocation.WestUS2)\n{\n    Kind = BotServiceKind.Azurebot,\n    Sku = new BotServiceSku(BotServiceSkuName.F0),\n    Properties = new BotProperties(\n        displayName: \"MyBot\",\n        endpoint: new Uri(\"https:\u002F\u002Fmybot.azurewebsites.net\u002Fapi\u002Fmessages\"),\n        msaAppId: \"\u003Cyour-msa-app-id>\")\n    {\n        Description = \"My Azure Bot\",\n        MsaAppType = BotMsaAppType.MultiTenant\n    }\n};\n\n\u002F\u002F Create or update the bot\nArmOperation\u003CBotResource> operation = await botCollection.CreateOrUpdateAsync(\n    WaitUntil.Completed, \n    \"myBotName\", \n    botData);\n    \nBotResource bot = operation.Value;\nConsole.WriteLine($\"Bot created: {bot.Data.Name}\");\n```\n\n### 2. Configure DirectLine Channel\n\n```csharp\n\u002F\u002F Get the bot\nBotResource bot = await resourceGroup.GetBots().GetAsync(\"myBotName\");\n\n\u002F\u002F Get channel collection\nBotChannelCollection channels = bot.GetBotChannels();\n\n\u002F\u002F Create DirectLine channel configuration\nvar channelData = new BotChannelData(AzureLocation.WestUS2)\n{\n    Properties = new DirectLineChannel()\n    {\n        Properties = new DirectLineChannelProperties()\n        {\n            Sites = \n            {\n                new DirectLineSite(\"Default Site\")\n                {\n                    IsEnabled = true,\n                    IsV1Enabled = false,\n                    IsV3Enabled = true,\n                    IsSecureSiteEnabled = true\n                }\n            }\n        }\n    }\n};\n\n\u002F\u002F Create or update the channel\nArmOperation\u003CBotChannelResource> channelOp = await channels.CreateOrUpdateAsync(\n    WaitUntil.Completed,\n    BotChannelName.DirectLineChannel,\n    channelData);\n\nConsole.WriteLine(\"DirectLine channel configured\");\n```\n\n### 3. Configure Microsoft Teams Channel\n\n```csharp\nvar teamsChannelData = new BotChannelData(AzureLocation.WestUS2)\n{\n    Properties = new MsTeamsChannel()\n    {\n        Properties = new MsTeamsChannelProperties()\n        {\n            IsEnabled = true,\n            EnableCalling = false\n        }\n    }\n};\n\nawait channels.CreateOrUpdateAsync(\n    WaitUntil.Completed,\n    BotChannelName.MsTeamsChannel,\n    teamsChannelData);\n```\n\n### 4. Configure Web Chat Channel\n\n```csharp\nvar webChatChannelData = new BotChannelData(AzureLocation.WestUS2)\n{\n    Properties = new WebChatChannel()\n    {\n        Properties = new WebChatChannelProperties()\n        {\n            Sites =\n            {\n                new WebChatSite(\"Default Site\")\n                {\n                    IsEnabled = true\n                }\n            }\n        }\n    }\n};\n\nawait channels.CreateOrUpdateAsync(\n    WaitUntil.Completed,\n    BotChannelName.WebChatChannel,\n    webChatChannelData);\n```\n\n### 5. Get Bot and List Channels\n\n```csharp\n\u002F\u002F Get bot\nBotResource bot = await botCollection.GetAsync(\"myBotName\");\nConsole.WriteLine($\"Bot: {bot.Data.Properties.DisplayName}\");\nConsole.WriteLine($\"Endpoint: {bot.Data.Properties.Endpoint}\");\n\n\u002F\u002F List channels\nawait foreach (BotChannelResource channel in bot.GetBotChannels().GetAllAsync())\n{\n    Console.WriteLine($\"Channel: {channel.Data.Name}\");\n}\n```\n\n### 6. Regenerate DirectLine Keys\n\n```csharp\nvar regenerateRequest = new BotChannelRegenerateKeysContent(BotChannelName.DirectLineChannel)\n{\n    SiteName = \"Default Site\"\n};\n\nBotChannelResource channelWithKeys = await bot.GetBotChannelWithRegenerateKeysAsync(regenerateRequest);\n```\n\n### 7. Update Bot\n\n```csharp\nBotResource bot = await botCollection.GetAsync(\"myBotName\");\n\n\u002F\u002F Update using patch\nvar updateData = new BotData(bot.Data.Location)\n{\n    Properties = new BotProperties(\n        displayName: \"Updated Bot Name\",\n        endpoint: bot.Data.Properties.Endpoint,\n        msaAppId: bot.Data.Properties.MsaAppId)\n    {\n        Description = \"Updated description\"\n    }\n};\n\nawait bot.UpdateAsync(updateData);\n```\n\n### 8. Delete Bot\n\n```csharp\nBotResource bot = await botCollection.GetAsync(\"myBotName\");\nawait bot.DeleteAsync(WaitUntil.Completed);\n```\n\n## Supported Channel Types\n\n| Channel | Constant | Class |\n|---------|----------|-------|\n| Direct Line | `BotChannelName.DirectLineChannel` | `DirectLineChannel` |\n| Direct Line Speech | `BotChannelName.DirectLineSpeechChannel` | `DirectLineSpeechChannel` |\n| Microsoft Teams | `BotChannelName.MsTeamsChannel` | `MsTeamsChannel` |\n| Web Chat | `BotChannelName.WebChatChannel` | `WebChatChannel` |\n| Slack | `BotChannelName.SlackChannel` | `SlackChannel` |\n| Facebook | `BotChannelName.FacebookChannel` | `FacebookChannel` |\n| Email | `BotChannelName.EmailChannel` | `EmailChannel` |\n| Telegram | `BotChannelName.TelegramChannel` | `TelegramChannel` |\n| Telephony | `BotChannelName.TelephonyChannel` | `TelephonyChannel` |\n\n## Key Types Reference\n\n| Type | Purpose |\n|------|---------|\n| `ArmClient` | Entry point for all ARM operations |\n| `BotResource` | Represents an Azure Bot resource |\n| `BotCollection` | Collection for bot CRUD |\n| `BotData` | Bot resource definition |\n| `BotProperties` | Bot configuration properties |\n| `BotChannelResource` | Channel configuration |\n| `BotChannelCollection` | Collection of channels |\n| `BotChannelData` | Channel configuration data |\n| `BotConnectionSettingResource` | OAuth connection settings |\n\n## BotServiceKind Values\n\n| Value | Description |\n|-------|-------------|\n| `BotServiceKind.Azurebot` | Azure Bot (recommended) |\n| `BotServiceKind.Bot` | Legacy Bot Framework bot |\n| `BotServiceKind.Designer` | Composer bot |\n| `BotServiceKind.Function` | Function bot |\n| `BotServiceKind.Sdk` | SDK bot |\n\n## BotServiceSkuName Values\n\n| Value | Description |\n|-------|-------------|\n| `BotServiceSkuName.F0` | Free tier |\n| `BotServiceSkuName.S1` | Standard tier |\n\n## BotMsaAppType Values\n\n| Value | Description |\n|-------|-------------|\n| `BotMsaAppType.MultiTenant` | Multi-tenant app |\n| `BotMsaAppType.SingleTenant` | Single-tenant app |\n| `BotMsaAppType.UserAssignedMSI` | User-assigned managed identity |\n\n## Best Practices\n\n1. **Always use `DefaultAzureCredential`** — supports multiple auth methods\n2. **Use `WaitUntil.Completed`** for synchronous operations\n3. **Handle `RequestFailedException`** for API errors\n4. **Use async methods** (`*Async`) for all operations\n5. **Store MSA App credentials securely** — use Key Vault for secrets\n6. **Use managed identity** (`BotMsaAppType.UserAssignedMSI`) for production bots\n7. **Enable secure sites** for DirectLine channels in production\n\n## Error Handling\n\n```csharp\nusing Azure;\n\ntry\n{\n    var operation = await botCollection.CreateOrUpdateAsync(\n        WaitUntil.Completed, \n        botName, \n        botData);\n}\ncatch (RequestFailedException ex) when (ex.Status == 409)\n{\n    Console.WriteLine(\"Bot already exists\");\n}\ncatch (RequestFailedException ex)\n{\n    Console.WriteLine($\"ARM Error: {ex.Status} - {ex.ErrorCode}: {ex.Message}\");\n}\n```\n\n## Related SDKs\n\n| SDK | Purpose | Install |\n|-----|---------|---------|\n| `Azure.ResourceManager.BotService` | Bot management (this SDK) | `dotnet add package Azure.ResourceManager.BotService` |\n| `Microsoft.Bot.Builder` | Bot Framework SDK | `dotnet add package Microsoft.Bot.Builder` |\n| `Microsoft.Bot.Builder.Integration.AspNet.Core` | ASP.NET Core integration | `dotnet add package Microsoft.Bot.Builder.Integration.AspNet.Core` |\n\n## Reference Links\n\n| Resource | URL |\n|----------|-----|\n| NuGet Package | https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FAzure.ResourceManager.BotService |\n| API Reference | https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fazure.resourcemanager.botservice |\n| GitHub Source | https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-sdk-for-net\u002Ftree\u002Fmain\u002Fsdk\u002Fbotservice\u002FAzure.ResourceManager.BotService |\n| Azure Bot Service Docs | https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fbot-service\u002F |\n",{"name":5,"package":42,"description":43},"Azure.ResourceManager.BotService","Azure Resource Manager SDK for Bot Service in .NET. Management plane operations for creating and managing Azure Bot resources, channels (Teams, DirectLine, Slack), and connection settings. Triggers: \"Bot Service\", \"BotResource\", \"Azure Bot\", \"DirectLine channel\", \"Teams channel\", \"bot management .NET\", \"create bot\".\n","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Fazure-mgmt-botservice-dotnet",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill azure-mgmt-botservice-dotnet",{"tool":59,"command":60},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill azure-mgmt-botservice-dotnet",{"tool":62,"command":63},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill azure-mgmt-botservice-dotnet","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Fazure-mgmt-botservice-dotnet\u002FSKILL.md",true,[67],{"path":68,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":71,"sourceHtmlUrl":72},"skill-report.json","REFERENCE","参考文档",10037,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Fazure-mgmt-botservice-dotnet\u002Fskill-report.json",[74,88,98,106,112,119],{"skillNo":75,"name":76,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":84,"publishedAt":37},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[79],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[85,86,87],"model","model hierarchy","model hierarchy skill",{"skillNo":89,"name":90,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":94,"publishedAt":37},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[93],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},[95,96,97],"MCP","zoom","zoom mcp",{"skillNo":99,"name":100,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":37},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[35,104,105,96],"zoom apps sdk","apps",{"skillNo":107,"name":108,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":37},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[108],{"skillNo":113,"name":114,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":118,"publishedAt":37},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[117],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},[114],{"skillNo":120,"name":121,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":124,"publishedAt":37},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[121]]