UNPKG

koishi-plugin-adapter-iirose

Version:
104 lines (103 loc) 4.2 kB
import { Context } from 'koishi'; import { IIROSE_Bot } from '../bot/bot'; export declare const Unknown_User_Name: string; export declare const Unknown_Guild_Name: string; export declare const Unknown_Channel_Name: string; /** * 颜色转换函数:将rgba格式转换为十六进制格式 * @param rgba - rgba格式的颜色字符串或十六进制格式的颜色字符串 * @returns 六位十六进制格式的颜色字符串(不包含#) */ export declare function rgbaToHex(rgba: string): string; /** * 生成消息ID * @returns 12位随机字符串作为消息ID */ export declare function generateMessageId(): string; /** * 解析用户头像URL * @param avatar 原始头像字符串 * @returns {string} 完整的头像URL */ export declare const parseAvatar: (avatar: string) => string; export declare const startEventsServer: (bot: IIROSE_Bot) => (() => boolean)[]; export declare const stopEventsServer: (event: (() => boolean)[]) => void; /** * 将数据写入到 wsdata 目录下的指定 JSON 文件中 * @param bot IIROSE_Bot 实例 * @param relativePath 文件路径 (例如 'wsdata/userlist.json') * @param data 要写入的数据对象 */ export declare const writeWJ: (bot: IIROSE_Bot, relativePath: string, data: any) => Promise<void>; /** * 从实例的数据目录中安全地读取和解析JSON文件。 * @param bot IIROSE_Bot 实例 * @param filename 相对于实例数据目录的文件路径 (e.g., 'wsdata/userlist.json') * @returns 解析后的JSON数据,如果文件不存在或解析失败则返回 null */ export declare const readJsonData: (bot: IIROSE_Bot, filename: string) => Promise<any>; /** * 在嵌套的房间数据中递归查找指定的房间。 * @param guildData 嵌套的房间数据对象 * @param roomId 要查找的房间ID * @returns 找到的房间信息对象,未找到则返回 null */ export declare const findRoomInGuild: (guildData: any, roomId: string) => any; /** * 将一个社区(Guild)下的所有层级嵌套的房间扁平化为一个房间列表。 * @param guildData 嵌套的房间数据对象 * @returns 扁平化后的房间信息数组 */ export declare const flattenRooms: (guildData: any) => any[]; /** * 根据用户 ID 从 userlist.json 查找用户名 * @param bot IIROSE_Bot 实例 * @param userId 用户 ID * @returns 匹配的用户名,如果找不到则返回 undefined */ export declare const findUserNameById: (bot: IIROSE_Bot, userId: string) => Promise<string | undefined>; /** * 根据用户名从 userlist.json 查找用户 ID * @param bot IIROSE_Bot 实例 * @param username 用户名 * @returns 匹配的用户 ID,如果找不到则返回 undefined */ export declare const findUserIdByName: (bot: IIROSE_Bot, username: string) => Promise<string | undefined>; export declare function getMediaMetadata(url: string, ctx: Context): Promise<{ title: string; artist: string; album: string; duration: number; bitrate: number; picture: string | { format: string; data: string; }; }>; /** * @description 缓存发出的消息 * @param bot bot实例 * @param channelId 频道id * @param messageId 消息id * @param content 消息内容 */ export declare function cacheSentMessage(bot: IIROSE_Bot, channelId: string, messageId: string, content: string): Promise<void>; /** * 确保在添加内容前有换行符 * 用于图文消息里的图片和文字之间的换行 */ export declare function ensureNewlineBefore(text: string): string; /** * 获取图片并将其转换为Base64编码的Data URI * @param bot IIROSE_Bot 实例 * @param url 图片的URL * @returns 返回一个Promise,解析为Base64编码的Data URI字符串,或在失败时返回null */ export declare function getImageAsBase64(bot: IIROSE_Bot, url: string): Promise<string | null>; /** * 安全地转换媒体元素URL。 * @param bot IIROSE_Bot 实例 * @param elementString 媒体元素的字符串表示,例如 `<img src="..."/>` * @returns 转换后的 URL。如果转换失败或 assets 服务不可用,则返回 null。 */ export declare function transformUrl(bot: IIROSE_Bot, elementString: string): Promise<string | null>;