@larksuiteoapi/lark-mcp
Version:
Feishu/Lark OpenAPI MCP
957 lines (956 loc) • 132 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.imV1MessageUrgentSms = exports.imV1MessageUrgentPhone = exports.imV1MessageUrgentApp = exports.imV1MessageUpdate = exports.imV1MessageReply = exports.imV1MessageReadUsers = exports.imV1MessageReactionList = exports.imV1MessageReactionDelete = exports.imV1MessageReactionCreate = exports.imV1MessagePushFollowUp = exports.imV1MessagePatch = exports.imV1MessageMergeForward = exports.imV1MessageList = exports.imV1MessageGet = exports.imV1MessageForward = exports.imV1MessageDelete = exports.imV1MessageCreate = exports.imV1ChatUpdate = exports.imV1ChatTopNoticePutTopNotice = exports.imV1ChatTopNoticeDeleteTopNotice = exports.imV1ChatTabUpdateTabs = exports.imV1ChatTabSortTabs = exports.imV1ChatTabListTabs = exports.imV1ChatTabDeleteTabs = exports.imV1ChatTabCreate = exports.imV1ChatSearch = exports.imV1ChatModerationUpdate = exports.imV1ChatModerationGet = exports.imV1ChatMenuTreeSort = exports.imV1ChatMenuTreeGet = exports.imV1ChatMenuTreeDelete = exports.imV1ChatMenuTreeCreate = exports.imV1ChatMenuItemPatch = exports.imV1ChatMembersMeJoin = exports.imV1ChatMembersIsInChat = exports.imV1ChatMembersGet = exports.imV1ChatMembersDelete = exports.imV1ChatMembersCreate = exports.imV1ChatManagersDeleteManagers = exports.imV1ChatManagersAddManagers = exports.imV1ChatList = exports.imV1ChatLink = exports.imV1ChatGet = exports.imV1ChatDelete = exports.imV1ChatCreate = exports.imV1ChatAnnouncementPatch = exports.imV1ChatAnnouncementGet = exports.imV1BatchMessageReadUser = exports.imV1BatchMessageGetProgress = exports.imV1BatchMessageDelete = void 0;
exports.imV1Tools = exports.imV1ThreadForward = exports.imV1PinList = exports.imV1PinDelete = exports.imV1PinCreate = void 0;
const zod_1 = require("zod");
exports.imV1BatchMessageDelete = {
project: 'im',
name: 'im.v1.batchMessage.delete',
sdkName: 'im.v1.batchMessage.delete',
path: '/open-apis/im/v1/batch_messages/:batch_message_id',
httpMethod: 'DELETE',
description: '[Feishu/Lark]-消息-批量消息-批量撤回消息-该接口用于撤回通过[批量发送消息]接口发送的消息',
accessTokens: ['tenant'],
schema: {
path: zod_1.z.object({
batch_message_id: zod_1.z
.string()
.describe('待撤回的批量消息任务 ID,该 ID 为[批量发送消息]接口返回值中的`message_id`字段,用于标识一次批量发送消息请求'),
}),
},
};
exports.imV1BatchMessageGetProgress = {
project: 'im',
name: 'im.v1.batchMessage.getProgress',
sdkName: 'im.v1.batchMessage.getProgress',
path: '/open-apis/im/v1/batch_messages/:batch_message_id/get_progress',
httpMethod: 'GET',
description: '[Feishu/Lark]-消息-批量消息-查询批量消息整体进度-[批量发送消息]或者[批量撤回消息]后,可通过该接口查询消息的发送进度和撤回进度',
accessTokens: ['tenant'],
schema: {
path: zod_1.z.object({
batch_message_id: zod_1.z
.string()
.describe('待查询的批量消息任务 ID,该 ID 为[批量发送消息]接口返回值中的 `message_id` 字段,用于标识一次批量发送消息请求'),
}),
},
};
exports.imV1BatchMessageReadUser = {
project: 'im',
name: 'im.v1.batchMessage.readUser',
sdkName: 'im.v1.batchMessage.readUser',
path: '/open-apis/im/v1/batch_messages/:batch_message_id/read_user',
httpMethod: 'GET',
description: '[Feishu/Lark]-消息-批量消息-查询批量消息推送和阅读人数-[批量发送消息]后,可通过该接口查询消息推送的总人数以及消息已读人数',
accessTokens: ['tenant'],
schema: {
path: zod_1.z.object({
batch_message_id: zod_1.z
.string()
.describe('待查询的批量消息任务 ID,该 ID 为[批量发送消息]接口返回值中的 `message_id` 字段,用于标识一次批量发送消息请求'),
}),
},
};
exports.imV1ChatAnnouncementGet = {
project: 'im',
name: 'im.v1.chatAnnouncement.get',
sdkName: 'im.v1.chatAnnouncement.get',
path: '/open-apis/im/v1/chats/:chat_id/announcement',
httpMethod: 'GET',
description: '[Feishu/Lark]-群组-群公告-获取群公告信息-获取指定群组中的群公告信息,公告信息格式与[旧版云文档]格式相同',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z
.object({ user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional() })
.optional(),
path: zod_1.z.object({
chat_id: zod_1.z
.string()
.describe('群 ID。获取方式:- [创建群],从返回结果中获取该群的 chat_id。- 调用[获取用户或机器人所在的群列表]接口,可以查询用户或机器人所在群的 chat_id。- 调用[搜索对用户或机器人可见的群列表],可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id。**注意**:单聊(群类型为 `p2p`)不支持获取群公告'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.imV1ChatAnnouncementPatch = {
project: 'im',
name: 'im.v1.chatAnnouncement.patch',
sdkName: 'im.v1.chatAnnouncement.patch',
path: '/open-apis/im/v1/chats/:chat_id/announcement',
httpMethod: 'PATCH',
description: '[Feishu/Lark]-群组-群公告-更新群公告信息-更新指定群组中的群公告信息。更新的公告内容格式和更新[旧版云文档]的格式相同,不支持新版云文档格式',
accessTokens: ['tenant', 'user'],
schema: {
data: zod_1.z.object({
revision: zod_1.z
.string()
.describe('文档当前版本号 int64 类型,可调用[获取群公告信息]接口,从返回结果中获取。**注意**:传入的版本号和最新版本号的差距不能超过 100'),
requests: zod_1.z
.array(zod_1.z.string())
.describe('公告内容,调用接口时该参数必须传入值。公告内容的格式与更新旧版文档内容的格式相同,具体数据结构参考[编辑旧版文档内容]')
.optional(),
}),
path: zod_1.z.object({
chat_id: zod_1.z
.string()
.describe('群 ID。获取方式:- [创建群],从返回结果中获取该群的 chat_id。- 调用[获取用户或机器人所在的群列表]接口,可以查询用户或机器人所在群的 chat_id。- 调用[搜索对用户或机器人可见的群列表],可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id。**注意**:单聊(群类型为 `p2p`)不支持更新群公告'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.imV1ChatCreate = {
project: 'im',
name: 'im.v1.chat.create',
sdkName: 'im.v1.chat.create',
path: '/open-apis/im/v1/chats',
httpMethod: 'POST',
description: '[Feishu/Lark]-群组-群组管理-创建群-创建群聊,创建时支持设置群头像、群名称、群主以及群类型等配置,同时支持邀请群成员、群机器人入群',
accessTokens: ['tenant'],
schema: {
data: zod_1.z
.object({
avatar: zod_1.z
.string()
.describe('群头像对应的 Image Key- 可通过[上传图片]获取(注意:上传图片的 ==image_type== 需要指定为 ==avatar==)- 不传值则使用系统默认头像')
.optional(),
name: zod_1.z
.string()
.describe('群名称 **注意:** - 建议群名称不超过 60 字符- 公开群名称的长度不得少于 2 个字符- 私有群若未填写群名称,群名称默认设置为 `(无主题)`')
.optional(),
description: zod_1.z.string().describe('群描述,建议不超过 100 字符**默认值**:空').optional(),
i18n_names: zod_1.z
.object({
zh_cn: zod_1.z.string().describe('中文名').optional(),
en_us: zod_1.z.string().describe('英文名').optional(),
ja_jp: zod_1.z.string().describe('日文名').optional(),
})
.describe('群国际化名称**注意**:- 建议不超过 60 字符- 不设置国际化名称,则默认展示 `name` 参数对应的名称')
.optional(),
owner_id: zod_1.z
.string()
.describe('创建群时指定的群主,不填时指定建群的机器人为群主。群主 ID 类型在查询参数 ==user_id_type== 中指定;推荐使用 OpenID,获取方式可参考文档[如何获取 Open ID?]**注意**:开启对外共享能力的机器人在创建外部群时,机器人不能为群主,必须指定某一用户作为群主。此外,添加外部用户进群时,外部用户必须和群主已成为飞书好友')
.optional(),
user_id_list: zod_1.z
.array(zod_1.z.string().describe('user_id'))
.describe('创建群时邀请的群成员,不填则不邀请成员。ID 类型在查询参数 ==user_id_type== 中指定;推荐使用 OpenID,获取方式可参考文档[如何获取 Open ID?]**注意**:- 最多同时邀请 50 个用户- 为便于在客户端查看效果,建议调试接口时加入开发者自身 ID- 如果需要邀请外部用户,则外部用户必须和群主已成为飞书好友- 如何获取外部用户的 open_id,参考[获取外部用户的 open_id]')
.optional(),
bot_id_list: zod_1.z
.array(zod_1.z.string().describe('app_id'))
.describe('创建群时邀请的群机器人,不填则不邀请机器人。可参考[如何获取应用的 App ID?]来获取应用的 App ID **注意:**- 操作此接口的机器人会自动入群,无需重复填写- 拉机器人入群请使用 `app_id`- 最多同时邀请 5 个机器人,且邀请后群组中机器人数量不能超过 15 个')
.optional(),
group_message_type: zod_1.z
.enum(['chat', 'thread'])
.describe('群消息形式 Options:chat(对话消息),thread(话题消息)')
.optional(),
chat_mode: zod_1.z.string().describe('群模式**可选值有**:- `group`:群组').optional(),
chat_type: zod_1.z.string().describe('群类型**可选值有**:- `private`:私有群- `public`:公开群').optional(),
join_message_visibility: zod_1.z
.string()
.describe('成员入群提示消息的可见性**可选值有**:- `only_owner`:仅群主和管理员可见- `all_members`:所有成员可见- `not_anyone`:任何人均不可见')
.optional(),
leave_message_visibility: zod_1.z
.string()
.describe('成员退群提示消息的可见性**可选值有**:- `only_owner`:仅群主和管理员可见- `all_members`:所有成员可见- `not_anyone`:任何人均不可见')
.optional(),
membership_approval: zod_1.z
.string()
.describe('加群是否需要审批**可选值有**:- `no_approval_required`:无需审批- `approval_required`:需要审批')
.optional(),
restricted_mode_setting: zod_1.z
.object({
status: zod_1.z
.boolean()
.describe('保密模式是否开启**可选值有**:- true:开启。设置为 ture 时,`screenshot_has_permission_setting`、`download_has_permission_setting`、`message_has_permission_setting` 不能全为 `all_members`。- false:不开启。设置为 false 时,`screenshot_has_permission_setting`、`download_has_permission_setting`、`message_has_permission_setting` 不能存在 `not_anyone`。**默认值**:false')
.optional(),
screenshot_has_permission_setting: zod_1.z
.enum(['all_members', 'not_anyone'])
.describe('允许截屏录屏**默认值**:all_members Options:all_members(AllMembers 所有成员允许截屏录屏),not_anyone(NotAnyone 所有成员禁止截屏录屏)')
.optional(),
download_has_permission_setting: zod_1.z
.enum(['all_members', 'not_anyone'])
.describe('允许下载消息中图片、视频和文件**默认值**:all_members Options:all_members(AllMembers 所有成员允许下载资源),not_anyone(NotAnyone 所有成员禁止下载资源)')
.optional(),
message_has_permission_setting: zod_1.z
.enum(['all_members', 'not_anyone'])
.describe('允许复制和转发消息**默认值**:all_members Options:all_members(AllMembers 所有成员允许复制和转发消息),not_anyone(NotAnyone 所有成员禁止复制和转发消息)')
.optional(),
})
.describe('保密模式设置**注意**:保密模式适用于企业旗舰版。适用版本与功能介绍参见[会话保密模式]')
.optional(),
urgent_setting: zod_1.z
.enum(['only_owner', 'all_members'])
.describe('谁可以加急**默认值**:all_members Options:only_owner(仅群主和管理员),all_members(所有成员)')
.optional(),
video_conference_setting: zod_1.z
.enum(['only_owner', 'all_members'])
.describe('谁可以发起视频会议**默认值**:all_members Options:only_owner(仅群主和管理员),all_members(所有成员)')
.optional(),
edit_permission: zod_1.z
.enum(['only_owner', 'all_members'])
.describe('谁可以编辑群信息**默认值**:all_members Options:only_owner(仅群主和管理员),all_members(所有成员)')
.optional(),
hide_member_count_setting: zod_1.z
.enum(['all_members', 'only_owner'])
.describe('隐藏群成员人数设置**默认值**:all_members Options:all_members(所有群成员可见),only_owner(仅群主群管理员可见)')
.optional(),
})
.optional(),
params: zod_1.z
.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
set_bot_manager: zod_1.z
.boolean()
.describe('如果在请求体的 ==owner_id== 字段指定了某个用户为群主,可以选择是否同时设置创建此群的机器人为管理员,此标志位用于标记是否设置创建群的机器人为管理员')
.optional(),
uuid: zod_1.z
.string()
.describe('由开发者生成的唯一字符串序列,用于创建群组请求去重;持有相同 uuid + owner_id(若有) 的请求 10 小时内只可成功创建 1 个群聊。不传值表示不进行请求去重,每一次请求成功后都会创建一个群聊')
.optional(),
})
.optional(),
},
};
exports.imV1ChatDelete = {
project: 'im',
name: 'im.v1.chat.delete',
sdkName: 'im.v1.chat.delete',
path: '/open-apis/im/v1/chats/:chat_id',
httpMethod: 'DELETE',
description: '[Feishu/Lark]-群组-群组管理-解散群-通过 chat_id 解散指定群组。通过 API 解散群组后,群聊天记录将不会保存',
accessTokens: ['tenant', 'user'],
schema: {
path: zod_1.z.object({
chat_id: zod_1.z
.string()
.describe('群 ID。获取方式:- [创建群],从返回结果中获取该群的 chat_id。- 调用[获取用户或机器人所在的群列表]接口,可以查询用户或机器人所在群的 chat_id。- 调用[搜索对用户或机器人可见的群列表],可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id。**注意**:仅支持群模式为 `group` 的群组 ID。你可以调用[获取群信息]接口,在返回结果中查看 `chat_mode` 参数取值是否为 `group`'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.imV1ChatGet = {
project: 'im',
name: 'im.v1.chat.get',
sdkName: 'im.v1.chat.get',
path: '/open-apis/im/v1/chats/:chat_id',
httpMethod: 'GET',
description: '[Feishu/Lark]-群组-群组管理-获取群信息-获取指定群的基本信息,包括群名称、群描述、群头像、群主 ID 以及群权限配置等',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z
.object({ user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional() })
.optional(),
path: zod_1.z.object({
chat_id: zod_1.z
.string()
.describe('群 ID。获取方式:- [创建群],从返回结果中获取该群的 chat_id。- 调用[获取用户或机器人所在的群列表]接口,可以查询用户或机器人所在群的 chat_id。- 调用[搜索对用户或机器人可见的群列表],可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.imV1ChatLink = {
project: 'im',
name: 'im.v1.chat.link',
sdkName: 'im.v1.chat.link',
path: '/open-apis/im/v1/chats/:chat_id/link',
httpMethod: 'POST',
description: '[Feishu/Lark]-群组-群组管理-获取群分享链接-获取指定群的分享链接,他人点击分享链接后可加入群组',
accessTokens: ['tenant', 'user'],
schema: {
data: zod_1.z
.object({
validity_period: zod_1.z
.enum(['week', 'year', 'permanently'])
.describe('群分享链接有效时长 Options:week(one_week 有效期 7 天),year(one_year 有效期 1 年),permanently(永久有效)')
.optional(),
})
.optional(),
path: zod_1.z.object({
chat_id: zod_1.z
.string()
.describe('群 ID。获取方式:- [创建群],从返回结果中获取该群的 chat_id。- 调用[获取用户或机器人所在的群列表]接口,可以查询用户或机器人所在群的 chat_id。- 调用[搜索对用户或机器人可见的群列表],可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id。**注意**:单聊、密聊、团队群不支持分享群链接'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.imV1ChatList = {
project: 'im',
name: 'im.v1.chat.list',
sdkName: 'im.v1.chat.list',
path: '/open-apis/im/v1/chats',
httpMethod: 'GET',
description: '[Feishu/Lark]-群组-群组管理-获取用户或机器人所在的群列表-获取 [access_token] 所代表的用户或者机器人所在的群列表',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z
.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
sort_type: zod_1.z
.enum(['ByCreateTimeAsc', 'ByActiveTimeDesc'])
.describe('群组排序方式 Options:ByCreateTimeAsc(按群组创建时间升序排列),ByActiveTimeDesc(按群组活跃时间降序排列。因群组活跃时间变动频繁,使用 `ByActiveTimeDesc` 排序方式可能会造成群组遗漏。例如,设置分页大小为 10,发起第一次请求获取到第一页数据后,原本排在第 11 位的群组中有群成员发送了一条消息,那么该群组将被排列到第 1 位,此时发起请求获取第二页数据时,该群组将不能被获取到,需要再从第一页开始获取。)')
.optional(),
page_token: zod_1.z
.string()
.describe('分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果')
.optional(),
page_size: zod_1.z.number().describe('分页大小,用来限制一次请求返回的数据条目数').optional(),
})
.optional(),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.imV1ChatManagersAddManagers = {
project: 'im',
name: 'im.v1.chatManagers.addManagers',
sdkName: 'im.v1.chatManagers.addManagers',
path: '/open-apis/im/v1/chats/:chat_id/managers/add_managers',
httpMethod: 'POST',
description: '[Feishu/Lark]-群组-群成员-指定群管理员-指定群组,将群内指定的用户或者机器人设置为群管理员',
accessTokens: ['tenant', 'user'],
schema: {
data: zod_1.z
.object({
manager_ids: zod_1.z
.array(zod_1.z.string())
.describe('要设置为管理员的 ID,ID 类型与查询参数 member_id_type 取值一致。- 如果是用户(member_id_type 取值为 user_id/open_id/union_id),推荐使用用户的 open_id,获取方式可参考文档[如何获取 Open ID]。- 如果是机器人(member_id_type 取值为 app_id),请参考[如何获取应用的 App ID]**注意**:- 对于普通群,最多可指定 10 个管理员。- 对于超大群,最多可指定 20 个管理员。- 单次请求指定机器人时,最多可指定 5 个机器人。超大群和普通群的区别,参见[超大群与普通群有什么区别]')
.optional(),
})
.optional(),
params: zod_1.z
.object({
member_id_type: zod_1.z
.enum(['open_id', 'union_id', 'user_id', 'app_id'])
.describe('用户 ID 类型 Options:open_id(标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。[了解更多:如何获取 Open ID?]),union_id(标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的,在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID,应用开发商可以把同个用户在多个应用中的身份关联起来。[了解更多:如何获取 Union ID?]),user_id(标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内,一个用户的 User ID 在所有应用(包括商店应用)中都保持一致。User ID 主要用于在不同的应用间打通用户数据。[了解更多:如何获取 User ID?]),app_id(飞书开放平台应用的唯一标识。在创建应用时,由系统自动生成,用户不能自行修改。[了解更多:如何获取应用的 App ID?])')
.optional(),
})
.optional(),
path: zod_1.z.object({
chat_id: zod_1.z
.string()
.describe('群 ID。获取方式:- [创建群],从返回结果中获取该群的 chat_id。- 调用[获取用户或机器人所在的群列表]接口,可以查询用户或机器人所在群的 chat_id。- 调用[搜索对用户或机器人可见的群列表],可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id。**注意**:仅支持群模式为 **群组(group)**、**话题(topic)** 的群组 ID。你可以调用[获取群信息]接口,在返回结果中查看 `chat_mode` 参数取值是否为 `group`、`topic`'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.imV1ChatManagersDeleteManagers = {
project: 'im',
name: 'im.v1.chatManagers.deleteManagers',
sdkName: 'im.v1.chatManagers.deleteManagers',
path: '/open-apis/im/v1/chats/:chat_id/managers/delete_managers',
httpMethod: 'POST',
description: '[Feishu/Lark]-群组-群成员-删除群管理员-指定群组,删除群组内指定的管理员,包括用户类型的管理员和机器人类型的管理员',
accessTokens: ['tenant', 'user'],
schema: {
data: zod_1.z
.object({
manager_ids: zod_1.z
.array(zod_1.z.string())
.describe('要删除的管理员 ID,ID 类型与查询参数 member_id_type 取值一致。- 如果是用户(member_id_type 取值为 user_id/open_id/union_id),推荐使用用户的 open_id,获取方式可参考文档[如何获取 Open ID]。- 如果是机器人(member_id_type 取值为 app_id),请参考[如何获取应用的 App ID]**注意**:每次请求最多指定 50 个用户或者 5 个机器人')
.optional(),
})
.optional(),
params: zod_1.z
.object({
member_id_type: zod_1.z
.enum(['open_id', 'union_id', 'user_id', 'app_id'])
.describe('用户 ID 类型 Options:open_id(标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。[了解更多:如何获取 Open ID?]),union_id(标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的,在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID,应用开发商可以把同个用户在多个应用中的身份关联起来。[了解更多:如何获取 Union ID?]),user_id(标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内,一个用户的 User ID 在所有应用(包括商店应用)中都保持一致。User ID 主要用于在不同的应用间打通用户数据。[了解更多:如何获取 User ID?]),app_id(飞书开放平台应用的唯一标识。在创建应用时,由系统自动生成,用户不能自行修改。[了解更多:如何获取应用的 App ID?])')
.optional(),
})
.optional(),
path: zod_1.z.object({
chat_id: zod_1.z
.string()
.describe('群 ID。获取方式:- [创建群],从返回结果中获取该群的 chat_id。- 调用[获取用户或机器人所在的群列表]接口,可以查询用户或机器人所在群的 chat_id。- 调用[搜索对用户或机器人可见的群列表],可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id。**注意**:仅支持群模式为 **群组(group)**、**话题(topic)** 的群组 ID。你可以调用[获取群信息]接口,在返回结果中查看 `chat_mode` 参数取值是否为 `group`、`topic`'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.imV1ChatMembersCreate = {
project: 'im',
name: 'im.v1.chatMembers.create',
sdkName: 'im.v1.chatMembers.create',
path: '/open-apis/im/v1/chats/:chat_id/members',
httpMethod: 'POST',
description: '[Feishu/Lark]-群组-群成员-将用户或机器人拉入群聊-把指定的用户或机器人拉入指定群聊内',
accessTokens: ['tenant', 'user'],
schema: {
data: zod_1.z
.object({
id_list: zod_1.z
.array(zod_1.z.string().describe('user_id 或者 app_id'))
.describe('成员 ID 列表。- 邀请用户进群时推荐使用 OpenID,获取方式可参考文档[如何获取 Open ID?]- 邀请机器人进群时需填写应用的 App ID,请参考[如何获取应用的 App ID?]**注意**:- 成员列表不可为空- 列表中填写的成员 ID 类型应与 ==member_id_type== 参数中选择的类型相对应- 每次请求最多拉 50 个用户且不超过群人数上限。对于已认证企业的飞书的群人数默认上限:普通群 5000 人,会议群 3000 人,话题群 5000 人。若租户管理员配置了群人数上限,则群人数上限为该人数上限- 最多同时邀请 5 个机器人,且邀请后群组中机器人数量不能超过 15 个')
.optional(),
})
.optional(),
params: zod_1.z
.object({
member_id_type: zod_1.z
.enum(['open_id', 'union_id', 'user_id', 'app_id'])
.describe('用户 ID 类型 Options:open_id(标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。[了解更多:如何获取 Open ID?]),union_id(标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的,在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID,应用开发商可以把同个用户在多个应用中的身份关联起来。[了解更多:如何获取 Union ID?]),user_id(标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内,一个用户的 User ID 在所有应用(包括商店应用)中都保持一致。User ID 主要用于在不同的应用间打通用户数据。[了解更多:如何获取 User ID?]),app_id(飞书开放平台应用的唯一标识。在创建应用时,由系统自动生成,用户不能自行修改。[了解更多:如何获取应用的 App ID?])')
.optional(),
succeed_type: zod_1.z
.number()
.describe('出现不可用ID后的处理方式 0/1/2**默认值**:`0` Options:0(不存在/不可见的 ID 会拉群失败,并返回错误响应。存在已离职 ID 时,会将其他可用 ID 拉入群聊,返回拉群成功的响应。),1(将参数中可用的 ID 全部拉入群聊,返回拉群成功的响应,并展示剩余不可用的 ID 及原因。),2(参数中只要存在任一不可用的 ID ,就会拉群失败,返回错误响应,并展示出不可用的 ID。)')
.optional(),
})
.optional(),
path: zod_1.z.object({
chat_id: zod_1.z
.string()
.describe('群 ID。获取方式:- [创建群],从返回结果中获取该群的 chat_id。- 调用[获取用户或机器人所在的群列表]接口,可以查询用户或机器人所在群的 chat_id。- 调用[搜索对用户或机器人可见的群列表],可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id。**注意**:仅支持群模式为 **群组(group)**、**话题(topic)** 的群组 ID。你可以调用[获取群信息]接口,在返回结果中查看 `chat_mode` 参数取值是否为 `group`、`topic`'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.imV1ChatMembersDelete = {
project: 'im',
name: 'im.v1.chatMembers.delete',
sdkName: 'im.v1.chatMembers.delete',
path: '/open-apis/im/v1/chats/:chat_id/members',
httpMethod: 'DELETE',
description: '[Feishu/Lark]-群组-群成员-将用户或机器人移出群聊-将指定的用户或机器人从群聊中移出',
accessTokens: ['tenant', 'user'],
schema: {
data: zod_1.z
.object({
id_list: zod_1.z
.array(zod_1.z.string().describe('user_id或者app_id'))
.describe('成员 ID 列表。ID 类型与查询参数 member_id_type 的取值一致。- 移除群内的用户时推荐使用 OpenID,获取方式可参考文档[如何获取 Open ID?]。- 移除群内的机器人时需填写应用的 App ID,请参考[如何获取应用的 App ID?]。**注意**:- 成员列表不可为空。- 每次请求,最多移除 50 个用户或者 5 个机器人')
.optional(),
})
.optional(),
params: zod_1.z
.object({
member_id_type: zod_1.z
.enum(['open_id', 'union_id', 'user_id', 'app_id'])
.describe('用户 ID 类型 Options:open_id(标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。[了解更多:如何获取 Open ID?]),union_id(标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的,在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID,应用开发商可以把同个用户在多个应用中的身份关联起来。[了解更多:如何获取 Union ID?]),user_id(标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内,一个用户的 User ID 在所有应用(包括商店应用)中都保持一致。User ID 主要用于在不同的应用间打通用户数据。[了解更多:如何获取 User ID?]),app_id(飞书开放平台应用的唯一标识。在创建应用时,由系统自动生成,用户不能自行修改。[了解更多:如何获取应用的 App ID?])')
.optional(),
})
.optional(),
path: zod_1.z.object({
chat_id: zod_1.z
.string()
.describe('群 ID。获取方式:- [创建群],从返回结果中获取该群的 chat_id。- 调用[获取用户或机器人所在的群列表]接口,可以查询用户或机器人所在群的 chat_id。- 调用[搜索对用户或机器人可见的群列表],可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id。**注意**:仅支持群模式为 **群组(group)**、**话题(topic)** 的群组 ID。你可以调用[获取群信息]接口,在返回结果中查看 `chat_mode` 参数取值是否为 `group`、`topic`'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.imV1ChatMembersGet = {
project: 'im',
name: 'im.v1.chatMembers.get',
sdkName: 'im.v1.chatMembers.get',
path: '/open-apis/im/v1/chats/:chat_id/members',
httpMethod: 'GET',
description: '[Feishu/Lark]-群组-群成员-获取群成员列表-获取指定群组的成员信息,包括成员名字与 ID',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z
.object({
member_id_type: zod_1.z
.enum(['open_id', 'union_id', 'user_id'])
.describe('用户 ID 类型 Options:open_id(标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。[了解更多:如何获取 Open ID?]),union_id(标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的,在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID,应用开发商可以把同个用户在多个应用中的身份关联起来。[了解更多:如何获取 Union ID?]),user_id(标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内,一个用户的 User ID 在所有应用(包括商店应用)中都保持一致。User ID 主要用于在不同的应用间打通用户数据。[了解更多:如何获取 User ID?])')
.optional(),
page_size: zod_1.z
.number()
.describe('分页大小,用来限制一次请求所返回的数据条目数。- 由于返回的群成员列表会过滤掉机器人成员,因此返回的群成员个数可能会小于指定的 page_size。 - 如果有同一时间加入群的群成员,会一次性返回,这会导致返回的群成员个数可能会大于指定的 page_size')
.optional(),
page_token: zod_1.z
.string()
.describe('分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果')
.optional(),
})
.optional(),
path: zod_1.z.object({
chat_id: zod_1.z
.string()
.describe('群 ID。获取方式:- [创建群],从返回结果中获取该群的 chat_id。- 调用[获取用户或机器人所在的群列表]接口,可以查询用户或机器人所在群的 chat_id。- 调用[搜索对用户或机器人可见的群列表],可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.imV1ChatMembersIsInChat = {
project: 'im',
name: 'im.v1.chatMembers.isInChat',
sdkName: 'im.v1.chatMembers.isInChat',
path: '/open-apis/im/v1/chats/:chat_id/members/is_in_chat',
httpMethod: 'GET',
description: '[Feishu/Lark]-群组-群成员-判断用户或机器人是否在群里-根据使用的 access_token 判断对应的用户或者机器人是否在指定的群里',
accessTokens: ['tenant', 'user'],
schema: {
path: zod_1.z.object({
chat_id: zod_1.z
.string()
.describe('群 ID。获取方式:- [创建群],从返回结果中获取该群的 chat_id。- 调用[获取用户或机器人所在的群列表]接口,可以查询用户或机器人所在群的 chat_id。- 调用[搜索对用户或机器人可见的群列表],可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.imV1ChatMembersMeJoin = {
project: 'im',
name: 'im.v1.chatMembers.meJoin',
sdkName: 'im.v1.chatMembers.meJoin',
path: '/open-apis/im/v1/chats/:chat_id/members/me_join',
httpMethod: 'PATCH',
description: '[Feishu/Lark]-群组-群成员-用户或机器人主动加入群聊-将当前调用接口的操作者(用户或机器人)加入指定群聊',
accessTokens: ['tenant', 'user'],
schema: {
path: zod_1.z.object({
chat_id: zod_1.z
.string()
.describe('群 ID。获取方式:- [创建群],从返回结果中获取该群的 chat_id。- 调用[获取用户或机器人所在的群列表]接口,可以查询用户或机器人所在群的 chat_id。- 调用[搜索对用户或机器人可见的群列表],可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id。**注意**:- 仅支持公开群(public),你可以调用[获取群信息]接口,在返回结果中查看 `chat_type ` 参数取值是否为 `public`。- 群成员数量达到上限时无法进群。对于已认证企业的飞书的群人数默认上限:普通群 5000 人,会议群 3000 人,话题群 5000 人'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.imV1ChatMenuItemPatch = {
project: 'im',
name: 'im.v1.chatMenuItem.patch',
sdkName: 'im.v1.chatMenuItem.patch',
path: '/open-apis/im/v1/chats/:chat_id/menu_items/:menu_item_id',
httpMethod: 'PATCH',
description: '[Feishu/Lark]-群组-群菜单-修改群菜单元信息-修改指定群组内的某个一级菜单或者二级菜单的元信息,包括图标、名称、国际化名称和跳转链接',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({
update_fields: zod_1.z
.array(zod_1.z
.enum(['ICON', 'NAME', 'I18N_NAME', 'REDIRECT_LINK'])
.describe('Options:ICON(图标),NAME(名称),I18N_NAME(国际化名称),REDIRECT_LINK(跳转链接)'))
.describe('要修改的元信息'),
chat_menu_item: zod_1.z
.object({
action_type: zod_1.z
.enum(['NONE', 'REDIRECT_LINK'])
.describe('菜单类型**注意**:- 如果一级菜单有二级菜单,则此一级菜单的值必须为 `NONE`。- 菜单类型创建后不可更改。 Options:NONE(无类型),REDIRECT_LINK(跳转链接类型)')
.optional(),
redirect_link: zod_1.z
.object({
common_url: zod_1.z.string().describe('公用跳转链接,必须以 http/https 开头').optional(),
ios_url: zod_1.z
.string()
.describe('iOS 端跳转链接,当该字段不设置时,iOS 端默认使用 `common_url` 值。必须以 http/https 开头')
.optional(),
android_url: zod_1.z
.string()
.describe('Android 端跳转链接,当该字段不设置时,Android 端默认使用 `common_url` 值。必须以 http/https 开头')
.optional(),
pc_url: zod_1.z
.string()
.describe('PC 端跳转链接,当该字段不设置时,PC 端默认使用 `common_url` 值。必须以 http/https 开头。**使用说明**:在 PC 端点击群菜单后,如果需要 url 对应的页面在飞书侧边栏展开,可以在 url 前加上 `https://applink.feishu.cn/client/web_url/open?mode=sidebar-semi&url=`,例如 `https://applink.feishu.cn/client/web_url/open?mode=sidebar-semi&url=https://open.feishu.cn/`')
.optional(),
web_url: zod_1.z
.string()
.describe('Web 端跳转链接,当该字段不设置时,Web 端默认使用 `common_url` 值。必须以 http/https 开头')
.optional(),
})
.describe('跳转链接')
.optional(),
image_key: zod_1.z
.string()
.describe('图标的 key 值。通过 [上传图片] 接口上传 message 类型图片获取 image_key,并传入该值。**注意**:如果一级菜单有二级菜单,则此一级菜单不能设置图标')
.optional(),
name: zod_1.z.string().describe('菜单名称**注意**:一级、二级菜单名称字符数要在 1 ~ 120 范围内').optional(),
i18n_names: zod_1.z
.object({
zh_cn: zod_1.z.string().describe('中文名').optional(),
en_us: zod_1.z.string().describe('英文名').optional(),
ja_jp: zod_1.z.string().describe('日文名').optional(),
})
.describe('菜单国际化名称**注意**:一级、二级菜单名称字符数要在 1 ~ 120 范围内')
.optional(),
})
.describe('群菜单的元信息'),
}),
path: zod_1.z
.object({
chat_id: zod_1.z
.string()
.describe('群 ID。获取方式:- [创建群],从返回结果中获取该群的 chat_id。- 调用[获取用户或机器人所在的群列表]接口,可以查询用户或机器人所在群的 chat_id。- 调用[搜索对用户或机器人可见的群列表],可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id。**注意**:仅支持群模式为 **群组(group)** 的群组 ID。你可以调用[获取群信息]接口,在返回结果中查看 `chat_mode` 参数取值是否为 `group`')
.optional(),
menu_item_id: zod_1.z.string().describe('一级菜单或者二级菜单的 ID,ID 可通过 [获取群菜单] 接口获取').optional(),
})
.optional(),
},
};
exports.imV1ChatMenuTreeCreate = {
project: 'im',
name: 'im.v1.chatMenuTree.create',
sdkName: 'im.v1.chatMenuTree.create',
path: '/open-apis/im/v1/chats/:chat_id/menu_tree',
httpMethod: 'POST',
description: '[Feishu/Lark]-群组-群菜单-添加群菜单-在指定群组中添加一个或多个群菜单。成功调用后接口会返回当前群组内所有群菜单信息',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({
menu_tree: zod_1.z
.object({
chat_menu_top_levels: zod_1.z
.array(zod_1.z.object({
chat_menu_item: zod_1.z
.object({
action_type: zod_1.z
.enum(['NONE', 'REDIRECT_LINK'])
.describe('一级菜单类型**注意**:- 如果一级菜单有二级菜单,则此一级菜单的值必须为 `NONE`。- 菜单类型创建后不可更改。 Options:NONE(无类型,如果需要在一级菜单内添加二级菜单,则该一级菜单需要设置为 NONE。),REDIRECT_LINK(跳转链接类型,取该值时需要设置对应的跳转链接(redirect_link)。)'),
redirect_link: zod_1.z
.object({
common_url: zod_1.z.string().describe('公用跳转链接,必须以 http/https 开头').optional(),
ios_url: zod_1.z
.string()
.describe('iOS 端跳转链接,当该字段不设置时,iOS 端默认使用 `common_url` 值。必须以 http/https 开头')
.optional(),
android_url: zod_1.z
.string()
.describe('Android 端跳转链接,当该字段不设置时,Android 端默认使用 `common_url` 值。必须以 http/https 开头')
.optional(),
pc_url: zod_1.z
.string()
.describe('PC 端跳转链接,当该字段不设置时,PC 端默认使用 `common_url` 值。必须以 http/https 开头。**使用说明**:在 PC 端点击群菜单后,如果需要 url 对应的页面在飞书侧边栏展开,可以在 url 前加上 `https://applink.feishu.cn/client/web_url/open?mode=sidebar-semi&url=`,例如 `https://applink.feishu.cn/client/web_url/open?mode=sidebar-semi&url=https://open.feishu.cn/`')
.optional(),
web_url: zod_1.z
.string()
.describe('Web 端跳转链接,当该字段不设置时,Web 端默认使用 `common_url` 值。必须以 http/https 开头')
.optional(),
})
.describe('一级菜单的跳转链接')
.optional(),
image_key: zod_1.z
.string()
.describe('一级菜单图标的 key 值。通过 [上传图片] 接口上传 message 类型图片获取 image_key,并传入该值。**注意**:如果一级菜单有二级菜单,则此一级菜单不能设置图标')
.optional(),
name: zod_1.z.string().describe('菜单名称**注意**:一级、二级菜单名称字符数要在 1 ~ 120 范围内'),
i18n_names: zod_1.z
.object({
zh_cn: zod_1.z.string().describe('中文名').optional(),
en_us: zod_1.z.string().describe('英文名').optional(),
ja_jp: zod_1.z.string().describe('日文名').optional(),
})
.describe('菜单国际化名称**注意**:一级、二级菜单名称字符数要在 1 ~ 120 范围内')
.optional(),
})
.describe('一级菜单信息'),
children: zod_1.z
.array(zod_1.z.object({
chat_menu_item: zod_1.z
.object({
action_type: zod_1.z
.enum(['NONE', 'REDIRECT_LINK'])
.describe('二级菜单类型 Options:NONE(无类型),REDIRECT_LINK(跳转链接类型,取该值时需要设置跳转链接(redirect_link)。)')
.optional(),
redirect_link: zod_1.z
.object({
common_url: zod_1.z.string().describe('公用跳转链接,必须以 http/https 开头').optional(),
ios_url: zod_1.z
.string()
.describe('iOS 端跳转链接,当该字段不设置时,iOS 端默认使用 `common_url` 值。必须以 http/https 开头')
.optional(),
android_url: zod_1.z
.string()
.describe('Android 端跳转链接,当该字段不设置时,Android 端默认使用 `common_url` 值。必须以 http/https 开头')
.optional(),
pc_url: zod_1.z
.string()
.describe('PC 端跳转链接,当该字段不设置时,PC 端默认使用 `common_url` 值。必须以 http/https 开头。 **使用说明**:在 PC 端点击群菜单后,如果需要 url 对应的页面在飞书侧边栏展开,可以在 url 前加上 `https://applink.feishu.cn/client/web_url/open?mode=sidebar-semi&url=`,例如 `https://applink.feishu.cn/client/web_url/open?mode=sidebar-semi&url=https://open.feishu.cn/`')
.optional(),
web_url: zod_1.z
.string()
.describe('Web 端跳转链接,当该字段不设置时,Web 端默认使用 `common_url` 值。必须以 http/https 开头')
.optional(),
})
.describe('二级菜单跳转链接')
.optional(),
image_key: zod_1.z
.string()
.describe('二级菜单图标的 key 值。通过 [上传图片] 接口上传 message 类型图片获取 image_key,并传入该值')
.optional(),
name: zod_1.z
.string()
.describe('菜单名称**注意**:一级、二级菜单名称字符数要在 1 ~ 120 范围内')
.optional(),
i18n_names: zod_1.z
.object({
zh_cn: zod_1.z.string().describe('中文名').optional(),
en_us: zod_1.z.string().describe('英文名').optional(),
ja_jp: zod_1.z.string().describe('日文名').optional(),
})
.describe('菜单国际化名称**注意**:一级、二级菜单名称字符数要在 1 ~ 120 范围内')
.optional(),
})
.describe('二级菜单信息')
.optional(),
}))
.describe('二级菜单列表')
.optional(),
}))
.describe('一级菜单列表**注意**:一个群内最多有 3 个一级菜单'),
})
.describe('要向群内追加的菜单'),
}),
path: zod_1.z
.object({
chat_id: zod_1.z
.string()
.describe('群 ID。获取方式:- [创建群],从返回结果中获取该群的 chat_id。- 调用[获取用户或机器人所在的群列表]接口,可以查询用户或机器人所在群的 chat_id。- 调用[搜索对用户或机器人可见的群列表],可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id。**注意**:仅支持群模式为 **群组(group)** 的群组 ID。你可以调用[获取群信息]接口,在返回结果中查看 `chat_mode` 参数取值是否为 `group`')
.optional(),
})
.optional(),
},
};
exports.imV1ChatMenuTreeDelete = {
project: 'im',
name: 'im.v1.chatMenuTree.delete',
sdkName: 'im.v1.chatMenuTree.delete',
path: '/open-apis/im/v1/chats/:chat_id/menu_tree',
httpMethod: 'DELETE',
description: '[Feishu/Lark]-群组-群菜单-删除群菜单-删除指定群内的一级菜单。成功调用后接口会返回群组内最新的群菜单信息',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({
chat_menu_top_level_ids: zod_1.z
.array(zod_1.z.string().describe('要删除的一级菜单ID'))
.describe('一级菜单 ID。ID 可通过 [获取群菜单] 接口获取'),
}),
path: zod_1.z
.object({
chat_id: zod_1.z
.string()
.describe('群 ID。获取方式:- [创建群],从返回结果中获取该群的 chat_id。- 调用[获取用户或机器人所在的群列表]接口,可以查询用户或机器人所在群的 chat_id。- 调用[搜索对用户或机器人可见的群列表],可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id。**注意**:仅支持群模式为 **群组(group)** 的群组 ID。你可以调用[获取群信息]接口,在返回结果中查看 `chat_mode` 参数取值是否为 `group`')
.optional(),
})
.optional(),
},
};
exports.imV1ChatMenuTreeGet = {
project: 'im',
name: 'im.v1.chatMenuTree.get',
sdkName: 'im.v1.chatMenuTree.get',
path: '/open-apis/im/v1/chats/:chat_id/menu_tree',
httpMethod: 'GET',
description: '[Feishu/Lark]-群组-群菜单-获取群菜单-获取指定群组内的群菜单信息,包括所有一级或二级菜单的名称、跳转链接、图标等信息',
accessTokens: ['tenant'],
schema: {
path: zod_1.z
.object({
chat_id: zod_1.z
.string()
.describe('群 ID。获取方式:- [创建群],从返回结果中获取该群的 chat_id。- 调用[获取用户或机器人所在的群列表]接口,可以查询用户或机器人所在群的 chat_id。- 调用[搜索对用户或机器人可见的群列表],可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id。**注意**:仅支持群模式为 **群组(group)** 的群组 ID。你可以调用[获取群信息]接口,在返回结果中查看 `chat_mode` 参数取值是否为 `group`')
.optional(),
})
.optional(),
},
};
exports.imV1ChatMenuTreeSort = {
project: 'im',
name: 'im.v1.chatMenuTree.sort',
sdkName: 'im.v1.chatMenuTree.sort',
path: '/open-apis/im/v1/chats/:chat_id/menu_tree/sort',
httpMethod: 'POST',
description: '[Feishu/Lark]-群组-群菜单-排序群菜单-调整指定群组内的群菜单排列顺序,成功调用后接口会返回群组内所有群菜单信息',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({
chat_menu_top_level_ids: zod_1.z
.array(zod_1.z.string().describe('一级菜单'))
.describe('通过一级菜单的 ID 进行排序。数组内的元素排序对应群组内一级菜单从左往右的排序。ID 可通过 [获取群菜单] 接口获取。**说明**:进行排序的 ID 列表需要跟群内存在的一级菜单 ID 列表对齐'),
}),
path: zod_1.z
.object({
chat_id: zod_1.z
.string()
.describe('群 ID。获取方式:- [创建群],从返回结果中获取该群的 chat_id。- 调用[获取用户或机器人所在的群列表]接口,可以查询用户或机器人所在群的 chat_id。- 调用[搜索对用户或机器人可见的群列表],可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id。**注意**:仅支持群模式为 **群组(group)** 的群组 ID。你可以调用[获取群信息]接口,在返回结果中查看 `chat_mode` 参数取值是否为 `group`')
.optional(),
})
.optional(),
},
};
exports.imV1ChatModerationGet = {
project: 'im',
name: 'im.v1.chatModeration.get',
sdkName: 'im.v1.chatModeration.get',
path: '/open-apis/im/v1/chats/:chat_id/moderation',
httpMethod: 'GET',
description: '[Feishu/Lark]-群组-群组管理-获取群成员发言权限-获取指定群组的发言模式、可发言用户名单等信息',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z
.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
page_size: zod_1.z.number().describe('分页大小,用来限制一次请求返回的数据条目数').optional(),
page_token: zod_1.z
.string()
.describe('分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果')
.optional(),
})
.optional(),
path: zod_1.z.object({
chat_id: zod_1.z
.string()
.describe('群 ID。获取方式:- [创建群],从返回结果中获取该群的 chat_id。- 调用[获取用户或机器人所在的群列表]接口,可以查询用户或机器人所在群的 chat_id。- 调用[搜索对用户或机器人可见的群列表],可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.imV1ChatModerationUpdate = {
project: 'im',
name: 'im.v1.chatModeration.update',
sdkName: 'im.v1.chatModeration.update',
path: '/open-apis/im/v1/chats/:chat_id/moderation',
httpMethod: 'PUT',
description: '[Feishu/Lark]-群组-群组管理-更新群发言权限-更新指定群组的发言权限,可设置为所有群成员可发言、仅群主或管理员可发言、指定群成员可发言',
accessTokens: ['tenant', 'user'],
schema: {
data: zod_1.z
.object({
moderation_setting: zod_1.z
.string()
.describe('群发言模式**可选值有**:- all_members:所有群成员可发言- only_owner:仅群主或管理员可发言- moderator_list:指定群成员可发言,取该值时需要选择设置 `moderator_added_list` 和 `moderator_removed_list`')
.optional(),
moderator_added_list: zod_1.z
.array(zod_1.z.string().describe('用户id'))
.describe('当 `moderation_setting ` 取值为 `moderator_list` 时,以 ID 列表形式添加可发言的用户。**注意**:- ID 类型与查询参数 user_id_type 取值一致,推荐使用 OpenID,获取方式可参考文档[如何获取 Open ID]。- 列表内的用户如果不在群组内,则会被自动过滤掉。- 请求时,请确保 `moderator_added_list` 和 `moderator_removed_list` 两个参数内的 ID 不重复')
.optional(),
moderator_removed_list: zod_1.z
.array(zod_1.z.string().describe('用户id'))
.describe('当 `moderation_setting ` 取值为 `moderator_list` 时,以 ID 列表形式移除可发言的用户。**注意**:- ID 类型与查询参数 user_id_type 取值一致,推荐使用 OpenID,获取方式可参考文档[如何获取 Open ID]。- 列表内的用户如果不在群组内,则会被自动过滤掉。- 请求时,请确保 `moderator_added_list` 和 `moderator_removed_list` 两个参数内的 ID 不重复')
.optional(),
})
.optional(),
params: zod_1.z
.object({ user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional() })
.optional(),
path: zod_1.z.object({
chat_id: zod_1.z
.string()
.describe('群 ID。获取方式:- [创建群],从返回结果中获取该群的 chat_id。- 调用[获取用户或机器人所在的群列表]接口,可以查询用户或机器人所在群的 chat_id。- 调用[搜索对用户或机器人可见的群列表],可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.imV1ChatSearch = {
project: 'im',
name: 'im.v1.chat.search',
sdkName: 'im.v1.chat.search',
path: '/open-apis/im/v1/chats/search',
httpMethod: 'GET',
description: '[Feishu/Lark]-群组-群组管理-搜索对用户或机器人可见的群列表-获取当前身份(用户或机器人)可见的群列表,包括当前身份所在的群、对当前身份公开的群。支持关键词搜索、分页搜索',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z
.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
query: zod_1.z
.string()
.describe('关键词**注意**:- 关键词支持匹配群国际化名称、群成员名称- 支持使用多语种搜索(飞书客户端内支持的多语种)- 支持拼音、前缀等模糊搜索- 关键词为空值或长度超过 `64` 个字符时将返回空的结果- 关键词中尽量不要包含 `-` 符号。如果必须包含该符号,请在传值时添加双引号,例如 `“Example-0”`')
.optional(),
page_token: zod_1.z
.string()
.describe('分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果')
.optional(),
page_size: zod_1.z.number().describe('分页大小,用来限制一次请求所返回的数据条目数').optional(),
})
.optional(),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.imV1ChatTabCreate = {
project: 'im',
name: 'im.v1.chatTab.create',
sdkName: 'im.v1.chatTab.create',
path: '/open-apis/im/v1/chats/:chat_id/chat_tabs',
httpMethod: 'POST',
description: '[Feishu/Lark]-群组-会话标签页-添加会话标签页-在指定会话内添加自定义会话标签页,仅支持添加文档类型(doc)或 URL (url)类型的标签页',
accessTokens: ['tenant', 'user'],
schema: {
data: zod_1.z.object({
chat_tabs: zod_1.z
.array(zod_1.z.object({
tab_name: zod_1.z
.string()
.describe('会话标签页名称**注意**:会话标签页的名称不能超过 30 个字符(最多 10 个汉字)')
.optional(),
tab_type: zod_1.z
.enum([
'message',
'doc_list',
'doc',
'pin',
'meeting_minute',
'chat_announcement',
'url',
'file',
'files_resources',
'images_videos',
'task',
])
.describe('会话标签页类型**注意**:只支持添加 doc、url 类型的标签页,其他字段为只读字段 Options:message(消息类型),doc_list(DocList 云文档列表),doc(文档),pin(Pin),meeting_minute(MeetingMinute 会议纪要),chat_announcement(ChatAnnouncement 群公告),url(URL),file(文件),files_resources(合并类型,包含文件、Doc 文档、URL 链接),images_videos(合并类型,包含图片、视频),task(任务)'),
tab_content: zod_1.z
.object({
url: zod_1.z
.string()
.describe('URL 地址,在 tab_type 取值为 url 时生效**注意**:必须以 http 或 https 开头')
.optional(),
doc: zod_1.z
.string()
.describe('云文档链接,在 tab_type 取值为 doc 时生效**注意**:- 必须以 http 或 https 开头- 当前操作者必须有云文档的协作者权限')
.optional(),
meeting_minute: zod_1.z
.string()
.describe('会议纪要,因不支持添加 meeting_minute 类型的会话标签页,该字段为只读字段,无需传值')
.optional(),
task: zod_1.z
.string()
.describe('任务,因不支持添加 task 类型的会话标签页,该字段为只读字段,无需传值')
.optional(),
})
.describe('会话标签页的内容')
.optional(),
tab_config: zod_1.z
.object({
icon_key: zod_1.z
.string()
.describe('会话标签页的图标。需要先调用[上传图片] 接口,图片类型设置为 message 上传图片,然后获取 `image_key` 后传入当前参数')
.optional(),
is_built_in: zod_1.z.boolean().describe('会话标签页是否在 App 内嵌打开').optional(),
})
.describe('会话标签页的配置**注意**:仅当 tab_type 取值为 url 时,该参数生效')
.optional(),
}))
.describe('会话标签页**注意**:一个会话内最多只允许添加 20 个自定义会话标签页'),
}),
path: zod_1.z.object({
chat_id: zod_1.z
.string()
.describe('群 ID。获取方式:- [创建群],从返回结果中获取该群的 chat_id。- 调用[获取用户或机器人所在的群列表]接口,可以查询用户或机器人所在群的 chat_id。- 调用[搜索对用户或机器人可见的群列表],可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id。**注意**:仅支持群模式为 **群组(group)**、**单聊(p2p)** 的群组 ID。你可以调用[获取群信息]接口,在返回结果中查看 `chat_mode` 参数取值是否为 `group`、`p2p`'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.imV1ChatTabDeleteTabs = {
project: 'im',
name: 'im.v1.chatTab.deleteTabs',
sdkName: 'im.v1.chatTab.deleteTabs',
path: '/open-apis/im/v1/chats/:chat_id/chat_tabs/delete_tabs',
httpMethod: 'DELETE',
description: '[Feishu/Lark]-群组-会话标签页-删除会话标签页-删除指定会话内的一个或多个会话标签页',
accessTokens: ['tenant', 'user'],
schema: {
data: zod_1.z.object({
tab_ids: zod_1.z
.array(zod_1.z.string().describe('群标签id'))
.describe('会话标签页 ID 列表,ID 可以在[添加会话标签页]或者[拉取会话标签页]接口返回值中获取'),
}),
path: zod_1.z.object({
chat_id: zod_1.z
.string()
.describe('群 ID。获取方式:- [创建群],从返回结果中获取该群的 chat_id。- 调用[获取用户或机器人所在的群列表]接口,可以查询用户或机器人所在群的 chat_id。- 调用[搜索对用户或机器人可见的群列表],可搜索用户或机器人所在的群、对用户或机器人公开的群的 chat_id。**注意**:仅支持群模式为 **群组(group)**、**单聊(p2p)** 的群组 ID。你可以调用[获取群信息]接口,在返回结果中查看 `chat_mode` 参数取值是否为 `group`、`p2p`'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.imV1ChatTabListTabs = {
project: 'im',
name: 'im.v1.chatTab.listTabs',
sdkName: 'im.v1.chatTab.listTabs',
path: '/open-apis/im/v1/chats/:chat_id/chat_tabs/list_tabs',
httpMethod: 'GET',
description: '[Feishu/Lark]-群组-会话标签页-拉取会话标签页-获取指定会话内的会话标签页信息,包括 ID、名称、类型以及内容等',
accessTokens: ['tenant', 'user'],
schema: {
path: zod_1.z.object({