UNPKG

@shangxueink/koishi-plugin-qq-markdown-button

Version:

[<ruby>**QQ机器人按钮菜单**<rp>(</rp><rt>点我查看使用说明</rt><rp>)</rp></ruby>](https://www.npmjs.com/package/@shangxueink/koishi-plugin-qq-markdown-button) 自用小插件咪~ 使用json文件设置你的机器人菜单这样就不需要一堆配置项还很烧脑了。自用插件哦~

33 lines (25 loc) 967 B
import { Session } from 'koishi' function isRecord(value: unknown): value is Record<string, unknown> { return typeof value === 'object' && value !== null } function getNestedValue(source: unknown, paths: string[]): unknown { let current: unknown = source for (const key of paths) { if (!isRecord(current) || !(key in current)) { return undefined } current = current[key] } return current } export function isSupportedPlatform(session: Session): boolean { return session.platform === 'qq' || session.platform === 'qqguild' } export function getInteractionId(session: Session): string { const interactionId = getNestedValue(session.event, ['_data', 'id']) return typeof interactionId === 'string' ? interactionId : '' } export function getButtonData(session: Session): string | undefined { const buttonData = getNestedValue(session.event, ['button', 'data']) return typeof buttonData === 'string' ? buttonData : undefined }