@ упоминание пользователя в боте MS с командами MS - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть бот, созданный с использованием ms bot v3 nodejs sdk.Я добавляю этого бота в свою команду MS, используя глубокую ссылку для разговора 1: 1, который выглядит следующим образом:

https://teams.microsoft.com/l/chat/0/0?users=28:{BotID}

Я хотел бы добавить возможность @mentioning users для этого бота иЯ пытался узнать, смогу ли я получить некоторые примеры того, как это сделать?

Не уверен, что боковая загрузка бота как приложения позволит это.

Ответы [ 4 ]

0 голосов
/ 28 сентября 2018

Боты и пользователи могут только упоминать участников одного и того же разговора.

  • В канале вы можете упомянуть любого пользователя в команде
  • В чате 1: 1 вы можете упомянуть другого пользователя
  • ВВ групповом чате вы можете упомянуть любого пользователя в чате

. В настоящее время ни боты, ни пользователи не могут упоминать произвольных пользователей, которые не являются участниками разговора.

Ваш приведенный выше пример «Здравствуйте @PersonB и @PersonC, пожалуйста, позаботьтесь об этом билете», может работать, если PersonB и PersonC являются частью команды (если это на канале) или группового чата, но нев чате 1: 1 с ботом.

Диплинк в вашем вопросе создает чат 1: 1 с ботом, поэтому другие пользователи не могут быть упомянуты: (

0 голосов
/ 25 сентября 2018

Вы можете загрузить своего бота как приложение, для этого вам нужно создать манифест приложения в формате JSON, например, так:

{
"$schema": "https://statics.teams.microsoft.com/sdk/v1.3.0-beta.2/manifest/MicrosoftTeams.schema.json",
"manifestVersion": "1.3",
"version": "1.3",
"id": "c9edb618-c5de-4be2-**f4-74c1*******1",
"packageName": "com.example.tcafebot",
"developer": {
    "name": "Harsh Raj",
    "websiteUrl": "https://www.sdharshraj.github.io",
    "privacyUrl": "https://privacy.microsoft.com/en-us/privacystatement",
    "termsOfUseUrl": "https://www.botframework.com/Content/Microsoft-Bot-Framework-Preview-Online-Services-Agreement.htm"
},
"name": {
    "short": "TCafeBot",
    "full": "Tea and Coffee bot"
},
"description": {
    "short": "TCafeBot - a bot helping you with twiter.",
    "full": "It will help you find a user or tweets from twiter. Also it can read text from image or even it can tell what is there in a photo."
},
"icons": {
    "outline": "bot_blue.png",
    "color": "bot_blue.png"
},
"accentColor": "#0079bf",
"configurableTabs": [{
    "configurationUrl": "https://contoso.com/teamstab/configure",
    "canUpdateConfiguration": true,
    "scopes": [
        "team",
        "groupchat"
    ]
}],
"staticTabs": [{
        "contentUrl": "https://harshcognitivebot.azurewebsites.net/loading",
        "entityId": "1on1test123",
        "name": "Bot Info",
        "scopes": [
            "team",
            "personal"
        ]
    },
    {
        "contentUrl": "https://harshcognitivebot.azurewebsites.net/tab-auth/simple",
        "entityId": "simpleAuth",
        "name": "Simple Auth",
        "scopes": [
            "personal"
        ]
    },
    {
        "contentUrl": "https://harshcognitivebot.azurewebsites.net/tab-auth/silent",
        "entityId": "silentAuth",
        "name": "Silent Auth",
        "scopes": [
            "personal"
        ]
    }
],
"bots": [{
    "botId": "c9edb618-c5de-4be2-**f4-74c1*******1",
    "scopes": [
        "team",
        "personal",
        "groupchat"
    ],
    "commandLists": [{
            "scopes": [
                "team"
            ],
            "commands": [{
                    "title": "hello",
                    "description": "Runs the simplest hello dialog"
                }
            ]
        },
        {
            "scopes": [
                "personal"
            ],
            "commands": [{
                    "title": "hello",
                    "description": "Runs the simplest hello dialog"
                }
            ]
        }
    ]
}],
"composeExtensions": [{
    "botId": "c9edb618-c5de-4be2-**f4-74c1*******1",
    "canUpdateConfiguration": true,
    "commands": [{
        "id": "search123",
        "description": "Find a card",
        "title": "Search",
        "initialRun": true,
        "parameters": [{
            "title": "query123",
            "name": "query",
            "description": "Search string"
        }]
    }]
}],
"permissions": [
    "identity",
    "messageTeamMembers"
],
"validDomains": [
    "787c30bb.ngrok.io"
]

}

А также сохранить значок симя, указанное в файле манифеста.

Затем вам нужно создать zip-файл из этих двух файлов (Manifest и Icon).Обратите внимание, что эти два файла не должны находиться ни в одной папке, вы должны сделать zip-файл непосредственно с этими двумя файлами.

Затем перейдите в Team App и выберите загрузить пользовательское приложение, где вы можете просмотреть свой zip-файл.

Также для получения сведений о команде вы можете обратиться по этой ссылке

0 голосов
/ 25 сентября 2018

Чтобы использовать @mention, добавьте своего бота в канал Teams:

Используйте Teams App Studio для создания zip-файла манифеста приложения.Подробности здесь .

Загрузить zip-файл манифеста приложения на канал Команды.Перейдите на канал Команды -> Управление командой -> Приложения -> Загрузить ссылку на собственное приложение (внизу)

Ваш бот теперь доступен на канале, и пользователи могут общаться с ним с помощью @ упоминания.

Важный совет для ботов в командах - удалите @mention, как только текст будет получен ботом (в MessageController.cs), прежде чем он будет отправлен в LUIS и т. Д.

            if (activity.ChannelId == ChannelIds.Msteams)
            {
                //remove bot @mention
                if (activity.Text.Contains("<at>"))
                {
                    activity.Text = Regex.Replace(activity.Text, "<at>.*</at>", "", RegexOptions.IgnoreCase).Trim();
                }
            }
0 голосов
/ 25 сентября 2018

Боты в однопользовательских разговорах не требуют @ упоминания - пользователь может просто набрать команду. Боты в разговорах на канале требуют, чтобы пользователь @ упомянул бота, чтобы вызвать его в канале.

Чтобы получить доступ к вашему боту в канале, вам необходимо добавить область команд для своего бота в Манифест приложения .Пожалуйста, используйте Teams App Studio для создания манифеста вашего приложения.Вам нужно Загрузить пакет приложения в Microsoft Teams , чтобы увидеть ваше приложение.

...