Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Niektóre kanały udostępniają funkcje, których nie można zaimplementować przy użyciu tylko tekstu i załączników wiadomości. Aby zaimplementować funkcjonalność specyficzną dla kanału, można przekazać metadane natywne do kanału we właściwości obiektu channelData
Działania. Na przykład bot może użyć channelData
właściwości , aby poinstruować Telegram, aby wysłać naklejkę lub poinstruować usługę Office365 o wysłaniu wiadomości e-mail.
W tym artykule opisano sposób użycia właściwości działania channelData
komunikatów do zaimplementowania tej funkcji specyficznej dla kanału:
Kanał | Funkcjonalność |
---|---|
Wysyłanie i odbieranie wiadomości e-mail zawierającej metadane treści, tematu i ważności | |
Slack | Wysyłanie komunikatów Slack o pełnej wierności |
Wysyłanie powiadomień na Facebooku natywnie | |
Telegram | Wykonywanie akcji specyficznych dla telegramu, takich jak udostępnianie notatki głosowej lub naklejki |
Uwaga
Wartość Activity
właściwości obiektu channelData
jest obiektem JSON.
Struktura obiektu JSON będzie się różnić w zależności od kanału i zaimplementowanej funkcjonalności, jak opisano poniżej.
Tworzenie niestandardowej wiadomości e-mail
Aby utworzyć wiadomość e-mail, ustaw Activity
właściwość obiektu channelData
na obiekt JSON zawierający następujące właściwości:
{
"type": "ActivityTypes.Message",
"locale": "en-Us",
"channelID": "email",
"fromName": { "id": "mybot@mydomain.com", "name": "My bot"},
"recipientName": { "id": "joe@otherdomain.com", "name": "Joe Doe"},
"conversation": { "id": "123123123123", "topic": "awesome chat" },
"channelData":
{
"htmlBody": "<html><body style = \"font-family: Calibri; font-size: 11pt;\" >This is more than awesome.</body></html>",
"importance": "high",
"ccRecipients": "Yasemin@adatum.com;Temel@adventure-works.com",
}
}
Ten fragment kodu przedstawia przykład channelData
właściwości niestandardowej wiadomości e-mail.
"channelData":
{
"htmlBody": "<html><body style = \"font-family: Calibri; font-size: 11pt;\" >This is more than awesome.</body></html>",
"importance": "high",
"ccRecipients": "Yasemin@adatum.com;Temel@adventure-works.com"
}
Tworzenie pełnej wierności komunikatu Slack
Aby utworzyć komunikat Slack o pełnej wierności, ustaw Activity
właściwość obiektu channelData
na obiekt JSON, który określa komunikaty usługi Slack, załączniki usługi Slack i/lub przyciski Usługi Slack.
Uwaga
Aby obsługiwać przyciski w komunikatach usługi Slack, należy włączyć komunikaty interakcyjne podczas łączenia bota z kanałem usługi Slack.
Ten fragment kodu przedstawia przykład channelData
właściwości niestandardowego komunikatu usługi Slack.
"channelData": {
"text": "Now back in stock! :tada:",
"attachments": [
{
"title": "The Further Adventures of Slackbot",
"author_name": "Stanford S. Strickland",
"author_icon": "https://api.slack.com/img/api/homepage_custom_integrations-2x.png",
"image_url": "http://i.imgur.com/OJkaVOI.jpg?1"
},
{
"fields": [
{
"title": "Volume",
"value": "1",
"short": true
},
{
"title": "Issue",
"value": "3",
"short": true
}
]
},
{
"title": "Synopsis",
"text": "After @episod pushed exciting changes to a devious new branch back in Issue 1, Slackbot notifies @don about an unexpected deploy..."
},
{
"fallback": "Would you recommend it to customers?",
"title": "Would you recommend it to customers?",
"callback_id": "comic_1234_xyz",
"color": "#3AA3E3",
"attachment_type": "default",
"actions": [
{
"name": "recommend",
"text": "Recommend",
"type": "button",
"value": "recommend"
},
{
"name": "no",
"text": "No",
"type": "button",
"value": "bad"
}
]
}
]
}
Gdy użytkownik kliknie przycisk w komunikacie usługi Slack, bot otrzyma komunikat odpowiedzi, w którym channelData
właściwość zostanie wypełniona obiektem payload
JSON. Obiekt payload
określa zawartość oryginalnego komunikatu, identyfikuje kliknięty przycisk i identyfikuje użytkownika, który kliknął przycisk.
Ten fragment kodu przedstawia przykład channelData
właściwości w komunikacie odbieranym przez bota po kliknięciu przycisku w komunikacie Usługi Slack.
"channelData": {
"payload": {
"actions": [
{
"name": "recommend",
"value": "yes"
}
],
//...
"original_message": "{...}",
"response_url": "https://hooks.slack.com/actions/..."
}
}
Bot może odpowiedzieć na tę wiadomość w normalny sposób lub opublikować odpowiedź bezpośrednio do punktu końcowego określonego payload
przez właściwość obiektu response_url
. Aby uzyskać informacje o tym, kiedy i jak opublikować odpowiedź na adres response_url
, zobacz Przyciski usługi Slack.
Tworzenie powiadomienia na facebooku
Aby utworzyć powiadomienie na Facebooku, ustaw Activity
właściwość obiektu channelData
na obiekt JSON, który określa następujące właściwości:
Właściwość | Opis |
---|---|
notification_type | Typ powiadomienia (na przykład REGULAR, SILENT_PUSH lub NO_PUSH). |
Załącznik | Załącznik określający obraz, wideo lub inny typ multimedialny albo szablonowy załącznik, taki jak potwierdzenie. |
Uwaga
Aby uzyskać szczegółowe informacje o formacie i zawartości właściwości i attachment
właściwości, zobacz dokumentację interfejsunotification_type
API serwisu Facebook.
Ten fragment kodu przedstawia przykład channelData
właściwości załącznika potwierdzenia na Facebooku.
"channelData": {
"notification_type": "NO_PUSH",
"attachment": {
"type": "template",
"payload": {
"template_type": "receipt",
//...
}
}
}
Tworzenie komunikatu telegramu
Aby utworzyć komunikat implementujący akcje specyficzne dla telegramu, takie jak udostępnianie notatki głosowej lub naklejki, ustaw Activity
właściwość obiektu channelData
na obiekt JSON, który określa następujące właściwości:
Właściwość | Opis |
---|---|
method | Metoda interfejsu API bota telegramu do wywołania. |
parameters | Parametry określonej metody. |
Obsługiwane są następujące metody telegramu:
- answerInlineQuery
- editMessageCaption
- editMessageReplyMarkup
- editMessageText
- forwardMessage
- banChatMember
- sendAudio
- sendChatAction
- sendContact
- sendDocument
- sendLocation
- sendMessage
- sendPhoto
- sendSticker
- sendVenue
- sendVideo
- sendVoice
- unbanChatMember
Aby uzyskać szczegółowe informacje na temat tych metod telegramu i ich parametrów, zobacz dokumentację interfejsu API bota telegramu.
Uwaga
- Parametr
chat_id
jest wspólny dla wszystkich metod Telegram. Jeśli nie określiszchat_id
jako parametru, platforma podasz identyfikator. - Zamiast przekazywać zawartość pliku w tekście, określ plik przy użyciu adresu URL i typu nośnika, jak pokazano w poniższym przykładzie.
- W każdej wiadomości odbieranej przez bota z kanału
channelData
Telegram właściwość będzie zawierać komunikat wysłany wcześniej przez bota.
Ten fragment kodu przedstawia przykład channelData
właściwości, która określa jedną metodę Telegram.
"channelData": {
"method": "sendSticker",
"parameters": {
"sticker": {
"url": "https://domain.com/path/gif",
"mediaType": "image/gif",
}
}
}
Ten fragment kodu przedstawia przykład channelData
właściwości, która określa tablicę metod Telegram.
"channelData": [
{
"method": "sendSticker",
"parameters": {
"sticker": {
"url": "https://domain.com/path/gif",
"mediaType": "image/gif",
}
}
},
{
"method": "sendMessage",
"parameters": {
"text": "<b>This message is HTML formatted.</b>",
"parse_mode": "HTML"
}
}
]