我正在配置一个带有 Patreon 集成的 Discourse 服务器。当 Patreon 支持者注册 Discourse 时,我收到了以下错误消息:
Patreon 组成员身份回调失败,新用户 7 报错:undefined method `add' for nil:NilClass。
/var/www/discourse/plugins/discourse-patreon/plugin.rb:166:in `block (3 levels) in activate!'
/var/www/discourse/plugins/discourse-patreon/plugin.rb:164:in `each'
/var/www/discourse/plugins/discourse-patreon/plugin.rb:164:in `block (2 levels) in activate!'
/var/www/discourse/lib/plugin/instance.rb:215:in `public_send'
/var/www/discourse/lib/plugin/instance.rb:215:in `block (2 levels) in add_model_callback'
用户通过 Patreon 认证进行注册。用户已创建,Patreon 显示在“关联账户”下,但其 Patreon 数据(金额、奖励)未添加到个人资料中,且未被添加到群组。如果我点击“更新 Patreon 数据并同步群组”,数据就会显示出来,并且他们也能成功加入群组。
这些用户并非新支持者。他们已经是长期的 Patreon 支持者,只是现在才加入 Discourse。
我现在运行的是当前版本 2.4.0.beta4。这是在我的自有服务器上,但属于标准安装。
在更新到此版本之前,我曾停用该插件,并删除并重新创建了客户端密钥。(这是为了解决一个实际上由新版本修复的问题而做的绝望尝试……)我怀疑我是否以某种方式“破坏”了关于支持者群组的配置,尽管同步能正常工作,但注册新用户却不行,这确实很奇怪。
我刚刚用测试用户做了一个测试:
- 在 Patreon 中创建测试用户,并向我的活动进行pledge。(Webhook 被触发,但我认为这与问题无关,因为问题出现在“旧”支持者身上。)
- 点击“更新 Patreon 数据并同步群组”,等待异步消息提示数据已更新。
- 在 Discourse 中注册测试用户。
- 检查测试用户的 Patreon 数据。没有
Patreon部分——金额、奖励。用户未包含在支持者群组中。 - 点击“更新 Patreon 数据并同步群组”,等待异步消息提示数据已更新。
- 检查测试用户的 Patreon 数据。
Patreon部分现在已存在,包含金额和奖励。用户已包含在支持者群组中。
提前感谢任何帮助!