subscribeFacebookPage method

Future<void> subscribeFacebookPage({
  1. required BotFacebookPage page,
  2. required String fuid,
  3. required String accessToken,
})

Subscribe this bot to a facebook page.

  • {page} is the page that you want to subscribe to.

  • {fuid} is the facebook user id that you get from the facebook login page using callbackUrl.

  • {accessToken} is the access token that you get from the facebook login page using callbackUrl.

Implementation

Future<void> subscribeFacebookPage({
  required BotFacebookPage page,
  required String fuid,
  required String accessToken,
}) async {
  try {
    if (_bot.id == null) {
      GetIt.I<BotnoiClient>().finishedFailed();
      GetIt.I<BotnoiClient>().error.add("[subscribeFacebookPage] : bot '${_bot.botName}' doesn't have an id, try reloading it");
      return;
    }
    Uri url = Uri.parse(
        "${GetIt.I<BotnoiClient>().endpoint}/developer/platform-api/connect/facebook/page/subscribe?uid=$fuid&page_detail_id=${page.pageId}?bot_id=${_bot.id}");
    http.Response response = await http.post(
      url,
      headers: {..._getHeader, "X-Fb-User-Token": accessToken},
    );
    if (response.statusCode == 200 || response.statusCode == 204 || response.statusCode == 201) {
      GetIt.I<BotnoiClient>().finishedSuccessfully();
      return;
    }
    GetIt.I<BotnoiClient>().finishedFailed();
    GetIt.I<BotnoiClient>().error.add("[subscribeFacebookPage] : ${response.reasonPhrase ?? "ERROR"}");
    return;
  } catch (e) {
    GetIt.I<BotnoiClient>().finishedFailed();
    GetIt.I<BotnoiClient>().error.add("[subscribeFacebookPage] : $e");
    return;
  }
}