Bagikan melalui


BotFrameworkAdapter class

Peringatan

API ini sudah tidak digunakan lagi.

Use CloudAdapter instead.

Memperluas

BotAdapter

Konstruktor

BotFrameworkAdapter(Partial<BotFrameworkAdapterSettings>)

Membuat instans baru kelas BotFrameworkAdapter.

Properti

isStreamingConnectionOpen

Digunakan dalam konteks streaming untuk memeriksa apakah koneksi streaming masih terbuka bagi bot untuk mengirim aktivitas.

TokenApiClientCredentialsKey

Properti yang Diwariskan

BotIdentityKey
ConnectorClientKey
OAuthScopeKey
onTurnError

Metode

continueConversation(Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

Secara asinkron melanjutkan percakapan dengan pengguna, mungkin setelah beberapa waktu berlalu.

continueConversation(Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)

Secara asinkron melanjutkan percakapan dengan pengguna, mungkin setelah beberapa waktu berlalu.

createConnectorClient(string)

Membuat klien konektor.

createConnectorClientWithIdentity(string, ClaimsIdentity)

Buat ConnectorClient dengan ClaimsIdentity.

createConnectorClientWithIdentity(string, ClaimsIdentity, string)

Buat ConnectorClient dengan ClaimsIdentity dan audiens eksplisit.

createConversation(Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

Secara asinkron membuat dan memulai percakapan dengan pengguna di saluran.

createConversation(Partial<ConversationReference>, Partial<ConversationParameters>, (context: TurnContext) => Promise<void>)

Secara asinkron membuat dan memulai percakapan dengan pengguna di saluran.

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.

deleteConversationMember(TurnContext, string)

Secara asinkron menghapus anggota dari percakapan saat ini.

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.

exchangeToken(TurnContext, string, string, TokenExchangeRequest, CoreAppCredentials)

Secara asinkron Melakukan operasi pertukaran token seperti untuk akses menyeluruh.

getAadTokens(TurnContext, string, string[])

Secara asinkron mengeluarkan pengguna dari server token.

getAadTokens(TurnContext, string, string[], CoreAppCredentials)
getActivityMembers(TurnContext, string)

Secara asinkron mencantumkan anggota aktivitas tertentu.

getConversationMembers(TurnContext)

Secara asinkron mencantumkan anggota percakapan saat ini.

getConversations(TurnContext | string, string)

Untuk saluran yang ditentukan, secara asinkron mendapatkan halaman percakapan tempat bot ini berpartisipasi.

getSignInLink(TurnContext, string, AppCredentials, string, string)

Secara asinkron mendapatkan tautan masuk dari server token yang dapat dikirim sebagai bagian dari SigninCard.

getSignInLink(TurnContext, string, CoreAppCredentials, string, string)
getSignInResource(TurnContext, string, string, string, CoreAppCredentials)

Secara asinkron Dapatkan sumber daya masuk mentah untuk dikirim ke pengguna untuk masuk.

getTokenStatus(TurnContext, string, string)

Secara asinkron mengambil status token untuk setiap koneksi yang dikonfigurasi untuk pengguna tertentu.

getTokenStatus(TurnContext, string, string, CoreAppCredentials)
getUserToken(TurnContext, string, string)

Secara asinkron mencoba mengambil token untuk pengguna yang berada dalam alur masuk.

getUserToken(TurnContext, string, string, CoreAppCredentials)
process(Request, INodeSocket, INodeBuffer, (context: TurnContext) => Promise<void>)

Tangani koneksi soket web dengan menerapkan fungsi logika ke setiap permintaan streaming.

process(Request, Response, (context: TurnContext) => Promise<void>)

Proses permintaan web dengan menerapkan fungsi logika.

processActivity(WebRequest, WebResponse, (context: TurnContext) => Promise<any>)

Secara asinkron membuat konteks giliran dan menjalankan alur middleware untuk aktivitas masuk.

processActivityDirect(Activity, (context: TurnContext) => Promise<any>)

Secara asinkron membuat konteks giliran dan menjalankan alur middleware untuk aktivitas masuk.

processRequest(IReceiveRequest)

Memeriksa validitas permintaan dan mencoba memetakannya titik akhir virtual yang benar, lalu menghasilkan dan mengembalikan respons jika sesuai.

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.

signOutUser(TurnContext, string, string)

Secara asinkron mengeluarkan pengguna dari server token.

signOutUser(TurnContext, string, string, CoreAppCredentials)
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.

useNamedPipe((context: TurnContext) => Promise<any>, string, number, () => void)

Menyambungkan handler ke server Named Pipe dan mulai mendengarkan permintaan masuk.

useWebSocket(WebRequest, INodeSocket, INodeBuffer, (context: TurnContext) => Promise<any>)

Proses permintaan awal untuk membuat koneksi berumur panjang melalui server streaming.

Metode yang Diwarisi

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

Secara asinkron melanjutkan percakapan dengan pengguna, mungkin setelah beberapa waktu berlalu.

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)

Secara asinkron melanjutkan percakapan dengan pengguna, mungkin setelah beberapa waktu berlalu.

continueConversationAsync(string, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

Secara asinkron melanjutkan percakapan dengan pengguna, mungkin setelah beberapa waktu berlalu.

createConversationAsync(string, string, string, string, ConversationParameters, (context: TurnContext) => Promise<void>)

Membuat percakapan pada saluran yang ditentukan.

use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])

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:

  1. Simpan salinan ConversationReference dari aktivitas masuk. Misalnya, Anda bisa menyimpan referensi percakapan dalam database.
  2. Panggil metode ini untuk melanjutkan percakapan di lain waktu. Gunakan referensi tersimpan untuk mengakses percakapan.
  3. Setelah berhasil, adaptor menghasilkan objek TurnContext dan memanggil handler fungsi logic. Gunakan fungsi logic untuk 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

Instans 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.

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>

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>

Objek BotSignInGetSignInResourceResponse.

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

res
Response

Respons HTTP yang sesuai

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:

  1. 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 appId bot dan appPassword. Permintaan ditolak jika identitas pengirim tidak diverifikasi.
  2. Membuat objek TurnContext untuk aktivitas yang diterima.
    • Objek ini dibungkus dengan proksi dapat dicabut.
    • Ketika metode ini selesai, proksi dicabut.
  3. Mengirim konteks giliran melalui alur middleware adapter.
  4. 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 logic selesai, rantai janji yang disiapkan oleh middleware diselesaikan.

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:

  1. Membuat objek TurnContext untuk aktivitas yang diterima.
    • Objek ini dibungkus dengan proksi dapat dicabut.
    • Ketika metode ini selesai, proksi dicabut.
  2. Mengirim konteks giliran melalui alur middleware adapter.
  3. 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 logic selesai, rantai janji yang disiapkan oleh middleware diselesaikan.

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