Я получаю-TypeError: класс расширяет значение undefined, это не конструктор или нуль

Я создаю бота с Microsoft bot framework, который должен быть интегрирован с MS Teams. Я получаю следующую ошибку: TypeError: Class extends value undefined не является конструктором или null при компиляции кода, когда я расширяю класс TeamsActivityHandler для перезаписи метода onmessage .

Однако код отлично работает с классом ActivityHandler.

Код ниже выдает ошибку

const { TeamsActivityHandler} = require('botbuilder');

class mybot extends TeamsActivityHandler {
    constructor() {
        super();
    }
    bunch of other codes here.
}

где, как это ниже, работает нормально

const { ActivityHandler} = require('botbuilder');

class mybot extends ActivityHandler {
    constructor() {
        super();
    }
    bunch of other codes here.
}

person SreeNath    schedule 11.02.2020    source источник
comment
Я не очень часто использую Node, так что это просто предложение, но TeamsActivityHandler довольно новый, поэтому проверьте, какую версию botbuilder вы используете.   -  person Hilton Giesenow    schedule 11.02.2020
comment
Я обновил версию botbuilder с помощью пакета botbuilder-teams, но проблема не устранена.   -  person SreeNath    schedule 11.02.2020
comment
пожалуйста, укажите ошибку, которая была выброшена   -  person Mox    schedule 11.02.2020
comment
Привет, Мокс, выдана ошибка -TypeError: класс расширяет значение undefined, это не конструктор или нуль   -  person SreeNath    schedule 11.02.2020
comment
@SreeNath, я полагаю, это потому, что нет такого объекта с именем TeamsActivityHandler, который экспортировался. вы можете проверить свой botbuilder код в node_modules   -  person Mox    schedule 11.02.2020
comment
В качестве альтернативы попробуйте без { }   -  person Mox    schedule 11.02.2020
comment
@SreeNath, я предполагаю, что обновленная вами версия ботбилдера ~ 4.6.0 в вашем файле package.json. Этот пример для бота для общения в Teams поможет вам решить эту проблему. Дайте мне знать, если вам нужна помощь в этом.   -  person Trinetra-MSFT    schedule 11.02.2020


Ответы (1)


Хилтон прав, TeamsActivityHandler новый (4.6.0+, как сказала Тринетра), я бы посмотрел на ваши пакеты.

Наряду с меньшими зависимостями и различными пакетами боту, использующему TeamsActivityHanlder, необходимо следующее:

ботбилдер

ботбилдер-ядро

botframework-коннектор

botframework-схема

Большинство из них устанавливаются как зависимости, поэтому, если вы npm install botbuilder, вы поймаете остальные.

Вы заметите, что в этом списке НЕТ команды Botbuilder. Команда Botbuilder-teams устарела здесь. Из вашего комментария я увидел, что вы сказали, что обновили этот пакет. Если вы следуете руководству или примеру, в котором он используется, вы используете устаревший ресурс. Ознакомьтесь с примерами на основе Teams в репозитории Botframework, на которые ссылается Trinetra-MSFT.

пакеты команд

person JJ_Wailes    schedule 11.02.2020
comment
Если мой ответ решил вашу проблему, пожалуйста, выберите правильный ответ, чтобы будущие члены сообщества могли извлечь из этого пользу. Благодарю вас! - person JJ_Wailes; 13.02.2020