Skip to main content 首页 创作者 beko2210 firstbrain azure-mgmt-botservice-py
azure-mgmt-botservice-py Azure Bot Service Management SDK for Python. Use for creating, managing, and configuring Azure Bot Service resources.
跳到安装 Skills Marketplace 发现并探索由社区构建的 Agent Skills
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/BEKO2210/Firstbrain --skill azure-mgmt-botservice-py命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
下载 Zip 下载中... name azure-mgmt-botservice-py description Azure Bot Service Management SDK for Python. Use for creating, managing, and configuring Azure Bot Service resources. type skill created 2026-02-27T00:00:00.000Z domain cloud-infrastructure category azure risk unknown source community tags ["skill","cloud-infrastructure","azure","mgmt","botservice"]
Azure Bot Service Management SDK for Python
Manage Azure Bot Service resources including bots, channels, and connections.
Installation
pip install azure-mgmt-botservice
pip install azure-identity
Environment Variables
AZURE_SUBSCRIPTION_ID=<your-subscription-id>
AZURE_RESOURCE_GROUP=<your-resource-group>
Authentication
from azure.identity import DefaultAzureCredential
from azure.mgmt.botservice import AzureBotService
import os
credential = DefaultAzureCredential()
client = AzureBotService(
credential=credential,
subscription_id=os.environ["AZURE_SUBSCRIPTION_ID" ]
)
Create a Bot
from azure.mgmt.botservice import AzureBotService
from azure.mgmt.botservice.models import Bot, BotProperties, Sku
from azure.identity import DefaultAzureCredential
import os
credential = DefaultAzureCredential()
client = AzureBotService(
credential=credential,
subscription_id=os.environ["AZURE_SUBSCRIPTION_ID" ]
)
resource_group = os.environ["AZURE_RESOURCE_GROUP" ]
bot_name = "my-chat-bot"
bot = client.bots.create(
resource_group_name=resource_group,
resource_name=bot_name,
parameters=Bot(
location="global" ,
sku=Sku(name="F0" ),
kind="azurebot" ,
properties=BotProperties(
display_name="My Chat Bot" ,
description="A conversational AI bot" ,
endpoint="https://my-bot-app.azurewebsites.net/api/messages" ,
msa_app_id="<your-app-id>" ,
msa_app_type="MultiTenant"
)
)
)
print (f"Bot created: {bot.name} " )
Get Bot Details bot = client.bots.get(
resource_group_name=resource_group,
resource_name=bot_name
)
print (f"Bot: {bot.properties.display_name} " )
print (f"Endpoint: {bot.properties.endpoint} " )
print (f"SKU: {bot.sku.name} " )
List Bots in Resource Group bots = client.bots.list_by_resource_group(resource_group_name=resource_group)
for bot in bots:
print (f"Bot: {bot.name} - {bot.properties.display_name} " )
List All Bots in Subscription all_bots = client.bots.list ()
for bot in all_bots:
print (f"Bot: {bot.name} in {bot.id .split('/' )[4 ]} " )
Update Bot bot = client.bots.update(
resource_group_name=resource_group,
resource_name=bot_name,
properties=BotProperties(
display_name="Updated Bot Name" ,
description="Updated description"
)
)
Delete Bot client.bots.delete(
resource_group_name=resource_group,
resource_name=bot_name
)
Configure Channels
Add Teams Channel from azure.mgmt.botservice.models import (
BotChannel,
MsTeamsChannel,
MsTeamsChannelProperties
)
channel = client.channels.create(
resource_group_name=resource_group,
resource_name=bot_name,
channel_name="MsTeamsChannel" ,
parameters=BotChannel(
location="global" ,
properties=MsTeamsChannel(
properties=MsTeamsChannelProperties(
is_enabled=True
)
)
)
)
Add Direct Line Channel from azure.mgmt.botservice.models import (
BotChannel,
DirectLineChannel,
DirectLineChannelProperties,
DirectLineSite
)
channel = client.channels.create(
resource_group_name=resource_group,
resource_name=bot_name,
channel_name="DirectLineChannel" ,
parameters=BotChannel(
location="global" ,
properties=DirectLineChannel(
properties=DirectLineChannelProperties(
sites=[
DirectLineSite(
site_name="Default Site" ,
is_enabled=True ,
is_v1_enabled=False ,
is_v3_enabled=True
)
]
)
)
)
)
Add Web Chat Channel from azure.mgmt.botservice.models import (
BotChannel,
WebChatChannel,
WebChatChannelProperties,
WebChatSite
)
channel = client.channels.create(
resource_group_name=resource_group,
resource_name=bot_name,
channel_name="WebChatChannel" ,
parameters=BotChannel(
location="global" ,
properties=WebChatChannel(
properties=WebChatChannelProperties(
sites=[
WebChatSite(
site_name="Default Site" ,
is_enabled=True
)
]
)
)
)
)
Get Channel Details channel = client.channels.get(
resource_group_name=resource_group,
resource_name=bot_name,
channel_name="DirectLineChannel"
)
List Channel Keys keys = client.channels.list_with_keys(
resource_group_name=resource_group,
resource_name=bot_name,
channel_name="DirectLineChannel"
)
if hasattr (keys.properties, 'properties' ):
for site in keys.properties.properties.sites:
print (f"Site: {site.site_name} " )
print (f"Key: {site.key} " )
Bot Connections (OAuth)
Create Connection Setting from azure.mgmt.botservice.models import (
ConnectionSetting,
ConnectionSettingProperties
)
connection = client.bot_connection.create(
resource_group_name=resource_group,
resource_name=bot_name,
connection_name="graph-connection" ,
parameters=ConnectionSetting(
location="global" ,
properties=ConnectionSettingProperties(
client_id="<oauth-client-id>" ,
client_secret="<oauth-client-secret>" ,
scopes="User.Read" ,
service_provider_id="<service-provider-id>"
)
)
)
List Connections connections = client.bot_connection.list_by_bot_service(
resource_group_name=resource_group,
resource_name=bot_name
)
for conn in connections:
print (f"Connection: {conn.name} " )
Client Operations Operation Method client.botsBot CRUD operations client.channelsChannel configuration client.bot_connectionOAuth connection settings client.direct_lineDirect Line channel operations client.emailEmail channel operations client.operationsAvailable operations client.host_settingsHost settings operations
SKU Options SKU Description F0Free tier (limited messages) S1Standard tier (unlimited messages)
Channel Types Channel Class Purpose MsTeamsChannelMicrosoft Teams Teams integration DirectLineChannelDirect Line Custom client integration WebChatChannelWeb Chat Embeddable web widget SlackChannelSlack Slack workspace integration FacebookChannelFacebook Messenger integration EmailChannelEmail Email communication
Best Practices
Use DefaultAzureCredential for authentication
Start with F0 SKU for development, upgrade to S1 for production
Store MSA App ID/Secret securely — use Key Vault
Enable only needed channels — reduces attack surface
Rotate Direct Line keys periodically
Use managed identity when possible for bot connections
Configure proper CORS for Web Chat channel
When to Use This skill is applicable to execute the workflow or actions described in the overview.
Connections
Domain: [[Cloud & Infrastruktur]]
Kategorie: [[Microsoft Azure]]
Navigation: [[Skills Uebersicht]], [[Home]]