ActivityContext Classe

Oggetto contesto passato ai gestori attività con supporto middleware.

Costruttore

ActivityContext(activity: T, app_id: str, storage: Storage[str, Any], api: ApiClient, user_token: str | None, conversation_ref: ConversationReference, is_signed_in: bool, connection_name: str, activity_sender: ActivitySender, app_token: str | StringLike | Callable[[], str | StringLike | None | Awaitable[str | StringLike | None]] | None, cloud: CloudEnvironment = CloudEnvironment(login_endpoint='https://login.microsoftonline.com', login_tenant='botframework.com', bot_scope='https://api.botframework.com/.default', token_service_url='https://token.botframework.com', openid_metadata_url='https://login.botframework.com/v1/.well-known/openidconfiguration', token_issuer='https://api.botframework.com', graph_scope='https://graph.microsoft.com/.default'))

Parametri

Nome Descrizione
activity
Necessario
app_id
Necessario
storage
Necessario
api
Necessario
user_token
Necessario
conversation_ref
Necessario
is_signed_in
Necessario
connection_name
Necessario
activity_sender
Necessario
app_token
Necessario
cloud
Valore predefinito: CloudEnvironment(login_endpoint='https://login.microsoftonline.com', login_tenant='botframework.com', bot_scope='https://api.botframework.com/.default', token_service_url='https://token.botframework.com', openid_metadata_url='https://login.botframework.com/v1/.well-known/openidconfiguration', token_issuer='https://api.botframework.com', graph_scope='https://graph.microsoft.com/.default')

Metodi

next

Chiamare il middleware successivo nella catena.

quote

Inviare un messaggio alla conversazione con un riferimento al messaggio tra virgolette anteporto al testo. Teams esegue il rendering del messaggio tra virgolette come bolla di anteprima sopra il testo della risposta.

Avvertimento

Presto disponibili

Questa API sarà presto disponibile e potrebbe cambiare in futuro.

Diagnostica: ExperimentalTeamsQuotedReplies

reply

Inviare un messaggio nella conversazione corrente con una citazione visiva del messaggio in ingresso.

Nei canali, invia al thread corrente con una risposta tra virgolette. In altri ambiti, invia con una risposta tra virgolette. Per inviare senza virgolette, usare send.

send

Inviare un messaggio nella conversazione corrente senza virgolette.

Nei canali, invia al thread corrente. Negli ambiti che non supportano il threading (chat di gruppo, riunioni), invia come normale messaggio. Per inviare con un'offerta visiva del messaggio in ingresso, usare reply.

set_next

Impostare il gestore successivo nella catena middleware.

sign_in

Avviare un flusso di accesso per l'utente.

sign_out

Disconnettere l'utente cancellando il token.

Questo metodo rimuoverà il token dell'utente dalla risorsa di archiviazione.

next

Chiamare il middleware successivo nella catena.

async next() -> None

quote

Inviare un messaggio alla conversazione con un riferimento al messaggio tra virgolette anteporto al testo. Teams esegue il rendering del messaggio tra virgolette come bolla di anteprima sopra il testo della risposta.

Avvertimento

Presto disponibili

Questa API sarà presto disponibile e potrebbe cambiare in futuro.

Diagnostica: ExperimentalTeamsQuotedReplies

async quote(message_id: str, input: str | MessageActivityInput | MessageReactionActivityInput | TypingActivityInput) -> SentActivity

Parametri

Nome Descrizione
message_id
Necessario

ID del messaggio da citare

input
Necessario

Testo o attività della risposta: un segnaposto di virgolette per message_id verrà anteposto al testo

Valori restituiti

Tipo Descrizione

Attività inviata

reply

Inviare un messaggio nella conversazione corrente con una citazione visiva del messaggio in ingresso.

Nei canali, invia al thread corrente con una risposta tra virgolette. In altri ambiti, invia con una risposta tra virgolette. Per inviare senza virgolette, usare send.

async reply(input: str | MessageActivityInput | MessageReactionActivityInput | TypingActivityInput) -> SentActivity

Parametri

Nome Descrizione
input
Necessario

send

Inviare un messaggio nella conversazione corrente senza virgolette.

Nei canali, invia al thread corrente. Negli ambiti che non supportano il threading (chat di gruppo, riunioni), invia come normale messaggio. Per inviare con un'offerta visiva del messaggio in ingresso, usare reply.

async send(message: str | MessageActivityInput | MessageReactionActivityInput | TypingActivityInput | AdaptiveCard, conversation_ref: ConversationReference | None = None) -> SentActivity

Parametri

Nome Descrizione
message
Necessario

Il messaggio da inviare può essere una stringa, ActivityParams o AdaptiveCard

conversation_ref

Riferimento facoltativo alla conversazione da inviare a una conversazione o a un thread diverso

Valore predefinito: None

set_next

Impostare il gestore successivo nella catena middleware.

set_next(handler: Callable[[], Awaitable[None]]) -> None

Parametri

Nome Descrizione
handler
Necessario

sign_in

Avviare un flusso di accesso per l'utente.

async sign_in(options: SignInOptions | None = None) -> str | None

Parametri

Nome Descrizione
options

Opzioni di accesso facoltative per personalizzare il flusso

Valore predefinito: None

Valori restituiti

Tipo Descrizione

Token se già disponibile; in caso contrario, Nessuna dopo l'invio della scheda OAuth

sign_out

Disconnettere l'utente cancellando il token.

Questo metodo rimuoverà il token dell'utente dalla risorsa di archiviazione.

async sign_out() -> None

Attributi

app_graph

Ottenere un client Microsoft Graph configurato con il token dell'app.

Questo client può essere usato per le operazioni solo app che non richiedono il contesto utente.

Eccezioni

Tipo Descrizione

Se non è disponibile alcun token dell'app.

Se non è possibile creare il client del grafico.

Se le dipendenze del grafo non sono installate.

user_graph

Ottenere un client Microsoft Graph configurato con il token dell'utente.

Eccezioni

Tipo Descrizione

Se l'utente non ha eseguito l'accesso o non ha un token valido.

Se non è possibile creare il client del grafico.

Se le dipendenze del grafo non sono installate.