本文整理汇总了TypeScript中botbuilder.BotFrameworkAdapter类的典型用法代码示例。如果您正苦于以下问题:TypeScript BotFrameworkAdapter类的具体用法?TypeScript BotFrameworkAdapter怎么用?TypeScript BotFrameworkAdapter使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了BotFrameworkAdapter类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: function
enum Intents {
Book_Table = "Book_Table",
Greeting = "Greeting",
None = "None",
Who_are_you_intent = "Who_are_you_intent"
};
// Create server
let server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, function () {
console.log(`${server.name} listening to ${server.url}`);
});
// Create adapter
const adapter = new BotFrameworkAdapter( {
appId: process.env.MICROSOFT_APP_ID,
appPassword: process.env.MICROSOFT_APP_PASSWORD
});
// Add conversation state middleware
interface CafeBotConvState {
dialogStack: any[];
cafeLocation: string;
dateTime: string;
partySize: string;
Name: string;
}
const conversationState = new ConversationState<CafeBotConvState>(new MemoryStorage());
adapter.use(conversationState);
// Create empty dialog set
const dialogs = new DialogSet();
示例2: async
server.post('/api/messages', (req, res) => {
// Route received request to adapter for processing
adapter.processActivity(req, res, async (context) => {
const isMessage = context.activity.type === 'message';
// Create dialog context
const state = conversationState.get(context);
const dc = dialogs.createContext(context, state);
if (!isMessage) {
await context.sendActivity(`[${context.activity.type} event detected]`);
}
// Check to see if anyone replied.
if (!context.responded) {
await dc.continue();
// if the dialog didn't send a response
if (!context.responded && isMessage) {
await luisRec.recognize(context).then(async (res : any) =>
{
var typedresult = res as CafeLUISModel;
let topIntent = LuisRecognizer.topIntent(res);
switch (topIntent)
{
case Intents.Book_Table: {
await dc.begin('reserveTable', typedresult);
break;
}
case Intents.Greeting: {
await context.sendActivity("Hello!");
break;
}
case Intents.Who_are_you_intent: {
await context.sendActivity("I'm the Contoso Cafe bot.");
break;
}
default: {
await dc.begin('default', topIntent);
break;
}
}
}, (err) => {
// there was some error
console.log(err);
}
);
}
}
});
});
示例3: async
server.post('/api/messages', (req, res) => {
// Route received request to adapter for processing
try {
console.log('POST /api/messages');
adapter.processActivity(req, res, async (context) => {
if (context.activity.type === 'message') {
console.log('activity type == message');
const state = conversationState.get(context);
const count = state.count === undefined ? state.count = 0 : ++state.count;
await context.sendActivity(`${count}: You said "${context.activity.text}"`);
} else {
console.log(`Replying: [${context.activity.type} event detected]`)
await context.sendActivity(`[${context.activity.type} event detected]`);
}
});
} catch (err) {
console.log(err)
}
});
示例4: handleActivity
server.post('/api/messages', (request, response, next) => {
cloudAdapter.processActivity(request, response, async (context) => {
await handleActivity(context);
next();
});
});