假定您的 Worker 路由是 https://example.workers.dev/
。
笔者这里默认您会使用 Telegram。
面板配置信息
https://example.workers.dev/space/dash/setting
打开 Setting
面板,新建一个 Project 名为 TelegrafBot
。
ADMIN_ID
: 管理员用户 ID [https://t.me/userinfobot]ADMIN_GROUP_ID
: 私有群组 IDPUBLIC_GROUP_ID
: 公开群组 IDTEST_GROUP_ID
: 测试群组 ID
这里有三个 GROUP ID,分别是私有群,公开群,测试群;ID 是数字。如何获取群组 ID,请参考下文输入命令 >ChatID
。
测试群是笔者开发测试使用,私有群中会有 Telegram 机器人的报错日志信息。
问答系统的配置文件
问答系统的配置文件是 yml 格式
https://github.com/CoPoKo/Space/blob/main/src/Space/TelegrafBot/BotModel/Text/workflows.yml
- workflow: |
workflow
被称为工作流,每一个工作流都是一个判断列表,一个工作流中只能有一个 action
被触发,触发后跳出执行下一个工作流。
action
被称为动作,每一个动作都是一个函数,动作的函数名称是 action:
后面的函数名称。
reply
是一种特殊的动作,它的动作是 reply:
后面的文本。
re
是一个正则表达式判断条件。
includes
是一个正则表达式列表判断条件,必须全部满足才会触发 action
。
random
是一个随机触发判断条件,赋值 0-100。
- workflow: |
admin
是一个管理员判断条件,匹配 ADMIN_NAME
配置信息中的用户名,如果匹配则触发 admin
工作流,否则触发 else
工作流。
- workflow: |
cmd
是命令判断条件,匹配 cmd
配置信息中的命令。 命令以 >
开头。arg
是 action
中的默认参数列表。参数以 -
开头,或者按照顺序排列可以省略 -
(但是省略 -
会有 bug)。
例如:
>unsplash |
>unsplash -k cat |
>unsplash dog |