Uwielbiam szkielet bota, ale chcę go skalować, aby obsługiwać setki, jeśli nie tysiące stron Facebooka, wskazujących na moją pojedynczą instancję bota. Instancja mojego bota różnicuje funkcjonalność według identyfikatora strony przychodzącej lub, jak sądzę, przez aplikację MSFT/tajne identyfikatory.Jeden bot do obsługi tysięcy stron Facebooka.
Wygląda na to, że framework wymaga korespondencji 1: 1 między botem logicznym hostowanym przez MSFT i stroną FB, ale moja instancja pojedynczego bota może obsłużyć tysiące takich stron i aplikacji.
Wygląda na to, że może być konieczne utworzenie unikalnego obiektu ChatConnector i powiązanej instancji UniversalBot dla każdej strony logicznej botów. To jest strasznie nieefektywne w skali, którą sugeruję.
Jednym ze sposobów rozwiązania tego problemu może być rozszerzenie UniversalBot, aby zaakceptować listę wszystkich aplikacji MSFT i tajnych identyfikatorów, które utworzę, ale jeszcze tego nie próbowałem. Po przejrzeniu interfejsu API wygląda na to, że można zarejestrować więcej złączy za pomocą pojedynczej instancji UniversalBot.
UniversalBot:
/**
* Registers or returns a connector for a specific channel.
* @param channelId Unique ID of the channel. Use a channelId of '*' to reference the default connector.
* @param connector (Optional) connector to register. If ommited the connector for __channelId__ will be returned.
*/
connector(channelId: string, connector?: IConnector): IConnector;
Ale nie jestem pewien, co przekazuję dla channelId, chyba że jest to arbitralna unikalna wartość lokalna.
Sprawdziłem inne/podobne posty tutaj, ale nie znaleziono niczego, co według mnie jest adresowane do mojego problemu. Jeśli się mylę, przepraszam i będę wdzięczny za odniesienie.
Mam nadzieję, że ktoś może mieć lepszy pomysł. Używam Node btw. Dzięki.
Nawet jeśli jest to możliwe, byłbym również zainteresowany ewentualnym ograniczaniem stawek po stronie Microsoftu, jeśli twój bot obsługuje tysiące stron. – K48
@ K48 To dobry punkt, którego bym nie rozważył. Zastanawiam się, czy Bot Framework jest realnym rozwiązaniem długoterminowym. Warto się przyjrzeć. Dzięki. – Jackpile
Tak więc, aby zrozumieć więcej: masz jeden kod, który w zależności od identyfikatora strony na Facebooku robi coś. Następnie masz wiele botów zarejestrowanych w Bot Framework (jest to jedyny sposób na uzyskanie wielokrotności MS App/Secret). Czy wszyscy wskazują ten sam adres URL? I nie chcesz dzielić botów, ponieważ ... nie chcesz zarządzać wieloma wdrożeniami? –