BotFrameworkAdapter class
Peringatan
API ini sudah tidak digunakan lagi.
Use CloudAdapter instead.
- Memperluas
-
BotAdapter
Konstruktor
| Bot |
Membuat instans baru kelas BotFrameworkAdapter. |
Properti
| is |
Digunakan dalam konteks streaming untuk memeriksa apakah koneksi streaming masih terbuka bagi bot untuk mengirim aktivitas. |
| Token |
Properti yang Diwariskan
| Bot |
|
| Connector |
|
| OAuth |
|
| on |
Metode
| continue |
Secara asinkron melanjutkan percakapan dengan pengguna, mungkin setelah beberapa waktu berlalu. |
| continue |
Secara asinkron melanjutkan percakapan dengan pengguna, mungkin setelah beberapa waktu berlalu. |
| create |
Membuat klien konektor. |
| create |
Buat ConnectorClient dengan ClaimsIdentity. |
| create |
Buat ConnectorClient dengan ClaimsIdentity dan audiens eksplisit. |
| create |
Secara asinkron membuat dan memulai percakapan dengan pengguna di saluran. |
| create |
Secara asinkron membuat dan memulai percakapan dengan pengguna di saluran. |
| delete |
Menghapus aktivitas yang ada secara asinkron. Antarmuka ini mendukung kerangka kerja dan tidak dimaksudkan untuk dipanggil langsung untuk kode Anda. Gunakan TurnContext.deleteActivity untuk menghapus aktivitas dari kode bot Anda. |
| delete |
Secara asinkron menghapus anggota dari percakapan saat ini. |
| emulate |
Secara asinkron mengirimkan kartu OAuth yang ditiru untuk saluran. Metode ini mendukung kerangka kerja dan tidak dimaksudkan untuk dipanggil langsung untuk kode Anda. |
| exchange |
Secara asinkron Melakukan operasi pertukaran token seperti untuk akses menyeluruh. |
| get |
Secara asinkron mengeluarkan pengguna dari server token. |
| get |
|
| get |
Secara asinkron mencantumkan anggota aktivitas tertentu. |
| get |
Secara asinkron mencantumkan anggota percakapan saat ini. |
| get |
Untuk saluran yang ditentukan, secara asinkron mendapatkan halaman percakapan tempat bot ini berpartisipasi. |
| get |
Secara asinkron mendapatkan tautan masuk dari server token yang dapat dikirim sebagai bagian dari SigninCard. |
| get |
|
| get |
Secara asinkron Dapatkan sumber daya masuk mentah untuk dikirim ke pengguna untuk masuk. |
| get |
Secara asinkron mengambil status token untuk setiap koneksi yang dikonfigurasi untuk pengguna tertentu. |
| get |
|
| get |
Secara asinkron mencoba mengambil token untuk pengguna yang berada dalam alur masuk. |
| get |
|
| process(Request, INode |
Tangani koneksi soket web dengan menerapkan fungsi logika ke setiap permintaan streaming. |
| process(Request, Response, (context: Turn |
Proses permintaan web dengan menerapkan fungsi logika. |
| process |
Secara asinkron membuat konteks giliran dan menjalankan alur middleware untuk aktivitas masuk. |
| process |
Secara asinkron membuat konteks giliran dan menjalankan alur middleware untuk aktivitas masuk. |
| process |
Memeriksa validitas permintaan dan mencoba memetakannya titik akhir virtual yang benar, lalu menghasilkan dan mengembalikan respons jika sesuai. |
| send |
Secara asinkron mengirim serangkaian aktivitas keluar ke server saluran. Metode ini mendukung kerangka kerja dan tidak dimaksudkan untuk dipanggil langsung untuk kode Anda. Gunakan metode sendActivity konteks giliran atau mengirim Aktivitas dari kode bot Anda. |
| sign |
Secara asinkron mengeluarkan pengguna dari server token. |
| sign |
|
| update |
Secara asinkron menggantikan aktivitas sebelumnya dengan versi yang diperbarui. Antarmuka ini mendukung kerangka kerja dan tidak dimaksudkan untuk dipanggil langsung untuk kode Anda. Gunakan TurnContext.updateActivity untuk memperbarui aktivitas dari kode bot Anda. |
| use |
Menyambungkan handler ke server Named Pipe dan mulai mendengarkan permintaan masuk. |
| use |
Proses permintaan awal untuk membuat koneksi berumur panjang melalui server streaming. |
Metode yang Diwarisi
| continue |
Secara asinkron melanjutkan percakapan dengan pengguna, mungkin setelah beberapa waktu berlalu. |
| continue |
Secara asinkron melanjutkan percakapan dengan pengguna, mungkin setelah beberapa waktu berlalu. |
| continue |
Secara asinkron melanjutkan percakapan dengan pengguna, mungkin setelah beberapa waktu berlalu. |
| create |
Membuat percakapan pada saluran yang ditentukan. |
| use((context: Turn |
Menambahkan middleware ke alur adaptor. |
Detail Konstruktor
BotFrameworkAdapter(Partial<BotFrameworkAdapterSettings>)
Membuat instans baru kelas BotFrameworkAdapter.
new BotFrameworkAdapter(settings?: Partial<BotFrameworkAdapterSettings>)
Parameter
- settings
-
Partial<BotFrameworkAdapterSettings>
Fakultatif. Pengaturan yang digunakan untuk instans adaptor ini.
Keterangan
Jika parameter settings tidak menyertakan channelService atau nilai openIdMetadata, konstruktor memeriksa variabel lingkungan proses untuk nilai-nilai ini. Nilai-nilai ini dapat diatur ketika bot disediakan di Azure dan jika demikian diperlukan agar bot berfungsi dengan baik di cloud global atau di cloud nasional.
Kelas BotFrameworkAdapterSettings menentukan pengaturan adaptor yang tersedia.
Detail Properti
isStreamingConnectionOpen
Digunakan dalam konteks streaming untuk memeriksa apakah koneksi streaming masih terbuka bagi bot untuk mengirim aktivitas.
boolean isStreamingConnectionOpen
Nilai Properti
boolean
True jika koneksi streaming terbuka, jika tidak salah.
TokenApiClientCredentialsKey
TokenApiClientCredentialsKey: symbol
Nilai Properti
symbol
Detail Properti yang Diwariskan
BotIdentityKey
BotIdentityKey: symbol
Nilai Properti
symbol
Diwariskan Dari BotAdapter.BotIdentityKey
ConnectorClientKey
ConnectorClientKey: symbol
Nilai Properti
symbol
Diwariskan Dari BotAdapter.ConnectorClientKey
OAuthScopeKey
OAuthScopeKey: symbol
Nilai Properti
symbol
Diwariskan Dari BotAdapter.OAuthScopeKey
onTurnError
onTurnError: (context: TurnContext, error: Error) => Promise<void>
Nilai Properti
(context: TurnContext, error: Error) => Promise<void>
Diwariskan Dari BotAdapter.onTurnError
Detail Metode
continueConversation(Partial<ConversationReference>, (context: TurnContext) => Promise<void>)
Secara asinkron melanjutkan percakapan dengan pengguna, mungkin setelah beberapa waktu berlalu.
function continueConversation(reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parameter
- reference
-
Partial<ConversationReference>
Referensi ke percakapan untuk melanjutkan.
- logic
-
(context: TurnContext) => Promise<void>
Metode asinkron untuk memanggil setelah middleware adapter berjalan.
Mengembalikan
Promise<void>
Keterangan
Ini sering disebut sebagai pemberitahuan proaktif , bot dapat secara proaktif mengirim pesan ke percakapan atau pengguna tanpa menunggu pesan masuk. Misalnya, bot dapat menggunakan metode ini untuk mengirim pemberitahuan atau kupon kepada pengguna.
Untuk mengirim pesan proaktif:
- Simpan salinan ConversationReference dari aktivitas masuk. Misalnya, Anda bisa menyimpan referensi percakapan dalam database.
- Panggil metode ini untuk melanjutkan percakapan di lain waktu. Gunakan referensi tersimpan untuk mengakses percakapan.
- Setelah berhasil, adaptor menghasilkan objek TurnContext dan memanggil handler fungsi
logic. Gunakan fungsilogicuntuk mengirim pesan proaktif.
Untuk menyalin referensi dari aktivitas masuk apa pun dalam percakapan, gunakan metode TurnContext.getConversationReference.
Metode ini mirip dengan metode processActivity.
Adaptor membuat TurnContext dan merutekannya melalui middleware sebelum memanggil handler logic. Aktivitas yang dibuat akan memiliki jenis 'peristiwa' dan nama 'continueConversation'.
Misalnya:
server.post('/api/notifyUser', async (req, res) => {
// Lookup previously saved conversation reference.
const reference = await findReference(req.body.refId);
// Proactively notify the user.
if (reference) {
await adapter.continueConversation(reference, async (context) => {
await context.sendActivity(req.body.message);
});
res.send(200);
} else {
res.send(404);
}
});
continueConversation(Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)
Secara asinkron melanjutkan percakapan dengan pengguna, mungkin setelah beberapa waktu berlalu.
function continueConversation(reference: Partial<ConversationReference>, oAuthScope: string, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parameter
- reference
-
Partial<ConversationReference>
(xref:botframework-schema. ConversationReference) percakapan untuk melanjutkan.
- oAuthScope
-
string
Penerima yang dimaksudkan dari setiap aktivitas yang dikirim atau fungsi untuk memanggil untuk melanjutkan percakapan.
- logic
-
(context: TurnContext) => Promise<void>
Fakultatif. Metode asinkron untuk memanggil setelah middleware adapter berjalan.
Mengembalikan
Promise<void>
createConnectorClient(string)
Membuat klien konektor.
function createConnectorClient(serviceUrl: string): ConnectorClient
Parameter
- serviceUrl
-
string
URL layanan klien.
Mengembalikan
ConnectorClient
Keterangan
Ambil alih ini di kelas turunan untuk membuat klien konektor tiruan untuk pengujian unit.
createConnectorClientWithIdentity(string, ClaimsIdentity)
Buat ConnectorClient dengan ClaimsIdentity.
function createConnectorClientWithIdentity(serviceUrl: string, identity: ClaimsIdentity): Promise<ConnectorClient>
Parameter
- serviceUrl
-
string
URL layanan klien.
- identity
-
ClaimsIdentity
ClaimsIdentity
Mengembalikan
Promise<ConnectorClient>
Keterangan
Jika ClaimsIdentity berisi klaim untuk permintaan Keterampilan, buat ConnectorClient untuk digunakan dengan Keterampilan. Mendapatkan audiens yang benar dari ClaimsIdentity, atau properti kredensial instans.
createConnectorClientWithIdentity(string, ClaimsIdentity, string)
Buat ConnectorClient dengan ClaimsIdentity dan audiens eksplisit.
function createConnectorClientWithIdentity(serviceUrl: string, identity: ClaimsIdentity, audience: string): Promise<ConnectorClient>
Parameter
- serviceUrl
-
string
URL layanan klien.
- identity
-
ClaimsIdentity
ClaimsIdentity
- audience
-
string
Penerima pesan ConnectorClient. Biasanya Bot Framework Channel Service atau AppId dari bot lain.
Mengembalikan
Promise<ConnectorClient>
Keterangan
Jika audiens yang dipangkas bukan string panjang bukan nol, audiens akan berasal dari properti ClaimsIdentity atau kredensial instans.
createConversation(Partial<ConversationReference>, (context: TurnContext) => Promise<void>)
Secara asinkron membuat dan memulai percakapan dengan pengguna di saluran.
function createConversation(reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parameter
- reference
-
Partial<ConversationReference>
Referensi untuk percakapan yang akan dibuat.
- logic
-
(context: TurnContext) => Promise<void>
Metode asinkron untuk memanggil setelah middleware adapter berjalan.
Mengembalikan
Promise<void>
janji yang mewakili operasi asinkron
createConversation(Partial<ConversationReference>, Partial<ConversationParameters>, (context: TurnContext) => Promise<void>)
Secara asinkron membuat dan memulai percakapan dengan pengguna di saluran.
function createConversation(reference: Partial<ConversationReference>, parameters: Partial<ConversationParameters>, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parameter
- reference
-
Partial<ConversationReference>
Referensi untuk percakapan yang akan dibuat.
- parameters
-
Partial<ConversationParameters>
Parameter yang digunakan saat membuat percakapan
- logic
-
(context: TurnContext) => Promise<void>
Metode asinkron untuk memanggil setelah middleware adapter berjalan.
Mengembalikan
Promise<void>
janji yang mewakili operasi asinkron
deleteActivity(TurnContext, Partial<ConversationReference>)
Menghapus aktivitas yang ada secara asinkron. Antarmuka ini mendukung kerangka kerja dan tidak dimaksudkan untuk dipanggil langsung untuk kode Anda. Gunakan TurnContext.deleteActivity untuk menghapus aktivitas dari kode bot Anda.
function deleteActivity(context: TurnContext, reference: Partial<ConversationReference>): Promise<void>
Parameter
- context
-
TurnContext
Objek konteks untuk giliran.
- reference
-
Partial<ConversationReference>
Informasi referensi percakapan untuk aktivitas yang akan dihapus.
Mengembalikan
Promise<void>
Keterangan
Tidak semua saluran mendukung operasi ini. Untuk saluran yang tidak, panggilan ini dapat melemparkan pengecualian.
deleteConversationMember(TurnContext, string)
Secara asinkron menghapus anggota dari percakapan saat ini.
function deleteConversationMember(context: TurnContext, memberId: string): Promise<void>
Parameter
- context
-
TurnContext
Objek konteks untuk giliran.
- memberId
-
string
ID anggota yang akan dihapus dari percakapan.
Mengembalikan
Promise<void>
Keterangan
Hapus informasi identitas anggota dari percakapan.
Tidak semua saluran mendukung operasi ini. Untuk saluran yang tidak, panggilan ini dapat melemparkan pengecualian.
emulateOAuthCards(TurnContext | string, boolean)
Secara asinkron mengirimkan kartu OAuth yang ditiru untuk saluran. Metode ini mendukung kerangka kerja dan tidak dimaksudkan untuk dipanggil langsung untuk kode Anda.
function emulateOAuthCards(contextOrServiceUrl: TurnContext | string, emulate: boolean): Promise<void>
Parameter
- contextOrServiceUrl
-
TurnContext | string
URL emulator.
- emulate
-
boolean
true untuk mengirim kartu OAuth yang ditimulasikan ke emulator; atau false untuk tidak mengirim kartu.
Mengembalikan
Promise<void>
Keterangan
Saat menguji bot di Bot Framework Emulator, metode ini dapat meniru interaksi kartu OAuth.
exchangeToken(TurnContext, string, string, TokenExchangeRequest, CoreAppCredentials)
Secara asinkron Melakukan operasi pertukaran token seperti untuk akses menyeluruh.
function exchangeToken(context: TurnContext, connectionName: string, userId: string, tokenExchangeRequest: TokenExchangeRequest, appCredentials?: CoreAppCredentials): Promise<TokenResponse>
Parameter
- context
-
TurnContext
Konteks untuk pergantian percakapan saat ini dengan pengguna.
- connectionName
-
string
Nama koneksi autentikasi yang akan digunakan.
- userId
-
string
Id pengguna yang akan dikaitkan dengan token.
- tokenExchangeRequest
-
TokenExchangeRequest
Detail permintaan pertukaran, baik token untuk ditukar atau uri untuk ditukar.
- appCredentials
-
CoreAppCredentials
Fakultatif. CoreAppCredentials untuk OAuth.
Mengembalikan
Promise<TokenResponse>
getAadTokens(TurnContext, string, string[])
Secara asinkron mengeluarkan pengguna dari server token.
function getAadTokens(context: TurnContext, connectionName: string, resourceUrls: string[]): Promise<[key: string]: TokenResponse>
Parameter
- context
-
TurnContext
Objek konteks untuk giliran.
- connectionName
-
string
Nama koneksi autentikasi yang akan digunakan.
- resourceUrls
-
string[]
Daftar URL sumber daya untuk mengambil token.
Mengembalikan
Promise<[key: string]: TokenResponse>
Peta objek TokenResponse menurut URL sumber daya.
getAadTokens(TurnContext, string, string[], CoreAppCredentials)
function getAadTokens(context: TurnContext, connectionName: string, resourceUrls: string[], oAuthAppCredentials?: CoreAppCredentials): Promise<[key: string]: TokenResponse>
Parameter
- context
-
TurnContext
- connectionName
-
string
- resourceUrls
-
string[]
- oAuthAppCredentials
-
CoreAppCredentials
Mengembalikan
Promise<[key: string]: TokenResponse>
getActivityMembers(TurnContext, string)
Secara asinkron mencantumkan anggota aktivitas tertentu.
function getActivityMembers(context: TurnContext, activityId?: string): Promise<ChannelAccount[]>
Parameter
- context
-
TurnContext
Objek konteks untuk giliran.
- activityId
-
string
Fakultatif. ID aktivitas untuk mendapatkan anggota. Jika tidak ditentukan, ID aktivitas saat ini digunakan.
Mengembalikan
Promise<ChannelAccount[]>
Array ChannelAccount objek untuk pengguna yang terlibat dalam aktivitas tertentu.
Keterangan
Mengembalikan array objek ChannelAccount untuk pengguna yang terlibat dalam aktivitas tertentu.
Ini berbeda dari getConversationMembers karena hanya akan mengembalikan pengguna yang terlibat langsung dalam aktivitas, tidak semua anggota percakapan.
getConversationMembers(TurnContext)
Secara asinkron mencantumkan anggota percakapan saat ini.
function getConversationMembers(context: TurnContext): Promise<ChannelAccount[]>
Parameter
- context
-
TurnContext
Objek konteks untuk giliran.
Mengembalikan
Promise<ChannelAccount[]>
Array objek ChannelAccount untuk semua pengguna yang saat ini terlibat dalam percakapan.
Keterangan
Mengembalikan array objek ChannelAccount untuk semua pengguna yang saat ini terlibat dalam percakapan.
Ini berbeda dari getActivityMembers karena akan mengembalikan semua anggota percakapan, bukan hanya yang terlibat langsung dalam aktivitas tertentu.
getConversations(TurnContext | string, string)
Untuk saluran yang ditentukan, secara asinkron mendapatkan halaman percakapan tempat bot ini berpartisipasi.
function getConversations(contextOrServiceUrl: TurnContext | string, continuationToken?: string): Promise<ConversationsResult>
Parameter
- contextOrServiceUrl
-
TurnContext | string
URL server saluran untuk kueri atau objek TurnContext dari percakapan di saluran.
- continuationToken
-
string
Fakultatif. Token kelanjutan dari halaman hasil sebelumnya.
Hilangkan parameter ini atau gunakan undefined untuk mengambil halaman pertama hasil.
Mengembalikan
Promise<ConversationsResult>
Objek ConversationsResult yang berisi halaman hasil dan token kelanjutan.
Keterangan
Properti percakapan nilai yang berisi halaman ConversationMembers objek. Id setiap objek adalah ID percakapan tempat bot berpartisipasi di saluran ini. Metode ini dapat dipanggil dari luar konteks percakapan, karena hanya URL layanan dan kredensial bot yang diperlukan.
Batch saluran menghasilkan halaman. Jika properti continuationToken hasil tidak kosong, maka ada lebih banyak halaman untuk didapatkan. Gunakan token yang dikembalikan untuk mendapatkan halaman hasil berikutnya.
Jika parameter contextOrServiceUrl adalah TurnContext, URL server saluran diambil dari contextOrServiceUrl.aktivitas .serviceUrl.
getSignInLink(TurnContext, string, AppCredentials, string, string)
Secara asinkron mendapatkan tautan masuk dari server token yang dapat dikirim sebagai bagian dari SigninCard.
function getSignInLink(context: TurnContext, connectionName: string, oAuthAppCredentials?: AppCredentials, userId?: string, finalRedirect?: string): Promise<string>
Parameter
- context
-
TurnContext
Objek konteks untuk giliran.
- connectionName
-
string
Nama koneksi autentikasi yang akan digunakan.
- oAuthAppCredentials
-
AppCredentials
AppCredentials untuk OAuth.
- userId
-
string
Id pengguna yang akan dikaitkan dengan token.
- finalRedirect
-
string
URL akhir yang akan dialihkan oleh alur OAuth.
Mengembalikan
Promise<string>
getSignInLink(TurnContext, string, CoreAppCredentials, string, string)
function getSignInLink(context: TurnContext, connectionName: string, oAuthAppCredentials?: CoreAppCredentials, userId?: string, finalRedirect?: string): Promise<string>
Parameter
- context
-
TurnContext
- connectionName
-
string
- oAuthAppCredentials
-
CoreAppCredentials
- userId
-
string
- finalRedirect
-
string
Mengembalikan
Promise<string>
getSignInResource(TurnContext, string, string, string, CoreAppCredentials)
Secara asinkron Dapatkan sumber daya masuk mentah untuk dikirim ke pengguna untuk masuk.
function getSignInResource(context: TurnContext, connectionName: string, userId?: string, finalRedirect?: string, appCredentials?: CoreAppCredentials): Promise<SignInUrlResponse>
Parameter
- context
-
TurnContext
Objek konteks untuk giliran.
- connectionName
-
string
Nama koneksi autentikasi yang akan digunakan.
- userId
-
string
Id pengguna yang akan dikaitkan dengan token.
- finalRedirect
-
string
URL akhir yang akan dialihkan oleh alur OAuth.
- appCredentials
-
CoreAppCredentials
Fakultatif. CoreAppCredentials untuk OAuth.
Mengembalikan
Promise<SignInUrlResponse>
getTokenStatus(TurnContext, string, string)
Secara asinkron mengambil status token untuk setiap koneksi yang dikonfigurasi untuk pengguna tertentu.
function getTokenStatus(context: TurnContext, userId?: string, includeFilter?: string): Promise<TokenStatus[]>
Parameter
- context
-
TurnContext
Objek konteks untuk giliran.
- userId
-
string
Fakultatif. Jika ada, ID pengguna untuk mengambil status token. Jika tidak, ID pengguna yang mengirim aktivitas saat ini digunakan.
- includeFilter
-
string
Fakultatif. Daftar koneksi yang dipisahkan koma untuk disertakan. Jika ada, parameter includeFilter membatasi token yang dikembalikan metode ini.
Mengembalikan
Promise<TokenStatus[]>
Objek TokenStatus diambil.
getTokenStatus(TurnContext, string, string, CoreAppCredentials)
function getTokenStatus(context: TurnContext, userId?: string, includeFilter?: string, oAuthAppCredentials?: CoreAppCredentials): Promise<TokenStatus[]>
Parameter
- context
-
TurnContext
- userId
-
string
- includeFilter
-
string
- oAuthAppCredentials
-
CoreAppCredentials
Mengembalikan
Promise<TokenStatus[]>
getUserToken(TurnContext, string, string)
Secara asinkron mencoba mengambil token untuk pengguna yang berada dalam alur masuk.
function getUserToken(context: TurnContext, connectionName: string, magicCode?: string): Promise<TokenResponse>
Parameter
- context
-
TurnContext
Objek konteks untuk giliran.
- connectionName
-
string
Nama koneksi autentikasi yang akan digunakan.
- magicCode
-
string
Fakultatif. Kode validasi yang dimasukkan pengguna.
Mengembalikan
Promise<TokenResponse>
Objek TokenResponse yang berisi token pengguna.
getUserToken(TurnContext, string, string, CoreAppCredentials)
function getUserToken(context: TurnContext, connectionName: string, magicCode?: string, oAuthAppCredentials?: CoreAppCredentials): Promise<TokenResponse>
Parameter
- context
-
TurnContext
- connectionName
-
string
- magicCode
-
string
- oAuthAppCredentials
-
CoreAppCredentials
Mengembalikan
Promise<TokenResponse>
process(Request, INodeSocket, INodeBuffer, (context: TurnContext) => Promise<void>)
Tangani koneksi soket web dengan menerapkan fungsi logika ke setiap permintaan streaming.
function process(req: Request, socket: INodeSocket, head: INodeBuffer, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parameter
- req
- Request
Permintaan HTTP masuk
- socket
-
INodeSocket
INodeSocket yang sesuai
- head
-
INodeBuffer
INodeBuffer yang sesuai
- logic
-
(context: TurnContext) => Promise<void>
Fungsi logika yang akan diterapkan
Mengembalikan
Promise<void>
janji yang mewakili operasi asinkron.
process(Request, Response, (context: TurnContext) => Promise<void>)
Proses permintaan web dengan menerapkan fungsi logika.
function process(req: Request, res: Response, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parameter
- req
- Request
Permintaan HTTP masuk
- logic
-
(context: TurnContext) => Promise<void>
Fungsi logika yang akan diterapkan
Mengembalikan
Promise<void>
janji yang mewakili operasi asinkron.
processActivity(WebRequest, WebResponse, (context: TurnContext) => Promise<any>)
Secara asinkron membuat konteks giliran dan menjalankan alur middleware untuk aktivitas masuk.
function processActivity(req: WebRequest, res: WebResponse, logic: (context: TurnContext) => Promise<any>): Promise<void>
Parameter
- req
- WebRequest
Objek permintaan gaya Ekspres atau Restify.
- res
- WebResponse
Objek respons gaya Ekspres atau Restify.
- logic
-
(context: TurnContext) => Promise<any>
Fungsi untuk memanggil di akhir alur middleware.
Mengembalikan
Promise<void>
Keterangan
Ini adalah cara utama bot menerima pesan masuk dan menentukan giliran dalam percakapan. Metode ini:
- Mengurai dan mengautentikasi permintaan masuk.
- Aktivitas dibaca dari isi permintaan masuk. Kesalahan akan dikembalikan jika aktivitas tidak dapat diurai.
- Identitas pengirim diautentikasi sebagai Emulator atau server Microsoft yang valid, menggunakan
appIdbot danappPassword. Permintaan ditolak jika identitas pengirim tidak diverifikasi.
- Membuat objek TurnContext untuk aktivitas yang diterima.
- Objek ini dibungkus dengan proksi dapat dicabut.
- Ketika metode ini selesai, proksi dicabut.
- Mengirim konteks giliran melalui alur middleware adapter.
- Mengirim konteks giliran ke fungsi
logic.- Bot dapat melakukan perutean atau pemrosesan tambahan saat ini.
Mengembalikan janji (atau menyediakan handler
async) akan menyebabkan adaptor menunggu operasi asinkron selesai. - Setelah fungsi
logicselesai, rantai janji yang disiapkan oleh middleware diselesaikan.
- Bot dapat melakukan perutean atau pemrosesan tambahan saat ini.
Mengembalikan janji (atau menyediakan handler
Ujung
Jika Anda melihat kesalahan TypeError: Cannot perform 'set' on a proxy that has been revoked di output konsol bot, kemungkinan penyebabnya adalah fungsi asinkron digunakan tanpa menggunakan kata kunci await. Pastikan semua fungsi asinkron menggunakan tunggu!
Middleware dapat sirkuit pendek giliran. Ketika ini terjadi, middleware berikutnya dan fungsi logic tidak dipanggil; namun, semua middleware sebelum titik ini masih berjalan hingga selesai.
Untuk informasi selengkapnya tentang alur middleware, lihat artikel cara kerja bot dan middleware.
Gunakan adaptor menggunakan metode untuk menambahkan middleware ke adaptor.
Misalnya:
server.post('/api/messages', (req, res) => {
// Route received request to adapter for processing
adapter.processActivity(req, res, async (context) => {
// Process any messages received
if (context.activity.type === ActivityTypes.Message) {
await context.sendActivity(`Hello World`);
}
});
});
processActivityDirect(Activity, (context: TurnContext) => Promise<any>)
Secara asinkron membuat konteks giliran dan menjalankan alur middleware untuk aktivitas masuk.
function processActivityDirect(activity: Activity, logic: (context: TurnContext) => Promise<any>): Promise<void>
Parameter
- activity
-
Activity
Aktivitas yang akan diproses.
- logic
-
(context: TurnContext) => Promise<any>
Fungsi untuk memanggil di akhir alur middleware.
Mengembalikan
Promise<void>
Keterangan
Ini adalah cara utama bot menerima pesan masuk dan menentukan giliran dalam percakapan. Metode ini:
- Membuat objek TurnContext untuk aktivitas yang diterima.
- Objek ini dibungkus dengan proksi dapat dicabut.
- Ketika metode ini selesai, proksi dicabut.
- Mengirim konteks giliran melalui alur middleware adapter.
- Mengirim konteks giliran ke fungsi
logic.- Bot dapat melakukan perutean atau pemrosesan tambahan saat ini.
Mengembalikan janji (atau menyediakan handler
async) akan menyebabkan adaptor menunggu operasi asinkron selesai. - Setelah fungsi
logicselesai, rantai janji yang disiapkan oleh middleware diselesaikan.
- Bot dapat melakukan perutean atau pemrosesan tambahan saat ini.
Mengembalikan janji (atau menyediakan handler
Middleware dapat sirkuit pendek giliran. Ketika ini terjadi, middleware berikutnya dan fungsi logic tidak dipanggil; namun, semua middleware sebelum titik ini masih berjalan hingga selesai.
Untuk informasi selengkapnya tentang alur middleware, lihat artikel cara kerja bot dan middleware.
Gunakan adaptor menggunakan metode untuk menambahkan middleware ke adaptor.
processRequest(IReceiveRequest)
Memeriksa validitas permintaan dan mencoba memetakannya titik akhir virtual yang benar, lalu menghasilkan dan mengembalikan respons jika sesuai.
function processRequest(request: IReceiveRequest): Promise<StreamingResponse>
Parameter
- request
-
IReceiveRequest
ReceiveRequest dari saluran yang terhubung.
Mengembalikan
Promise<StreamingResponse>
Respons yang dibuat oleh BotAdapter untuk dikirim ke klien yang berasal dari permintaan.
sendActivities(TurnContext, Partial<Activity>[])
Secara asinkron mengirim serangkaian aktivitas keluar ke server saluran. Metode ini mendukung kerangka kerja dan tidak dimaksudkan untuk dipanggil langsung untuk kode Anda. Gunakan metode sendActivity konteks giliran atau mengirim Aktivitas dari kode bot Anda.
function sendActivities(context: TurnContext, activities: Partial<Activity>[]): Promise<ResourceResponse[]>
Parameter
- context
-
TurnContext
Objek konteks untuk giliran.
- activities
-
Partial<Activity>[]
Kegiatan yang akan dikirim.
Mengembalikan
Promise<ResourceResponse[]>
Array ResourceResponse
Keterangan
Aktivitas akan dikirim satu demi satu sesuai urutan penerimaannya. Objek respons akan dikembalikan untuk setiap aktivitas yang dikirim. Untuk aktivitas message, ini akan berisi ID pesan yang dikirimkan.
signOutUser(TurnContext, string, string)
Secara asinkron mengeluarkan pengguna dari server token.
function signOutUser(context: TurnContext, connectionName?: string, userId?: string): Promise<void>
Parameter
- context
-
TurnContext
Objek konteks untuk giliran.
- connectionName
-
string
Nama koneksi autentikasi yang akan digunakan.
- userId
-
string
ID pengguna untuk keluar.
Mengembalikan
Promise<void>
signOutUser(TurnContext, string, string, CoreAppCredentials)
function signOutUser(context: TurnContext, connectionName?: string, userId?: string, oAuthAppCredentials?: CoreAppCredentials): Promise<void>
Parameter
- context
-
TurnContext
- connectionName
-
string
- userId
-
string
- oAuthAppCredentials
-
CoreAppCredentials
Mengembalikan
Promise<void>
updateActivity(TurnContext, Partial<Activity>)
Secara asinkron menggantikan aktivitas sebelumnya dengan versi yang diperbarui. Antarmuka ini mendukung kerangka kerja dan tidak dimaksudkan untuk dipanggil langsung untuk kode Anda. Gunakan TurnContext.updateActivity untuk memperbarui aktivitas dari kode bot Anda.
function updateActivity(context: TurnContext, activity: Partial<Activity>): Promise<ResourceResponse | void>
Parameter
- context
-
TurnContext
Objek konteks untuk giliran.
- activity
-
Partial<Activity>
Versi aktivitas yang diperbarui untuk diganti.
Mengembalikan
Promise<ResourceResponse | void>
Promise yang mewakili ResourceResponse untuk operasi tersebut.
Keterangan
Tidak semua saluran mendukung operasi ini. Untuk saluran yang tidak, panggilan ini dapat melemparkan pengecualian.
useNamedPipe((context: TurnContext) => Promise<any>, string, number, () => void)
Menyambungkan handler ke server Named Pipe dan mulai mendengarkan permintaan masuk.
function useNamedPipe(logic: (context: TurnContext) => Promise<any>, pipeName?: string, retryCount?: number, onListen?: () => void): Promise<void>
Parameter
- logic
-
(context: TurnContext) => Promise<any>
Logika yang akan menangani permintaan masuk.
- pipeName
-
string
Nama pipa bernama yang akan digunakan saat membuat server.
- retryCount
-
number
Berapa kali mencoba mengikat pipa masuk dan keluar
- onListen
-
() => void
Panggilan balik opsional yang diaktifkan sekali ketika server mendengarkan pada pipa masuk dan keluar
Mengembalikan
Promise<void>
useWebSocket(WebRequest, INodeSocket, INodeBuffer, (context: TurnContext) => Promise<any>)
Proses permintaan awal untuk membuat koneksi berumur panjang melalui server streaming.
function useWebSocket(req: WebRequest, socket: INodeSocket, head: INodeBuffer, logic: (context: TurnContext) => Promise<any>): Promise<void>
Parameter
- req
- WebRequest
Permintaan koneksi.
- socket
-
INodeSocket
Koneksi soket mentah antara bot (server) dan channel/caller (klien).
- head
-
INodeBuffer
Paket pertama dari aliran yang ditingkatkan.
- logic
-
(context: TurnContext) => Promise<any>
Logika yang menangani permintaan streaming masuk selama masa pakai koneksi WebSocket.
Mengembalikan
Promise<void>
Detail Metode yang Diwarisi
continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)
Secara asinkron melanjutkan percakapan dengan pengguna, mungkin setelah beberapa waktu berlalu.
function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parameter
- claimsIdentity
-
ClaimsIdentity
ClaimsIdentity untuk percakapan tersebut.
- reference
-
Partial<ConversationReference>
Percakapan parsial percakapan untuk melanjutkan.
- logic
-
(context: TurnContext) => Promise<void>
Metode asinkron untuk memanggil setelah middleware adapter berjalan.
Mengembalikan
Promise<void>
janji yang mewakili operasi asinkron
Diwariskan Dari BotAdapter.continueConversationAsync
continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)
Secara asinkron melanjutkan percakapan dengan pengguna, mungkin setelah beberapa waktu berlalu.
function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, audience: string, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parameter
- claimsIdentity
-
ClaimsIdentity
ClaimsIdentity untuk percakapan tersebut.
- reference
-
Partial<ConversationReference>
Percakapan parsial percakapan untuk melanjutkan.
- audience
-
string
Nilai yang menandakan penerima pesan proaktif.
- logic
-
(context: TurnContext) => Promise<void>
Metode asinkron untuk memanggil setelah middleware adapter berjalan.
Mengembalikan
Promise<void>
janji yang mewakili operasi asinkron
Diwariskan Dari BotAdapter.continueConversationAsync
continueConversationAsync(string, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)
Secara asinkron melanjutkan percakapan dengan pengguna, mungkin setelah beberapa waktu berlalu.
function continueConversationAsync(botAppId: string, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parameter
- botAppId
-
string
ID aplikasi bot. Parameter ini diabaikan dalam penyewa tunggal Adapter (Konsol, Pengujian, dll) tetapi sangat penting untuk BotFrameworkAdapter yang sadar multi-penyewa.
- reference
-
Partial<ConversationReference>
Percakapan parsial percakapan untuk melanjutkan.
- logic
-
(context: TurnContext) => Promise<void>
Metode asinkron untuk memanggil setelah middleware adapter berjalan.
Mengembalikan
Promise<void>
janji yang mewakili operasi asinkron
Diwariskan Dari BotAdapter.continueConversationAsync
createConversationAsync(string, string, string, string, ConversationParameters, (context: TurnContext) => Promise<void>)
Membuat percakapan pada saluran yang ditentukan.
function createConversationAsync(_botAppId: string, _channelId: string, _serviceUrl: string, _audience: string, _conversationParameters: ConversationParameters, _logic: (context: TurnContext) => Promise<void>): Promise<void>
Parameter
- _botAppId
-
string
ID aplikasi bot.
- _channelId
-
string
ID untuk saluran.
- _serviceUrl
-
string
ID untuk saluran.
- _audience
-
string
Audiens untuk konektor.
- _conversationParameters
-
ConversationParameters
Informasi percakapan yang digunakan untuk membuat percakapan
- _logic
-
(context: TurnContext) => Promise<void>
Metode untuk memanggil giliran bot yang dihasilkan.
Mengembalikan
Promise<void>
Janji yang mewakili operasi asinkron
Keterangan
Untuk memulai percakapan, bot Anda harus mengetahui informasi akunnya dan informasi akun pengguna di saluran tersebut. Sebagian besar _channels hanya mendukung memulai percakapan pesan langsung (non-grup).
Adaptor mencoba membuat percakapan baru di saluran, lalu mengirim aktivitas conversationUpdate melalui alur middleware-nya ke metode logika.
Jika percakapan dibuat dengan pengguna yang ditentukan, ID konversi aktivitas akan berisi ID percakapan baru.
Diwariskan Dari BotAdapter.createConversationAsync
use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])
Menambahkan middleware ke alur adaptor.
function use(middlewares: (context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]): this
Parameter
- middlewares
-
(context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]
Penghandel middleware atau middleware yang akan ditambahkan.
Mengembalikan
this
Objek adapter yang diperbarui.
Keterangan
Middleware ditambahkan ke adaptor pada waktu inisialisasi. Setiap giliran, adaptor memanggil middleware-nya dalam urutan Anda menambahkannya.
Diwariskan Dari BotAdapter.use