自定义自动化的正确流程是怎样的?

我是新手,我对于创建自定义自动化教程有一些疑问。

我初次尝试了在github codespace开发环境直接编写自动化脚本(我并不懂语法,代码是由Claude编写的)。
修改完成后,文件结构应该是这样的:

plugins/automation/
├── lib/
│   └── discourse_automation/
│       ├── scripts.rb                 # 已修改
│       └── scripts/
│           ├── ...                    # 其他脚本
│           └── remove_expired_group_members.rb  # 新增
└── config/
    └── locales/
        ├── server.en.yml              # 已修改
        ├── client.en.yml              # 已修改
        ├── server.zh_CN.yml           # 已修改
        └── client.zh_CN.yml           # 已修改

但是我不清楚在生产环境,是否可以这样操作。
另外我不清楚这样的修改是否会随着rebuild或者automation插件更新而丢失,所以不敢在生产环境尝试。也许应该提交功能申请,由插件维护人员添加?

希望有经验的朋友能够告知,从编写测试到生产环境应用到正确的操作流程。
非常感谢!

1 个赞

我认为这可能需要一个新的插件。
您可以查看:

3 个赞

我已查看了您给出的链接
请问,您是否可以为我解释一下,为什么应该使用插件而非在自动化插件中创建脚本?

1,我并不专业,看上去创建插件似乎更加困难一些
2,我有许多的功能需要实现,这似乎需要创建很多插件?(尽管我也喜欢插件,可以共享)

1 个赞

如果我没记错的话,如果你修改了插件,下次更新时它将被覆盖。

4 个赞

OK,这正是我所担心的
那么自定义自动化功能似乎对用户的意义不大? :joy:
我再去查看一下文档,如果不行,我会尝试创建插件

2 个赞

我认为教程(这是一个草稿)缺少这方面的信息。它解释了如何创建新的自动化,但没有说明在哪里创建。回复中提到了插件示例,比如@NateDhaliwal 链接的那个。

Simon 还建议查看数据浏览器插件:Create custom Automations - #6 by simon

这取决于你说的“用户”是什么意思?:smile: 作为一个开发者,你当然可以创建一个添加自动化的新插件。这是正确做这件事的方式。

既然你提到不懂代码,但能用人工智能来做这件事,也许你会对这个讨论感兴趣。Claude & Discourse-related development. How good is it?

我目前正在试验这个(但我对代码只有模糊的概念——不足以自己创建哪怕一个简单的插件!),很快就会分享我最近的经验。

既然 Claude 让你编辑自动化插件,你可能想改进你的提示,让 AI 遵循真正的良好实践。

3 个赞

不是的。它之所以是自定义自动化,是因为它不是内置的。你需要在一个插件中添加一个新的。https://github.com/scossar/automation-script-example,教程中也有链接。你可以从那个开始,然后尝试告诉任何你想要的 AI 添加一个新的自定义设置。

你希望你的自定义自动化做什么?

1 个赞

我需要一个可以自动移除到期的群组成员的自动化脚本。
设定群组和时长,到期自动移除用户。

例如:
设定:VIP群组,30天时长。
用户加入VIP群组后到达30天即被移除。

我现在越来越困惑,不清楚自动化插件到底能不能保存我自己编写的自动化脚本。(前面的评论指出会被覆盖)

如果是您,您通常会如何使用自动化插件?
您是否可以准确描述一下您的使用方式(自动化插件的内置脚本和触发器无法满足需求的情况下)?
我想我能从您的场景描述中学习自定义功能的运作方式

如何将用户添加到 VIP 组?或者,也许有意义的是,将添加他们到该组的操作也移除他们。例如,订阅插件就是这样做的。

自动化不会被移除,但编辑容器中的代码会被移除。

你需要一个在用户被添加到组时的触发器,以及一个在一段时间后将他们从组中移除的操作。我不确定这有多容易实现。

1 个赞