Discourse 音频消息

|||
-|-|-|
:information_source: | 摘要 | Discourse 音频消息 允许用户直接录制音频消息并将其附加到帖子中。
:hammer_and_wrench: | 代码库链接 | \u003chttps://github.com/pbenkoe/discourse-audio-message\u003e
:open_book: | 安装指南 | 如何在 Discourse 中安装插件

此插件是在 ChatGPT 的帮助下开发的,因为我在后端/JavaScript 开发方面的背景有限。

实现非常基础,但我希望它能帮助一些人,也许可以作为进一步开发的基石。

请务必查看 Github 页面上的安装说明。

5 个赞

您好,感谢您发布您的作品。:slight_smile:

不过,它放错类别了,应该放在 #plugin。由于您解释说您对编写插件没有特别的了解,并且在某些部分依赖了chatGPT,我将确保代码正确编写后再将其移至该类别。

另外,它是否做了 Voice Recorder Component 已经做过的事情?

5 个赞

是的,请看看它是否符合要求,并根据需要调整论坛类别 :pray:

虽然我从未亲自尝试过,但根据帖子,我假设它无法正常工作,因此我决定自己开发一个小插件……

我试过了,它确实不能正常工作。理论上,你可以用一个主题组件(假设 Voice Recorder Component 做的事情差不多)来实现你的插件所能做到的,这要容易安装得多。

另一个被重写成主题组件的插件示例:

3 个赞

谢谢,我会去看看。

2 个赞

这个音频消息录制插件在我的 Discourse 上运行完美。谢谢你 @peter.be !!!

1 个赞

供您参考,这里有一些关于插件与主题组件的讨论……

2 个赞

直接提交一个修复补丁(PR)不是更好吗?

2 个赞

这里有一个Vimeo演示了该插件的用法……(顺便说一句,它在移动设备上也能用 :clap:

3 个赞

请注意,此插件会破坏我网站上的标签组页面。整个标签组列表消失,您也无法修改任何标签组。卸载此插件后,问题就消失了……

1 个赞

我已经把它发到了 Dev 频道,关于它的开发方面还有一些讨论。:+1:

3 个赞

各位,毫无疑问,尝试编写插件是一件很有趣的事情,也是一次非常有用的学习经历,更有趣的是看看 ChatGPT 能否帮助你编写它……

……但将插件部署到生产环境并正式与公众分享,确实意味着你需要承担后续支持的责任。

依赖 ChatGPT 作为生产力助手固然很好,但你确实需要自己理解每一行代码。

如果不是因为我们已经有一个涵盖了这一功能领域的 Theme Component(尽管目前无法正常工作),我不会对这一切有太大问题。

部署一个插件来取代它是一个倒退,因为你应该尽可能地将东西部署为 Theme Component,这样它就可以被更多类型的安装更广泛地使用,侵入性更小,并且部署和移除速度更快。

你需要一个_非常_好的理由来恢复使用插件(这个理由可能存在,但最好详细说明和辩护)。

我仍然认为,作为一个社区,我们应该致力于维护现有的资产,而不是创建新的资产(除非,像 Guest Gate Component 那样,有机会创建一个 Theme Component 来代替,这将是一个有价值的改进)。

为此,我认为努力应该集中在以下方面:

我怀疑它不再工作的主要原因是原始维护者太忙于其他项目,但没有任何东西阻止任何人向仓库贡献代码来修复它,有人尝试过吗?

Pavilion 的成员在投入我们多年来无数的公开贡献方面的时间是有限的,社区确实需要承担一部分负担。

/rant 结束

5 个赞

也许因为它有效?而且……

这从未发生过。

从开发者的角度来看,我完全理解你。但作为最终用户的例子,我会说插件与组件不是什么大问题,因为我们(或者说我)一直在不断升级,所有重要的是完成工作的方式。

我们不需要应用程序来录制和上传音频。我们有设备可以做到这一点(无论如何,几乎是因为苹果仍然不喜欢 MP3),但这并不是一个非常流畅的工作流程。一键操作即可,无论它来自插件还是组件。

是的。我也更喜欢组件。

2 个赞

那些以较低价格托管的用户通常被限制使用主题组件进行定制,而且这几乎肯定是一个更庞大的人群,因此切换到插件会排除很多网站。

当然,你和我没有这个特定的限制。

1 个赞

确实如此。这些是我不记得发生过的案例。但它们无论如何都受到限制。所以这种情况只是另一种(尽管应该尽量避免),

1 个赞

这实际上是一个大问题,因为有许多实例是托管的,并且插件还受到托管层级的进一步限制。主题组件有一些限制,但对于那些不是自托管的用户来说,它们也提供了更大的灵活性和更易于管理。

2 个赞

也许是我误解了你的意思(语言问题),但我不赞同——托管是许多论坛非常可行的选择和解决方案。

1 个赞

总之,这本不该成为一场大批判,我很高兴 @peter.be 你进入了这个领域并分享你的工作,但也许你可以考虑这些更广泛的观点 :+1:

5 个赞

罗伯特,感谢您提出您的顾虑。

当我决定自己编写解决方案时(因为目前没有一个现有的解决方案可行),我并不知道主题组件与插件的优缺点。如果关于插件开发的教程中包含一个免责声明,也许会很好?(https://meta.discourse.org/t/developing-discourse-plugins-part-1-create-a-basic-plugin/30515)

我确实只需要一个简单的解决方案来简化音频录制工作流程。如果您作为这个领域的资深人士,有灵感将插件改写成主题组件,我很乐意协助您并回答有关插件源代码的问题。

如果您没有灵感,我可能最终会回来处理这个问题,只是我无法确定何时会有时间 :folded_hands:

4 个赞

我曾试图修复损坏的主题组件版本,但我的技能显然还不够。

不过,我能够修复和改进插件中的一些东西,所以这样做很有趣,当然我也学到了一些东西,这始终是最好的回报!

(也就是说,我在 Github 上提交了我的第一个 PR!)

我会继续努力,因为我确实同意主题组件相对于插件的优势(并且最好始终同时拥有这两种选择,因为插件相对于 TC 仍然具有一些优势!)

5 个赞