@gdpelican 插件做得真棒——进步巨大!
我特别喜欢声音通知、在线状态集成以及聊天最小化时的通知气泡。非常流畅!
我在个人 Discourse 上安装了这个插件进行测试,并正在评估它是否适用于我的工作 Discourse……主要是为了让版主们讨论如何处理各种话题。我已经浏览了这个主题,希望我对整体情况有了较好的理解,但也不排除遗漏了一些细节。考虑到这一点,以下是一些反馈和问题。非常期待听到您的想法。
最大的问题大概是可持续性——这是一个非官方插件,您能否谈谈多年来维护它的经验以及未来的计划?我意识到这是开源的,从这个意义上说具有抗风险能力,但除了 @gdpelican 之外,还有其他人熟悉代码并致力于此项目吗?万一您遇到意外(Inshallah 这不会发生!),他们能否接手继续推进?
在这个主题中穿插了一些问题,但它们并未列在 GitHub 上。您希望我们将问题发布在哪里?也许将问题报告集中到一个地方,既能帮助您更有效地响应而不浪费太多时间,也能让我们了解路线图中的内容以及(可能更重要的是)哪些内容不在计划中。
目前这里有一份问题清单,包括疑问、想法、错误报告和特性请求,顺序随意,并为冗长和重复已提及的内容表示歉意。
一些错误及 hopefully 容易修复的问题:
- 错误:即使未启用 babble 插件,聊天仍会显示在管理员仪表板上
- 在管理员设置中:缺少翻译 en.site_settings.babble_initial_user_count
- 更新:当我 @提及用户时,他们收到了一封电子邮件通知,链接指向类别中的话题以及 babble 中的聊天。这看起来像是 bug 且很奇怪!应该仅链接到站点首页并打开 babble 聊天,而不显示 babble 话题。
- 用户应该能够从零个用户开始建立私信列表,然后创建自己希望进行私信对话的人员列表。如果我将“babble 初始用户数”设置为零,私信选项 simply 不显示。这是 bug 吗?

编辑:另一个错误:
- 删除测试用户及其帖子时,该用户参与的聊天频道也被删除了。这令人意外。
想法/功能请求:
- 管理员在哪里可以查看和管理聊天记录?这些似乎是被隐藏的话题,对用户体验而言很好,但对管理员来说,需要一种查看和管理它们的方式。也许可以允许管理员访问,并从
admin/chats 中管理的频道提供类似 /t/n/1234 的链接。
- 如果用户在个人偏好中选择不使用 babble,他们仍可能出现在其他人的私信列表中,可被搜索到,并随后收到聊天消息。这些消息似乎消失在虚无中,这让人有些不安。至少应提供某种指示表明该用户未使用 babble,或者直接禁止与已选择退出的人聊天。
- 如果离线用户收到聊天时没有发送电子邮件通知(看起来确实没有),那么我认为私信功能实际上应该仅适用于与当前在线的用户聊天。此外,应提供一个管理员设置来启用/禁用电子邮件通知,以便人们可以在站点上使用它进行相对安全的通信。
- 用户应该能够从私信列表中移除其他用户。也许可以在他们名字右侧提供一个小小的 X,点击后即可将其从列表中移除。搜索功能可以让他们根据需要重新添加用户。
- 我喜欢通知声音,但也能想象其他人可能会觉得烦人,或者更喜欢不同的声音。允许管理员上传并提供不同的通知声音供成员选择,这会很有趣。
- 已有人提到允许管理员设置 babble 的默认用户偏好,我支持添加此功能。
- 聊天界面足够显眼,因此在聊天界面内提供链接到 babble 偏好的选项是值得的。至少应有一个开关来启用/禁用声音通知。
- 在用户卡片和用户资料页面上,对于当前在线的用户,能否在“开始消息”按钮旁边添加一个“开始聊天”按钮?这将是一个直接与用户建立联系的好方法。该功能可通过管理员设置启用,因为我可以想象很多人不希望在自己的社区中启用此功能。
使用一天后的补充:
- 在 babble 内部,似乎未使用群组标识(group flair),甚至未使用群组的标准 favicon,这在视觉上略显突兀。
- 当我选择一个群组频道时,逻辑上应该看到该群组中当前在线的成员列表,以便进行私信或提及。
- 当位于右侧时,不知为何表情选择器仍会弹出在左侧,对于像我这样的大屏幕来说,距离有点远。

