如何进行编排

  1. 定义 Metadata

  2. 创建Card

  3. 创建Step

  4. 创建Strategy

  5. 装配到工厂,并启动

定义 Metadata

metadata 是bot 的数据集,用户可以任意扩展这个结构用于适配自己的应用程序的逻辑需求。

它被bot持有,并被所有的Card引用。

// BotDat bot的metadata
type BotDat struct {
    Token string
    AccID string
}

// NewBotData 创建bot metadata
func NewBotData() (*BotDat, error) {
    b := &BotDat{}
    return b, nil
}

创建Card

Card 代理了每个 http 请求,它主要被用于复用在各个策略逻辑以及不同的编排上

它主要定义了

  • API的调用方式

  • API的参数定义 & 请求|回复 的打包和解析

  • 参数注入(用于在不同的策略和编排下,注入api中变量的值

  • 断言注入(用于在不同的策略和编排下,断言回复后参数的校验

创建Step

step 用于编排一段执行逻辑

例: 我们创建一个account step 他将被复用到不同的strategy中(因为登陆是每个bot必须执行的步骤

同样的我们可以编排任意多的step,用于复用在各种不同的strategy中。

创建Strategy

strategy bot的创建函数,用于定制不同的策略&行为模式

装配到工厂,并启动

factory 机器人的批量创建工厂

主要用于定义bot的创建模式,运行时间,以及各种运行参数。

Last updated

Was this helpful?