Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The BotBuilder proactive message flow requires storing a conversation reference.
In Teams SDK, we expose a SendAsync method in the App class, almost identical to the one
passed into our activity handlers through our context. This method accepts a conversationId, so storing just that is enough!
The BotBuilder proactive message flow requires storing a conversation reference.
In Teams SDK, we expose a send method in the App class, almost identical to the one
passed into our activity handlers through our context. This method accepts a conversation_id, so storing just that is enough!
The BotBuilder proactive message flow requires storing a conversation reference.
In Teams SDK, we expose a send method in the App class, almost identical to the one
passed into our activity handlers through our context. This method accepts a conversationId, so storing just that is enough!
// highlight-error-start
- using Microsoft.Bot.Builder;
- using Microsoft.Bot.Builder.Integration.AspNet.Core;
- using Microsoft.Bot.Schema;
// highlight-error-end
// highlight-success-line
+ using Microsoft.Teams.Apps;
// highlight-error-start
- var conversationReference = new ConversationReference
- {
- ServiceUrl = "...",
- Bot = new ChannelAccount { ... },
- ChannelId = "msteams",
- Conversation = new ConversationAccount { ... },
- User = new ChannelAccount { ... }
- };
-
- await adapter.ContinueConversationAsync(
- configuration["MicrosoftAppId"],
- conversationReference,
- async (turnContext, cancellationToken) =>
- {
- await turnContext.SendActivityAsync("proactive hello", cancellationToken: cancellationToken);
- },
- default);
// highlight-error-end
// highlight-success-start
+ var teams = app.UseTeams();
+ await teams.Send("your-conversation-id", "proactive hello");
// highlight-success-end
# highlight-error-start
- from botbuilder.core import TurnContext
- from botbuilder.integration.aiohttp import CloudAdapter, ConfigurationBotFrameworkAuthentication
- from botbuilder.schema import ChannelAccount, ConversationAccount, ConversationReference
# highlight-error-end
# highlight-success-line
+ from microsoft_teams.apps import App
# highlight-error-start
- adapter = CloudAdapter(ConfigurationBotFrameworkAuthentication(config))
# highlight-error-end
# highlight-success-line
+ app = App()
# highlight-error-start
- conversation_reference = ConversationReference(
- service_url="...",
- bot=ChannelAccount(...),
- channel_id="msteams",
- conversation=ConversationAccount(...),
- user=ChannelAccount(...)
- )
-
- async def send_proactive(turn_context: TurnContext):
- await turn_context.send_activity("proactive hello")
-
- await adapter.continue_conversation(
- conversation_reference,
- send_proactive,
- )
# highlight-error-end
# highlight-success-start
+ await app.send("your-conversation-id", "proactive hello")
# highlight-success-end
// highlight-error-start
- import {
- CloudAdapter,
- ConfigurationBotFrameworkAuthentication,
- ConversationReference,
- } from 'botbuilder';
// highlight-error-end
// highlight-success-line
+ import { App } from '@microsoft/teams.apps';
// highlight-error-start
- const auth = new ConfigurationBotFrameworkAuthentication(process.env);
- const adapter = new CloudAdapter(auth);
// highlight-error-end
// highlight-success-line
+ const app = new App();
(async () => {
// highlight-error-start
- const conversationReference: ConversationReference = {
- serviceUrl: '...',
- bot: { ... },
- channelId: 'msteams',
- conversation: { ... },
- user: { ... },
- };
- await adapter.continueConversationAsync(process.env.MicrosoftAppId ?? '', conversationReference, async context => {
- await context.sendActivity('proactive hello');
- });
// highlight-error-end
// highlight-success-start
+ await app.start();
+ await app.send('your-conversation-id', 'proactive hello');
// highlight-success-end
}());