Ошибка: этот метод действителен только в рамках команды MS команды - PullRequest
0 голосов
/ 19 марта 2020

Я получаю сообщение об ошибке, как упомянуто в заголовке, когда я использую методы getTeamChannels и getTeamsDetail Teamsinfo, где, когда я использую TeamsInfo.getMembers. Код прекрасно работает.

Я использую msteams для отправки сообщений, поэтому проблема с областью не должна подниматься. Также getMembers работает совершенно нормально. не уверен, почему другие два не

Код без проблемы -

export class MyBot extends TeamsActivityHandler {
    constructor() {
        super();

        // See https://aka.ms/about-bot-activity-message to learn more about the message and other activity types.
        this.onMessage(async (turnContext, next) => {
            const members = await TeamsInfo.getMembers(turnContext);

            // By calling next() you ensure that the next BotHandler is run.
            await next();
        });
    }
}

Код с проблемой -

export class MyBot extends TeamsActivityHandler {
    constructor() {
        super();

        // See https://aka.ms/about-bot-activity-message to learn more about the message and other activity types.
        this.onMessage(async (turnContext, next) => {

            const teamDetails = await TeamsInfo.getTeamDetails(turnContext);


            // By calling next() you ensure that the next BotHandler is run.
            await next();
        });
    }
}

Любая известная проблема? Версии: "botbuilder- azure": "^ 4.7.2", "botbuilder": "^ 4.7.2"

1 Ответ

1 голос
/ 19 марта 2020

Судя по комментариям выше, я думаю, что получил ответ:

"getMembers" работает, потому что в чате 1-1 (только вы и бот) есть "участники" разговора. Тем не менее, есть 3 вида чатов, в которых может участвовать бот:

1) "1-1", как у вас сейчас 2) "групповой чат", где между игроками есть прямой чат. Например, вы, один или несколько других пользователей и бот (это также появится в разделе «чат» в левом меню в командах). 3) «Канал» внутри «команды» в командах. Например, у вас может быть команда типа «Финансы» с «каналом» типа «Счета к получению», и ваш бот может быть подключен к этой команде + канал

Методы, которые вы вызываете, зависят от того, где разговор бота происходит. Например, «getTeamDetails» будет работать только в сценарии (3) выше, где бот фактически в команде.

Надеюсь, это поможет объяснить?

...