- 通知气泡带有阴影,而其他 Discourse 通知气泡没有
……在暂时离开并给其他人回应机会之前,再报告一个错误。我注意到私信出现在“页面未找到”的最近话题列表中,标题为随机字符串。见截图。这是隐身模式,因此对所有人都可见。结合此问题以及随机用户出现在可私信列表中但如果没有频道访问权限则看不到私信的情况……我将暂时关闭私信功能。
6 个赞
今天早上注意到,babble 历史记录窗口 设置似乎没有生效。我看到有一个 Jobs::BabblePruneHistory sidekiq 任务,但运行后似乎没有任何变化。该设置原本设定为清理超过一天的记录,但其中仍有三天前的聊天记录。我将数值改为两天并再次运行 sidekiq 任务,但依然无效。这对我们来说是一个相当关键的功能,如果已知该功能未按预期工作,请告知。
同时,我找到了访问频道主题的方法:只需进入 admin/chat 并选择相应频道,然后将 admin/chat/nnnn 替换为 t/nnnn,其中 nnnn 是该频道的主题 ID。很简单。
我使用的是 Bitnami Discourse 镜像,但在我的测试中,该插件并未提供实时聊天功能。您必须刷新页面才能看到任何新消息。这是该插件的固有工作方式吗?还是其他人可以通过 Babble 实现实时聊天?
我不太确定,但 Babble 的行为应该与任何 Discourse 话题一样,因为它为每个聊天频道创建一个话题。因此,它应该实时更新。
我认为这与我用于托管 Discourse 的 Nginx 反向代理有关。我已经为网站启用了 WebSocket 支持,但实时功能仍然无法正常工作。感谢您确认它应该支持实时功能。我记得曾看过一篇关于 Babble 的 Nginx 配置页面,但现在找不到了……关于在 Nginx 中还需要设置什么,您有什么建议吗?哈哈,别担心,您不需要回答这个问题。我会自己找到的。谢谢!
你好 @gdpelican,我觉得我发现了一个问题。大概一周或两周以来,管理员点击图标时无法看到聊天内容。只有管理员无法访问:thinking:
jrgong
(jrgong)
302
嘿,James
有没有办法为插件添加一个路由,使其可以从 Discourse 标签栏主题组件中启动?
从可用性的角度来看,这将非常棒。
dataq
(dataq)
303
这个插件太棒了!!
我试着阅读了 289 条消息,但可能漏掉了一些内容,所以如果这个问题之前已经有人回答过,请见谅。
我有几个请求:
- 按字母顺序排列频道
- 静音/取消静音特定频道
- 让管理员控制面板更友好,目前甚至可以在不知情的情况下创建两个相同的频道
- 开发类似 Mattermost 的功能,包含团队等
谢谢!!
嗨,朋友们!
我已在我的 Discourse 安装中添加了 Babble 模块。我很喜欢在网站上有类似 Discord 的聊天窗口这一概念,但目前我遇到了两个问题。
首先,我遇到了所谓的 幽灵通知(作为 Discord 的另一位用户 <3)。

这些是提及图标,点击后除了……什么都没有之外,不会显示任何其他内容。我的意思是,这就像我收到了一条私信,但里面没有任何新内容。
另一个问题是,向另一位用户发送私信会触发我的 Discord Webhook,并使其宣布一个新主题。这是一次私人对话,本应保持私密。
希望我们能找到解决办法……在此先谢谢大家!
jrgong
(jrgong)
305
是否有一种方法可以将私信(或某个特定的私信话题及帖子)显示为一对一消息?
我不喜欢一对一消息是独立频道,而不是直接使用私信这种方式。
1 个赞
jessicah
(Jessica Hamilton)
306
@gdpelican 如果我想添加推送通知,比如使用 OneSignal 或其他服务商,该如何与 Babble 集成以实现这一功能?我想我可能需要编写一个插件,通过消息总线订阅相关事件?
我已在 Discourse 中集成了 Babble,但由于没有新消息通知,目前无人使用。
我还希望有一个管理员设置,默认对所有用户启用音频通知,这样用户需要选择退出,而不是选择加入。但如果能实现推送通知功能,或许就不需要启用音频通知了…
isubbu
(Subbu)
307
感谢这个插件。但我在创建频道时遇到了以下错误:
无法保存该聊天频道。请重试。
非常感谢您的任何帮助。
更新:尽管出现了错误,频道还是创建成功了。我不得不刷新浏览器缓存才能看到频道。我想这应该是一个 bug。
2 个赞
Romain
(Romain)
309
您好,
该插件之前运行完美,但更新后用户无法在聊天室中分享照片了。
报错如下:

我尝试卸载所有插件,然后逐一重新安装,但仍未成功。
有人知道原因吗?
谢谢
4 个赞
@gdpelican,只是想把这个话题顶上来,似乎我们中好几个人都遇到了附件功能无法使用的问题。
1 个赞
jrgong
(jrgong)
311
正在跟进此事!我的用户抱怨他们仍然可以看到被忽略用户发送的聊天消息(反之亦然)
1 个赞
Zinfas
(Zinfas)
313
尝试创建聊天频道时,无论我如何操作,系统都提示“无法保存该聊天频道,请重试”。
我查看了日志,但没有发现与该插件相关的任何记录。
如何在数据探索器中识别 Babble 聊天?我可以编写查询,请告诉我标识主题或帖子为 Babble 聊天的表和字段。