【问题标题】:Messenger bot broken after renaming it重命名后 Messenger 机器人坏了
【发布时间】:2018-05-18 01:04:57
【问题描述】:
  • 我在 Dropbox 上托管了一个 Messenger 机器人,并部署在 Heroku 上。
  • 效果很好。
  • 我在 Heroku 上对其进行了重命名,然后在developers.facebook.com 上对其进行了重命名(以匹配该更改)
  • 它不再工作(不回复任何命令,但它在工作时确实回复了命令)。

我应该更新或检查哪些其他设置?

我可以发布代码,但根本没有代码更改 - 从它工作到它崩溃 - 所以这可能无济于事。

编辑:

尝试生成新令牌时,我得到:

无效范围:manage_pages、pages_messaging、pages_messaging_phone_number、pages_messaging_subscriptions。此消息仅向开发人员显示。您的应用程序的用户将忽略这些权限(如果存在)。请阅读文档以获取有效权限:https://developers.facebook.com/docs/facebook-login/permissions

编辑: 将机器人设为私有(“开发者模式”)允许我生成一个新令牌。我将新令牌推送到 Dropbox 和 Heroku,机器人再次开始响应命令(工作),但将其公开再次破坏了它。

编辑: 我现在看到在 Bot 的页面下,在 Messenger > Settings 中,它说我需要使用“API Send (pages_messaging)”的权限。我已经发送了一个请求...

机器人工作是否总是需要这些权限?

  • 我没有尝试访问任何用户信息(我不知道),文档说可以立即将机器人公开,除非它需要访问私人信息。我的机器人所做的就是将某些消息回复到某些命令。

注意事项:

  • 我从未使用我的其他帐户(机器人的开发者帐户)对其进行测试,因此它可能在公开时从未“工作”过。它是新制作的。
  • 到目前为止,这篇文章的标题可能应该更改为“bot 在公开后损坏”,但我不确定是否是这种情况。

【问题讨论】:

  • 还原更改后会发生什么?它会再次按预期工作吗?

标签: php facebook heroku dropbox facebook-messenger-bot


【解决方案1】:

TL;DR

重命名应该不是问题,只要您在所有必要的位置重命名(包括但不一定限于:developers.facebook.com、Heroku)。

长篇:

  • 事实证明,我从未从管理员以外的帐户测试过该机器人,因此它从未“停止工作”,而是从未发布过。重命名不是问题(只要你也在developers.facebook.com上重命名)
  • 为了让它适用于其他帐户(即公开),您需要申请使用pages_messaging 的权限。向下滚动“Messenger”页面(在developers.facebook.com上),您可以发起请求,它会提示您填写任何所需的信息,例如您的应用程序的隐私政策、图标,以及临时添加多个帐户作为您的应用程序的测试人员(这些帐户将在该提示中提供给您),并将这些相同的帐户添加为您要使用该机器人的 Facebook 页面的编辑。

    注意事项:

    • 我不确定 Facebook 机器人是否完全需要 pages_messaging,或者仅当有人还希望该机器人在 Messenger 平台上可用时,但因为这是我想要的机器人,所以我选择了该功能将机器人设置为公开并发起请求时。
    • 发起请求会将您的机器人切换回“私有”(非管理员帐户不可见)。
    • 如果出现问题并且您不确定原因,一个有用的健全性检查(帮助了我几次)是通过在应用程序的设置下再次“选择”您的页面来生成新令牌(不要不要忘记实际使用该令牌并推送更改)。

【讨论】:

    猜你喜欢
    • 2022-06-25
    • 1970-01-01
    • 2017-01-06
    • 2017-01-28
    • 1970-01-01
    • 2018-01-10
    • 2016-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多