ppagent / FeishuSource
Class: FeishuSource
Defined in: src/source/feishu.source.ts:245
飞书的应用消息源,要注意使用了长连接进行监听,不能启动多个参数相同的消息源,只有其中一个会接收到消息
涉及到用户或者群组信息时,userId是对应的用户open_id或者群组的open_id,userName对应的用户userId或者群组自定义id(仅在需要单独调用消息发送接口时会用到)
至少需要基本的机器人消息权限、获取用户基本信息、通讯录中获取部门列表及用户列表相关权限、卡片消息相关权限
由于飞书的自定义机器人没有权限直接上传图片文件,因此只能发送文本信息、不带图的富文本信息和不带图的卡片消息
Implements
Constructors
Constructor
new FeishuSource(
_app
,_options
):FeishuSource
Defined in: src/source/feishu.source.ts:447
Parameters
_app
_options
Returns
FeishuSource
Properties
event
event:
Emittery
Defined in: src/source/feishu.source.ts:478
用户发布订阅事件的对象,事件类型为SourceEventType
Implementation of
params
static
params:ISourceParamas
Defined in: src/source/feishu.source.ts:246
Accessors
actions
Get Signature
get actions():
ISourceActionInfo
[]
Defined in: src/source/feishu.source.ts:475
消息源的路由和ws处理器列表,需要在消息源的构造函数阶段创建
Returns
Implementation of
options
Get Signature
get options():
IFeishuSourceOptions
Defined in: src/source/feishu.source.ts:472
初始化过程中的动态参数
Returns
Implementation of
params
Get Signature
get params():
ISourceParamas
Defined in: src/source/feishu.source.ts:469
这个Source的固有属性,比如source的平台名称
Returns
Implementation of
Methods
afterSend()
afterSend(
message
):Promise
<void
>
Defined in: src/source/feishu.source.ts:1558
当agent把内容发送给bot之后,可以用来给source释放相关资源,如结束卡片的写入状态。
Parameters
message
Returns
Promise
<void
>
Implementation of
beforeSend()
beforeSend(
message
):Promise
<void
>
Defined in: src/source/feishu.source.ts:1520
当agent把内容送给bot回复之前。可以用来做一系列的准备工作,如提前下发卡片stream卡片。
Parameters
message
Returns
Promise
<void
>
Implementation of
dispose()
dispose():
Promise
<string
>
Defined in: src/source/feishu.source.ts:1639
Returns
Promise
<string
>
Implementation of
getContactDetail()
getContactDetail(
baseInfo
):Promise
<ISourceUserInfo
>
Defined in: src/source/feishu.source.ts:1635
根据获取联系人列表接口返回的粗略信息
Parameters
baseInfo
Returns
Promise
<ISourceUserInfo
>
Implementation of
getContacts()
getContacts(
mode
,force
):Promise
<object
&Partial
<ISourceUserInfo
>[]>
Defined in: src/source/feishu.source.ts:1610
获取用户信息,至少返回nickName
Parameters
mode
all返回全部,user仅返回个人用户,group仅返回群组
"all"
| "user"
| "group"
force
boolean
= false
Returns
Promise
<object
& Partial
<ISourceUserInfo
>[]>
Implementation of
hasLogin()
hasLogin():
boolean
Defined in: src/source/feishu.source.ts:1467
是否是登录状态。仅被用来检查登录状态,未登录不代表出错,也可能是正处于登录中。
Returns
boolean
Implementation of
login()
login():
Promise
<void
>
Defined in: src/source/feishu.source.ts:1477
执行登录,如果有需要扫码等,应发出全局TODO事件,登录成功后发出LOGIN消息,并携带用户信息
Returns
Promise
<void
>
Implementation of
me()
me(
force?
):Promise
<ISourceUserInfo
>
Defined in: src/source/feishu.source.ts:1432
获取当前登录用户的个人信息
Parameters
force?
boolean
Returns
Promise
<ISourceUserInfo
>
Implementation of
sendMessage()
sendMessage(
message
,fromMessage?
):Promise
<string
>
Defined in: src/source/feishu.source.ts:1564
发送消息,如果返回内容不为空,说明发送失败
Parameters
message
要发送的消息
fromMessage?
该条消息如果是对某条消息的响应,可以传入原始消息。某些平台可能只允许被动发送消息,此时可能需要用到原始触发回复的那条消息。
Returns
Promise
<string
>