napcon 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -0
- package/dist/connection-CBr_CAbl.d.mts +669 -0
- package/dist/index.d.mts +7 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/dist/utils/index.d.mts +1079 -0
- package/dist/utils/index.mjs +2 -0
- package/dist/utils/index.mjs.map +1 -0
- package/dist/value-DuBx3P7B.mjs +2 -0
- package/dist/value-DuBx3P7B.mjs.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{i as e,n as t,r as n,t as r}from"../value-DuBx3P7B.mjs";function i(e,t){return t}const a=new Map;function o(e){if(a.has(e))return a.get(e);if(e===`message.sent`){let t=e=>e.post_type===`message_sent`;return a.set(e,t),t}let[t,n,r,i]=e.split(`.`);t===`meta`&&(t=`meta_event`),t===`notice`&&(n===`group`?r===`reaction`?(n=`group_msg_emoji_like`,r=void 0):r===`essence`?(n=`essence`,r=i):r?(n=`group_${r}`,r=i):n=`group_`:(n===`friend`||n===`bot`)&&(r?(n=`${n}_${r}`,r=void 0):n=`${n}_`));let o=e=>{if(e.post_type!==t)return!1;if(n){let r=e[`${t}_type`];if(n.endsWith(`_`)){if(!r?.startsWith(n)&&!(n===`group_`&&r===`essence`))return!1}else if(r!==n)return!1}return!(r&&e.sub_type!==r)};return a.set(e,o),o}function s(e,t){let n=o(e);return i(`connection.event`,(e,r)=>{n(e)&&t(e,r)})}function c(e){return o(e)}function l(e,t){return typeof t==`object`&&!!t&&typeof t.type==`string`&&(e?t.type===e:!0)}function u(e,t){return{type:e,data:t}}function d(e,t){return t&&Array.isArray(t)?t.find(t=>l(e,t)):void 0}function f(e,t,...n){return e.request(t,n[0])}function p(e,t,...n){return e.request(t,n[0],!0)}export{r as NumericSet,c as createEventMatcher,u as createMessageSegment,i as defineHandler,d as findMessageSegment,l as isMessageSegment,t as isNull,n as isSameNumericId,s as matchEvent,s as when,e as noop,f as sendRequest,p as sendRequestStream};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/utils/event.ts","../../src/utils/message.ts","../../src/utils/methods.ts"],"sourcesContent":["import type { ConnectionEventHandlers, ProtocolEventHandlers } from '@/types'\n\nexport type ConnectionOrProtocolEventHandlers = ConnectionEventHandlers & ProtocolEventHandlers & {}\n\nexport function defineHandler<const K extends keyof ConnectionOrProtocolEventHandlers>(\n type: K,\n handler: (...args: ConnectionOrProtocolEventHandlers[K]) => void,\n): (...args: ConnectionOrProtocolEventHandlers[K]) => void {\n return handler\n}\n\nconst cachedMatchers = new Map<string, (event: any) => boolean>()\n\nfunction createMatcher(type: keyof ProtocolEventHandlers): (event: any) => boolean {\n if (cachedMatchers.has(type)) {\n return cachedMatchers.get(type)!\n }\n\n if (type === 'message.sent') {\n const matcher = (event: any) => event.post_type === 'message_sent'\n cachedMatchers.set(type, matcher)\n return matcher\n }\n\n let [typeA, typeB, typeC, typeD] = type.split('.')\n if (typeA === 'meta') {\n typeA = 'meta_event'\n }\n if (typeA === 'notice') {\n if (typeB === 'group') {\n if (typeC === 'reaction') {\n typeB = 'group_msg_emoji_like'\n typeC = undefined\n }\n else if (typeC === 'essence') {\n typeB = 'essence'\n typeC = typeD\n }\n else if (typeC) {\n typeB = `group_${typeC}`\n typeC = typeD\n }\n else {\n typeB = 'group_'\n }\n }\n else if (typeB === 'friend' || typeB === 'bot') {\n if (typeC) {\n typeB = `${typeB}_${typeC}`\n typeC = undefined\n }\n else {\n typeB = `${typeB}_`\n }\n }\n else if (typeB === 'notify') {\n if (typeC === 'group_name' || typeC === 'group_title') {\n // no change needed as typeC already matches the subtype\n }\n }\n }\n\n const matcher = (event: any) => {\n if (event.post_type !== typeA)\n return false\n\n if (typeB) {\n const actualTypeB = event[`${typeA!}_type`]!\n\n if (typeB.endsWith('_')) {\n if (!actualTypeB?.startsWith(typeB)) {\n // Special case for notice.group matching essence events\n if (typeB === 'group_' && actualTypeB === 'essence') {\n // allow\n }\n else {\n return false\n }\n }\n }\n else {\n if (actualTypeB !== typeB) {\n return false\n }\n }\n }\n\n if (typeC) {\n if (event.sub_type !== typeC) {\n return false\n }\n }\n\n return true\n }\n\n cachedMatchers.set(type, matcher)\n return matcher\n}\n\nexport function matchEvent<const K extends keyof ProtocolEventHandlers>(\n type: K,\n handler: (...args: ProtocolEventHandlers[K]) => void,\n) {\n const matcher = createMatcher(type)\n return defineHandler('connection.event', (event: any, connection) => {\n if (matcher(event)) {\n (handler as any)(event, connection)\n }\n })\n}\n\nexport { matchEvent as when }\n\nexport interface EventMatcher<\n K extends keyof ProtocolEventHandlers,\n> {\n (event: any): event is ProtocolEventHandlers[K]\n}\n\nexport function createEventMatcher<const K extends keyof ProtocolEventHandlers>(\n type: K,\n): EventMatcher<K> {\n return createMatcher(type) as EventMatcher<K>\n}\n","import type { ProtocolMessageSegment, ProtocolMessageSendSegment } from '@/types/message'\n\nexport function isMessageSegment<const T extends ProtocolMessageSendSegment['type'], R extends Extract<ProtocolMessageSegment, { type: T }>>(type: T, value: any): value is R\nexport function isMessageSegment(type: null, value: any): value is ProtocolMessageSegment\nexport function isMessageSegment(type: any, value: any): boolean {\n return value != null && typeof value === 'object' && typeof value.type === 'string' && (type ? value.type === type : true)\n}\n\n// helper function to create a send segment\nexport function createMessageSegment<const T extends ProtocolMessageSendSegment['type'], R extends Extract<ProtocolMessageSendSegment, { type: T }>>(\n type: T,\n data: R['data'],\n): R {\n return { type, data } as R\n}\n\nexport function findMessageSegment<const T extends ProtocolMessageSendSegment['type'], R extends Extract<ProtocolMessageSendSegment, { type: T }>>(type: T, message?: ProtocolMessageSegment[] | string): R | undefined {\n return message && Array.isArray(message)\n ? message.find(segment => isMessageSegment(type, segment)) as R | undefined\n : undefined\n}\n","import type { Connection, ConnectionStreamResult } from '@/types'\nimport type { ProtocolMessageSendSegment } from '@/types/message'\nimport type { ProtocolReplyOk } from '@/types/protocol'\n\nexport interface ClientMethods {\n send_private_msg: (params: {\n user_id: number | string\n message: string | ProtocolMessageSendSegment | (string | ProtocolMessageSendSegment)[]\n group_id?: number | string\n auto_escape?: boolean\n }) => Promise<ProtocolReplyOk<{ message_id: number }>>\n\n send_group_msg: (params: {\n group_id: number | string\n message: string | ProtocolMessageSendSegment | (string | ProtocolMessageSendSegment)[]\n auto_escape?: boolean\n }) => Promise<ProtocolReplyOk<{ message_id: number }>>\n\n send_msg: (params: {\n message_type?: 'private' | 'group'\n user_id?: number | string\n group_id?: number | string\n message: string | ProtocolMessageSendSegment | (string | ProtocolMessageSendSegment)[]\n auto_escape?: boolean\n }) => Promise<ProtocolReplyOk<{ message_id: number }>>\n\n delete_msg: (params: { message_id: number }) => Promise<ProtocolReplyOk<void>>\n\n get_msg: (params: { message_id: number }) => Promise<ProtocolReplyOk<{\n time: number\n message_type: 'private' | 'group'\n message_id: number\n real_id: number\n sender: {\n user_id: number\n nickname: string\n card?: string\n sex?: 'male' | 'female' | 'unknown'\n age?: number\n }\n message: ProtocolMessageSendSegment[]\n }>>\n\n get_forward_msg: (params: { id: string }) => Promise<ProtocolReplyOk<{\n message: (ProtocolMessageSendSegment & { data: { name?: string, uin?: string, content?: ProtocolMessageSendSegment[] } })[]\n }>>\n\n send_like: (params: { user_id: number | string, times?: number }) => Promise<ProtocolReplyOk<void>>\n\n set_msg_emoji_like: (params: {\n message_id: number\n emoji_id: string\n set?: boolean\n }) => Promise<ProtocolReplyOk<void>>\n\n set_group_kick: (params: {\n group_id: number | string\n user_id: number | string\n reject_add_request?: boolean\n }) => Promise<ProtocolReplyOk<void>>\n\n set_group_ban: (params: {\n group_id: number | string\n user_id: number | string\n duration?: number\n }) => Promise<ProtocolReplyOk<void>>\n\n set_group_whole_ban: (params: {\n group_id: number | string\n enable?: boolean\n }) => Promise<ProtocolReplyOk<void>>\n\n set_group_admin: (params: {\n group_id: number | string\n user_id: number | string\n enable?: boolean\n }) => Promise<ProtocolReplyOk<void>>\n\n set_group_card: (params: {\n group_id: number | string\n user_id: number | string\n card?: string\n }) => Promise<ProtocolReplyOk<void>>\n\n set_group_name: (params: {\n group_id: number | string\n group_name: string\n }) => Promise<ProtocolReplyOk<void>>\n\n set_group_leave: (params: {\n group_id: number | string\n is_dismiss?: boolean\n }) => Promise<ProtocolReplyOk<void>>\n\n set_group_special_title: (params: {\n group_id: number | string\n user_id: number | string\n special_title?: string\n duration?: number\n }) => Promise<ProtocolReplyOk<void>>\n\n set_group_sign: (params: {\n group_id: number | string\n }) => Promise<ProtocolReplyOk<void>>\n\n set_friend_add_request: (params: {\n flag: string\n approve?: boolean\n remark?: string\n }) => Promise<ProtocolReplyOk<void>>\n\n delete_friend: (params: {\n user_id: number | string\n temp_block?: boolean\n temp_both_del?: boolean\n }) => Promise<ProtocolReplyOk<void>>\n\n set_group_add_request: (params: {\n flag: string\n sub_type?: 'add' | 'invite'\n approve?: boolean\n reason?: string\n }) => Promise<ProtocolReplyOk<void>>\n\n get_login_info: () => Promise<ProtocolReplyOk<{\n user_id: number\n nickname: string\n }>>\n\n get_stranger_info: (params: {\n user_id: number | string\n no_cache?: boolean\n }) => Promise<ProtocolReplyOk<{\n user_id: number\n nickname: string\n sex: 'male' | 'female' | 'unknown'\n age: number\n }>>\n\n get_friend_list: () => Promise<ProtocolReplyOk<{\n user_id: number\n nickname: string\n remark: string\n }[]>>\n\n get_group_info: (params: {\n group_id: number | string\n no_cache?: boolean\n }) => Promise<ProtocolReplyOk<{\n group_id: number\n group_name: string\n member_count: number\n max_member_count: number\n }>>\n\n get_group_list: (params?: {\n no_cache?: boolean\n }) => Promise<ProtocolReplyOk<{\n group_id: number\n group_name: string\n member_count: number\n max_member_count: number\n group_remark: string\n group_all_shut: number\n }[]>>\n\n get_group_member_info: (params: {\n group_id: number | string\n user_id: number | string\n no_cache?: boolean\n }) => Promise<ProtocolReplyOk<{\n group_id: number\n user_id: number\n nickname: string\n card: string\n sex: 'male' | 'female' | 'unknown'\n age: number\n area: string\n join_time: number\n last_sent_time: number\n level: string\n role: 'owner' | 'admin' | 'member'\n unfriendly: boolean\n title: string\n title_expire_time: number\n card_changeable: boolean\n }>>\n\n get_group_member_list: (params: {\n group_id: number | string\n }) => Promise<ProtocolReplyOk<{\n group_id: number\n user_id: number\n nickname: string\n card: string\n sex: 'male' | 'female' | 'unknown'\n age: number\n area: string\n join_time: number\n last_sent_time: number\n level: string\n role: 'owner' | 'admin' | 'member'\n unfriendly: boolean\n title: string\n title_expire_time: number\n card_changeable: boolean\n }[]>>\n\n get_group_honor_info: (params: {\n group_id: number | string\n type: 'talkative' | 'performer' | 'legend' | 'strong_newbie' | 'emotion' | 'all'\n }) => Promise<ProtocolReplyOk<{\n group_id: number\n current_talkative?: {\n user_id: number\n nickname: string\n avatar: string\n day_count: number\n }\n talkative_list?: {\n user_id: number\n nickname: string\n avatar: string\n day_count: number\n }[]\n performer_list?: {\n user_id: number\n nickname: string\n avatar: string\n day_count: number\n }[]\n legend_list?: {\n user_id: number\n nickname: string\n avatar: string\n day_count: number\n }[]\n strong_newbie_list?: {\n user_id: number\n nickname: string\n avatar: string\n day_count: number\n }[]\n emotion_list?: {\n user_id: number\n nickname: string\n avatar: string\n day_count: number\n }[]\n }>>\n\n get_cookies: (params: { domain: string }) => Promise<ProtocolReplyOk<{ cookies: string, bkn: string }>>\n\n get_csrf_token: () => Promise<ProtocolReplyOk<{ token: number }>>\n\n get_credentials: (params: { domain: string }) => Promise<ProtocolReplyOk<{ cookies: string, token: number }>>\n\n get_record: (params: { file: string, out_format: string }) => Promise<ProtocolReplyOk<{ file: string, url?: string }>>\n\n get_image: (params: { file: string }) => Promise<ProtocolReplyOk<{ file: string, url?: string }>>\n\n can_send_image: () => Promise<ProtocolReplyOk<{ yes: boolean }>>\n can_send_record: () => Promise<ProtocolReplyOk<{ yes: boolean }>>\n\n get_status: () => Promise<ProtocolReplyOk<{\n online: boolean\n good: boolean\n }>>\n\n get_version_info: () => Promise<ProtocolReplyOk<{\n app_name: string\n app_version: string\n protocol_version: string\n }>>\n\n clean_cache: () => Promise<ProtocolReplyOk<void>>\n\n _send_group_notice: (params: {\n group_id: number | string\n content: string\n image?: string\n pinned?: number\n type?: number\n confirm_required?: number\n is_show_edit_card?: number\n tip_window_type?: number\n }) => Promise<ProtocolReplyOk<void>>\n\n _get_group_notice: (params: {\n group_id: number | string\n }) => Promise<ProtocolReplyOk<{\n sender_id: number\n publish_time: number\n notice_id: string\n message: {\n text: string\n image: string[]\n }\n read_num: number\n }[]>>\n\n get_essence_msg_list: (params: {\n group_id: number | string\n }) => Promise<ProtocolReplyOk<{\n msg_seq: number\n msg_random: number\n sender_id: number\n sender_nick: string\n operator_id: number\n operator_nick: string\n message_id: number\n operator_time: number\n content: string[]\n }[]>>\n\n set_essence_msg: (params: { message_id: number }) => Promise<ProtocolReplyOk<void>>\n\n delete_essence_msg: (params: { message_id: number }) => Promise<ProtocolReplyOk<void>>\n\n get_online_clients: (params?: { no_cache?: boolean }) => Promise<ProtocolReplyOk<{\n app_id: number\n device_name: string\n device_kind: string\n }[]>>\n\n ocr_image: (params: { image: string }) => Promise<ProtocolReplyOk<{\n texts: {\n text: string\n coordinates: any[]\n }[]\n }>>\n\n translate_en2zh: (params: { words: string[] }) => Promise<ProtocolReplyOk<{\n words: string[]\n }>>\n\n get_robot_uin_range: () => Promise<ProtocolReplyOk<{\n minUin: string\n maxUin: string\n }[]>>\n\n set_online_status: (params: {\n status: number | string\n ext_status: number | string\n battery_status: number | string\n }) => Promise<ProtocolReplyOk<void>>\n\n upload_group_file: (params: {\n group_id: number | string\n file: string\n name: string\n folder?: string\n folder_id?: string\n upload_file?: boolean\n }) => Promise<ProtocolReplyOk<{ file_id?: string }>>\n\n get_group_msg_history: (params: {\n group_id: number | string\n message_seq?: string | number\n count?: number\n reverse_order?: boolean\n }) => Promise<ProtocolReplyOk<{\n messages: any[]\n }>>\n\n send_group_forward_msg: (params: {\n group_id: number | string\n messages: any[]\n }) => Promise<ProtocolReplyOk<{\n message_id: number\n forward_id: string\n }>>\n\n mark_msg_as_read: (params: {\n group_id?: number | string\n user_id?: number | string\n }) => Promise<ProtocolReplyOk<void>>\n\n upload_private_file: (params: {\n user_id: number | string\n file: string\n name: string\n }) => Promise<ProtocolReplyOk<void>>\n\n get_file: (params: {\n file: string\n file_id?: string\n }) => Promise<ProtocolReplyOk<{\n file?: string\n url?: string\n file_size?: string\n file_name?: string\n base64?: string\n }>>\n\n handle_quick_operation: (params: {\n context: Record<string, any>\n operation: Record<string, any>\n }) => Promise<ProtocolReplyOk<void>>\n\n get_group_file_url: (params: {\n group_id: number | string\n file_id: string\n }) => Promise<ProtocolReplyOk<{ url: string }>>\n\n get_private_file_url: (params: {\n user_id?: number | string\n file_id: string\n }) => Promise<ProtocolReplyOk<{ url: string }>>\n\n clean_stream_temp_file: (params: Record<string, never>) => Promise<ProtocolReplyOk<void>>\n\n del_group_album_media: (params: {\n group_id: string | number\n album_id: string\n lloc: string\n }) => Promise<ProtocolReplyOk<{ result: any }>>\n\n set_group_album_media_like: (params: {\n group_id: string | number\n album_id: string\n lloc: string\n id: string\n set?: boolean\n }) => Promise<ProtocolReplyOk<{ result: any }>>\n\n do_group_album_comment: (params: {\n group_id: string | number\n album_id: string\n lloc: string\n content: string\n }) => Promise<ProtocolReplyOk<{ result: any }>>\n\n get_group_album_media_list: (params: {\n group_id: string | number\n album_id: string\n attach_info?: string\n }) => Promise<ProtocolReplyOk<{\n media_list: {\n media_id: string\n url: string\n }[]\n }>>\n\n get_qun_album_list: (params: {\n group_id: string | number\n }) => Promise<ProtocolReplyOk<{\n album_id: string\n album_name: string\n cover_url: string\n create_time: number\n }[]>>\n\n upload_image_to_qun_album: (params: {\n group_id: string | number\n album_id: string\n album_name: string\n file: string\n }) => Promise<ProtocolReplyOk<{ result: any }>>\n\n set_group_add_option: (params: {\n group_id: string | number\n add_type: number\n group_question?: string\n group_answer?: string\n }) => Promise<ProtocolReplyOk<void>>\n\n set_group_robot_add_option: (params: {\n group_id: string | number\n robot_member_switch?: number\n robot_member_examine?: number\n }) => Promise<ProtocolReplyOk<void>>\n\n set_group_search: (params: {\n group_id: string | number\n no_code_finger_open?: number\n no_finger_open?: number\n }) => Promise<ProtocolReplyOk<void>>\n\n get_group_info_ex: (params: {\n group_id: string | number\n }) => Promise<ProtocolReplyOk<Record<string, any>>>\n\n set_group_todo: (params: {\n group_id: string | number\n message_id: string\n message_seq?: string\n }) => Promise<ProtocolReplyOk<void>>\n\n group_poke: (params: {\n group_id: string | number\n user_id: string | number\n target_id: string | number\n }) => Promise<ProtocolReplyOk<void>>\n\n set_group_kick_members: (params: {\n group_id: string | number\n user_id: (string | number)[]\n reject_add_request?: boolean\n }) => Promise<ProtocolReplyOk<void>>\n\n create_collection: (params: {\n rawData: string\n brief: string\n }) => Promise<ProtocolReplyOk<{ result: number, errMsg: string }>>\n\n set_self_longnick: (params: {\n longNick: string\n }) => Promise<ProtocolReplyOk<void>>\n\n set_qq_avatar: (params: {\n file: string\n }) => Promise<ProtocolReplyOk<void>>\n\n get_clientkey: () => Promise<ProtocolReplyOk<{ clientkey: string }>>\n\n get_ai_characters: (params: {\n group_id: string | number\n chat_type?: number | string\n }) => Promise<ProtocolReplyOk<{\n type: string\n characters: {\n character_id: string\n character_name: string\n preview_url: string\n }[]\n }[]>>\n\n set_doubt_friends_add_request: (params: {\n flag: string\n approve?: boolean\n }) => Promise<ProtocolReplyOk<void>>\n\n get_doubt_friends_add_request: (params: {\n count?: number\n }) => Promise<ProtocolReplyOk<{\n user_id: number\n nickname: string\n age: number\n sex: string\n reason: string\n flag: string\n }[]>>\n\n nc_get_packet_status: () => Promise<ProtocolReplyOk<void>>\n\n set_restart: () => Promise<ProtocolReplyOk<void>>\n\n get_group_system_msg: (params: {\n count?: number | string\n }) => Promise<ProtocolReplyOk<{\n invited_requests: any[]\n InvitedRequest: any[]\n join_requests: any[]\n }>>\n\n set_friend_remark: (params: {\n user_id: string | number\n remark: string\n }) => Promise<ProtocolReplyOk<void>>\n\n get_recent_contact: (params: {\n count?: number | string\n }) => Promise<ProtocolReplyOk<{\n lastestMsg: any\n peerUin: string\n remark: string\n msgTime: string\n chatType: number\n msgId: string\n sendNickName: string\n sendMemberName: string\n peerName: string\n }[]>>\n\n get_rkey: () => Promise<ProtocolReplyOk<{\n type: string\n rkey: string\n created_at: number\n ttl: number\n }[]>>\n\n get_rkey_server: () => Promise<ProtocolReplyOk<{\n private_rkey: string\n group_rkey: string\n expired_time: number\n name: string\n }>>\n\n fetch_custom_face: (params: {\n count?: number | string\n }) => Promise<ProtocolReplyOk<string[]>>\n\n nc_get_user_status: (params: {\n user_id: string | number\n }) => Promise<ProtocolReplyOk<{\n status: number\n ext_status: number\n }>>\n\n nc_get_rkey: () => Promise<ProtocolReplyOk<{\n key: string\n expired: number\n }[]>>\n\n get_mini_app_ark: (params: Record<string, any>) => Promise<ProtocolReplyOk<{\n data: { ark: any }\n }>>\n\n send_packet: (params: {\n cmd: string\n data: string\n rsp?: boolean | string\n }) => Promise<ProtocolReplyOk<string | null>>\n\n bot_exit: () => Promise<ProtocolReplyOk<void>>\n\n get_collection_list: (params: {\n category: string\n count?: string\n }) => Promise<ProtocolReplyOk<{\n errCode: number\n errMsg: string\n collectionSearchList: {\n collectionItemList: any[]\n hasMore: boolean\n bottomTimeStamp: string\n }\n }>>\n\n fetch_emoji_like: (params: {\n message_id: number | string\n emojiId: number | string\n emojiType: number | string\n count?: number | string\n cookie?: string\n }) => Promise<ProtocolReplyOk<{\n emojiLikesList: {\n tinyId: string\n nickName: string\n headUrl: string\n }[]\n cookie: string\n isLastPage: boolean\n isFirstPage: boolean\n result: number\n errMsg: string\n }>>\n\n get_emoji_likes: (params: {\n group_id?: string\n message_id: string\n emoji_id: string\n emoji_type?: string\n count?: number\n }) => Promise<ProtocolReplyOk<{\n emoji_like_list: {\n user_id: string\n nick_name: string\n }[]\n }>>\n\n ArkShareGroup: (params: {\n group_id: string\n }) => Promise<ProtocolReplyOk<string>>\n\n ArkSharePeer: (params: {\n user_id?: string\n group_id?: string\n phone_number?: string\n }) => Promise<ProtocolReplyOk<{ ark: any }>>\n\n click_inline_keyboard_button: (params: {\n group_id: string\n bot_appid: string\n button_id?: string\n callback_data?: string\n msg_seq?: string\n }) => Promise<ProtocolReplyOk<void>>\n\n move_group_file: (params: {\n group_id: string\n file_id: string\n current_parent_directory: string\n target_parent_directory: string\n }) => Promise<ProtocolReplyOk<{ ok: boolean }>>\n\n rename_group_file: (params: {\n group_id: string\n file_id: string\n current_parent_directory: string\n new_name: string\n }) => Promise<ProtocolReplyOk<{ ok: boolean }>>\n\n trans_group_file: (params: {\n group_id: string\n file_id: string\n }) => Promise<ProtocolReplyOk<{ ok: boolean }>>\n\n create_flash_task: (params: {\n files: string[] | string\n name?: string\n thumb_path?: string\n }) => Promise<ProtocolReplyOk<{ task_id: string }>>\n\n get_flash_file_list: (params: {\n fileset_id: string\n }) => Promise<ProtocolReplyOk<{\n file_name: string\n size: number\n }[]>>\n\n get_flash_file_url: (params: {\n fileset_id: string\n file_name?: string\n file_index?: number\n }) => Promise<ProtocolReplyOk<{ url: string }>>\n\n send_flash_msg: (params: {\n fileset_id: string\n user_id?: string\n group_id?: string\n }) => Promise<ProtocolReplyOk<{ message_id: number }>>\n\n get_share_link: (params: {\n fileset_id: string\n }) => Promise<ProtocolReplyOk<string>>\n\n get_fileset_info: (params: {\n fileset_id: string\n }) => Promise<ProtocolReplyOk<{\n fileset_id: string\n file_list: any[]\n }>>\n\n get_online_file_msg: (params: {\n user_id: string\n }) => Promise<ProtocolReplyOk<void>>\n\n send_online_file: (params: {\n user_id: string\n file_path: string\n file_name?: string\n }) => Promise<ProtocolReplyOk<void>>\n\n send_online_folder: (params: {\n user_id: string\n folder_path: string\n folder_name?: string\n }) => Promise<ProtocolReplyOk<void>>\n\n receive_online_file: (params: {\n user_id: string\n msg_id: string\n element_id: string\n }) => Promise<ProtocolReplyOk<void>>\n\n refuse_online_file: (params: {\n user_id: string\n msg_id: string\n element_id: string\n }) => Promise<ProtocolReplyOk<void>>\n\n cancel_online_file: (params: {\n user_id: string\n msg_id: string\n }) => Promise<ProtocolReplyOk<void>>\n\n download_fileset: (params: {\n fileset_id: string\n }) => Promise<ProtocolReplyOk<void>>\n\n get_fileset_id: (params: {\n share_code: string\n }) => Promise<ProtocolReplyOk<{ fileset_id: string }>>\n\n get_friends_with_category: () => Promise<ProtocolReplyOk<{\n categoryId: number\n categoryName: string\n categoryMbCount: number\n buddyList: any[]\n }[]>>\n\n get_profile_like: (params: {\n user_id: string\n start?: number | string\n count?: number | string\n }) => Promise<ProtocolReplyOk<{\n uid: string\n time: string\n favoriteInfo: any\n voteInfo: any\n }>>\n\n set_diy_online_status: (params: {\n face_id: number | string\n face_type: number | string\n wording: string\n }) => Promise<ProtocolReplyOk<string>>\n\n get_unidirectional_friend_list: () => Promise<ProtocolReplyOk<{\n uin: number\n uid: string\n nick_name: string\n age: number\n source: string\n }[]>>\n\n get_guild_list: () => Promise<ProtocolReplyOk<{\n guild_id: string\n guild_name: string\n }[]>>\n\n get_guild_service_profile: (params: {\n guild_id: string\n }) => Promise<ProtocolReplyOk<{\n guild_id: string\n guild_name: string\n guild_display_id: string\n }>>\n\n get_ai_record: (params: {\n character: string\n group_id: string\n text: string\n }) => Promise<ProtocolReplyOk<string>>\n\n send_group_ai_record: (params: {\n character: string\n group_id: string\n text: string\n }) => Promise<ProtocolReplyOk<void>>\n\n set_group_remark: (params: {\n group_id: number | string\n remark: string\n }) => Promise<ProtocolReplyOk<void>>\n\n get_group_ignored_notifies: (params?: {\n group_id?: number | string\n }) => Promise<ProtocolReplyOk<{\n invited_requests?: any[]\n InvitedRequest?: any[]\n join_requests?: any[]\n }>>\n\n _del_group_notice: (params: {\n group_id: number | string\n notice_id: string\n }) => Promise<ProtocolReplyOk<void>>\n\n get_group_shut_list: (params: {\n group_id: number | string\n }) => Promise<ProtocolReplyOk<{\n user_id: number\n nickname: string\n shut_up_time: number\n }[]>>\n\n set_input_status: (params: {\n user_id: number | string\n event_type: number\n }) => Promise<ProtocolReplyOk<void>>\n\n set_qq_profile: (params: {\n nickname: string\n personal_note?: string\n sex?: number | string\n }) => Promise<ProtocolReplyOk<void>>\n\n get_group_root_files: (params: {\n group_id: number | string\n file_count?: number\n }) => Promise<ProtocolReplyOk<{\n files: any[]\n folders: any[]\n }>>\n\n check_url_safely: (params: {\n url: string\n }) => Promise<ProtocolReplyOk<{\n level: number\n }>>\n\n get_group_at_all_remain: (params: {\n group_id: number | string\n }) => Promise<ProtocolReplyOk<{\n can_at_all: boolean\n remain_at_all_count_for_group: number\n remain_at_all_count_for_uin: number\n }>>\n\n send_forward_msg: (params: {\n message_type?: 'private' | 'group'\n user_id?: number | string\n group_id?: number | string\n message: any\n auto_escape?: boolean\n source?: string\n news?: any[]\n summary?: string\n prompt?: string\n }) => Promise<ProtocolReplyOk<{\n message_id: number\n res_id: string\n forward_id: string\n }>>\n\n send_private_forward_msg: (params: {\n user_id: number | string\n message: any\n auto_escape?: boolean\n source?: string\n news?: any[]\n summary?: string\n prompt?: string\n }) => Promise<ProtocolReplyOk<{\n message_id: number\n res_id: string\n forward_id: string\n }>>\n\n download_file: (params: {\n url: string\n base64?: string\n name?: string\n headers?: string | string[]\n }) => Promise<ProtocolReplyOk<{\n file: string\n }>>\n\n get_friend_msg_history: (params: {\n user_id: number | string\n message_seq?: number | string\n count?: number\n reverse_order?: boolean\n disable_get_url?: boolean\n parse_mult_msg?: boolean\n quick_reply?: boolean\n }) => Promise<ProtocolReplyOk<{\n messages: any[]\n }>>\n\n set_group_portrait: (params: {\n group_id: number | string\n file: string\n }) => Promise<ProtocolReplyOk<{\n result: number\n errMsg: string\n }>>\n\n _get_model_show: (params: {\n model: string\n }) => Promise<ProtocolReplyOk<{\n variants: {\n model_show: string\n need_pay: boolean\n }[]\n }>>\n\n _set_model_show: (params: {\n model: string\n model_show: string\n }) => Promise<ProtocolReplyOk<void>>\n\n delete_group_file: (params: {\n group_id: number | string\n file_id: string\n }) => Promise<ProtocolReplyOk<void>>\n\n create_group_file_folder: (params: {\n group_id: number | string\n folder_name: string\n name?: string\n }) => Promise<ProtocolReplyOk<{\n result: any\n groupItem: any\n }>>\n\n delete_group_folder: (params: {\n group_id: number | string\n folder_id: string\n }) => Promise<ProtocolReplyOk<void>>\n\n get_group_file_system_info: (params: {\n group_id: number | string\n }) => Promise<ProtocolReplyOk<{\n file_count: number\n limit_count: number\n used_space: number\n total_space: number\n }>>\n\n get_group_files_by_folder: (params: {\n group_id: number | string\n folder_id: string\n file_count?: number\n }) => Promise<ProtocolReplyOk<{\n files: any[]\n folders: any[]\n }>>\n\n forward_friend_single_msg: (params: {\n message_id: number | string\n group_id?: number | string\n user_id: number | string\n }) => Promise<ProtocolReplyOk<void>>\n\n forward_group_single_msg: (params: {\n message_id: number | string\n group_id: number | string\n user_id?: number | string\n }) => Promise<ProtocolReplyOk<void>>\n\n mark_group_msg_as_read: (params: {\n user_id?: number | string\n group_id: number | string\n message_id?: number | string\n }) => Promise<ProtocolReplyOk<void>>\n\n mark_private_msg_as_read: (params: {\n user_id: number | string\n group_id?: number | string\n message_id?: number | string\n }) => Promise<ProtocolReplyOk<void>>\n\n _mark_all_as_read: () => Promise<ProtocolReplyOk<void>>\n\n send_poke: (params: {\n user_id: number | string\n group_id?: number | string\n target_id?: number | string\n }) => Promise<ProtocolReplyOk<void>>\n\n upload_file_stream: (params: {\n stream_id: string\n chunk_data?: string\n chunk_index?: number\n total_chunks?: number\n file_size?: number\n expected_sha256?: string\n is_complete?: boolean\n filename?: string\n reset?: boolean\n verify_only?: boolean\n file_retention?: number\n }) => Promise<ProtocolReplyOk<{\n type: string\n stream_id: string\n status: string\n received_chunks: number\n total_chunks: number\n }>>\n}\n\nexport interface ClientStreamMethods {\n download_file_record_stream: (params: {\n file: string\n file_id?: string\n chunk_size?: number\n out_format?: string\n }) => Promise<ConnectionStreamResult<{ file: string }>>\n\n download_file_image_stream: (params: {\n file: string\n file_id?: string\n chunk_size?: number\n }) => Promise<ConnectionStreamResult<{ file: string }>>\n\n test_download_stream: (params: {\n error?: boolean\n }) => Promise<ConnectionStreamResult<{ success: boolean }>>\n\n download_file_stream: (params: {\n file: string\n file_id?: string\n chunk_size?: number\n }) => Promise<ConnectionStreamResult<{\n type: string\n data_type: string\n file_name: string\n file_size: number\n }>>\n}\n\nexport function sendRequest<const T extends keyof ClientMethods>(\n conn: Connection,\n method: T,\n ...params: Parameters<ClientMethods[T]>\n): ReturnType<ClientMethods[T]>\nexport function sendRequest(\n conn: Connection,\n method: string,\n ...params: any[]\n): Promise<ProtocolReplyOk<any>>\nexport function sendRequest(\n conn: Connection,\n method: string,\n ...params: any[]\n): Promise<ProtocolReplyOk<any>> {\n return conn.request(method, params[0]) as any\n}\n\nexport function sendRequestStream<const T extends keyof ClientStreamMethods>(\n conn: Connection,\n method: T,\n ...params: Parameters<ClientStreamMethods[T]>\n): ReturnType<ClientStreamMethods[T]>\nexport function sendRequestStream(\n conn: Connection,\n method: string,\n ...params: any[]\n): Promise<ConnectionStreamResult<any>>\nexport function sendRequestStream(\n conn: Connection,\n method: string,\n ...params: any[]\n): Promise<ConnectionStreamResult<any>> {\n return conn.request(method, params[0], true) as any\n}\n\nexport type SendRequestResult<T extends keyof ClientMethods> = Awaited<ReturnType<ClientMethods[T]>>\nexport type SendRequestStreamResult<T extends keyof ClientStreamMethods> = Awaited<ReturnType<ClientStreamMethods[T]>>\n"],"mappings":"+DAIA,SAAgB,EACd,EACA,EACyD,CACzD,OAAO,EAGT,MAAM,EAAiB,IAAI,IAE3B,SAAS,EAAc,EAA4D,CACjF,GAAI,EAAe,IAAI,EAAK,CAC1B,OAAO,EAAe,IAAI,EAAK,CAGjC,GAAI,IAAS,eAAgB,CAC3B,IAAM,EAAW,GAAe,EAAM,YAAc,eAEpD,OADA,EAAe,IAAI,EAAM,EAAQ,CAC1B,EAGT,GAAI,CAAC,EAAO,EAAO,EAAO,GAAS,EAAK,MAAM,IAAI,CAC9C,IAAU,SACZ,EAAQ,cAEN,IAAU,WACR,IAAU,QACR,IAAU,YACZ,EAAQ,uBACR,EAAQ,IAAA,IAED,IAAU,WACjB,EAAQ,UACR,EAAQ,GAED,GACP,EAAQ,SAAS,IACjB,EAAQ,GAGR,EAAQ,UAGH,IAAU,UAAY,IAAU,SACnC,GACF,EAAQ,GAAG,EAAM,GAAG,IACpB,EAAQ,IAAA,IAGR,EAAQ,GAAG,EAAM,KAUvB,IAAM,EAAW,GAAe,CAC9B,GAAI,EAAM,YAAc,EACtB,MAAO,GAET,GAAI,EAAO,CACT,IAAM,EAAc,EAAM,GAAG,EAAO,QAEpC,GAAI,EAAM,SAAS,IAAI,KACjB,CAAC,GAAa,WAAW,EAAM,EAE7B,MAAU,UAAY,IAAgB,WAIxC,MAAO,WAKP,IAAgB,EAClB,MAAO,GAWb,MANA,EAAI,GACE,EAAM,WAAa,IAS3B,OADA,EAAe,IAAI,EAAM,EAAQ,CAC1B,EAGT,SAAgB,EACd,EACA,EACA,CACA,IAAM,EAAU,EAAc,EAAK,CACnC,OAAO,EAAc,oBAAqB,EAAY,IAAe,CAC/D,EAAQ,EAAM,EACf,EAAgB,EAAO,EAAW,EAErC,CAWJ,SAAgB,EACd,EACiB,CACjB,OAAO,EAAc,EAAK,CCvH5B,SAAgB,EAAiB,EAAW,EAAqB,CAC/D,OAAwB,OAAO,GAAU,YAAlC,GAA8C,OAAO,EAAM,MAAS,WAAa,EAAO,EAAM,OAAS,EAAO,IAIvH,SAAgB,EACd,EACA,EACG,CACH,MAAO,CAAE,OAAM,OAAM,CAGvB,SAAgB,EAAmI,EAAS,EAA4D,CACtN,OAAO,GAAW,MAAM,QAAQ,EAAQ,CACpC,EAAQ,KAAK,GAAW,EAAiB,EAAM,EAAQ,CAAC,CACxD,IAAA,GCojCN,SAAgB,EACd,EACA,EACA,GAAG,EAC4B,CAC/B,OAAO,EAAK,QAAQ,EAAQ,EAAO,GAAG,CAaxC,SAAgB,EACd,EACA,EACA,GAAG,EACmC,CACtC,OAAO,EAAK,QAAQ,EAAQ,EAAO,GAAI,GAAK"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function e(e,t){return Object.is(e.toString(),t.toString())}function t(e){return Object.is(e,void 0)}var n=class e{_size=0;_record={};constructor(e){if(e)for(let t of e)this._record[t]=!0,this._size++}clear(){this._record={},this._size=0}has(e){return!!this._record[e]}remove(e){return this._record[e]?(delete this._record[e],this._size--,!0):!1}add(e){return this._record[e]||(this._record[e]=!0,this._size++),this}get size(){return this._size}[Symbol.iterator](){return Object.keys(this._record).values()}static split(t,n=`,`){return t?new e(t.trim().split(n)):new e}};const r=()=>{};export{r as i,t as n,e as r,n as t};
|
|
2
|
+
//# sourceMappingURL=value-DuBx3P7B.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value-DuBx3P7B.mjs","names":[],"sources":["../src/utils/value.ts"],"sourcesContent":["export function isSameNumericId(id1: string | number, id2: string | number) {\n return Object.is(id1.toString(), id2.toString())\n}\n\nexport function isNull(value: any): value is null | undefined {\n return Object.is(value, void 0)\n}\n\nexport class NumericSet implements Iterable<string> {\n private _size = 0\n private _record: Record<string | number, true> = {}\n\n constructor(ids?: Iterable<string | number>) {\n if (!ids) {\n return\n }\n\n for (const id of ids) {\n this._record[id] = true\n this._size++\n }\n }\n\n clear() {\n this._record = {}\n this._size = 0\n }\n\n has(id: string | number): boolean {\n return !!this._record[id]\n }\n\n remove(id: string | number): boolean {\n if (this._record[id]) {\n delete this._record[id]\n this._size--\n return true\n }\n return false\n }\n\n add(id: string | number): this {\n if (!this._record[id]) {\n this._record[id] = true\n this._size++\n }\n return this\n }\n\n get size() {\n return this._size\n }\n\n [Symbol.iterator](): IterableIterator<string> {\n return Object.keys(this._record).values()\n }\n\n static split(str?: string, sep = ',') {\n return str ? new NumericSet(str.trim().split(sep)) : new NumericSet()\n }\n}\n\n// eslint-disable-next-line antfu/top-level-function\nexport const noop = () => { /* noop */ }\n"],"mappings":"AAAA,SAAgB,EAAgB,EAAsB,EAAsB,CAC1E,OAAO,OAAO,GAAG,EAAI,UAAU,CAAE,EAAI,UAAU,CAAC,CAGlD,SAAgB,EAAO,EAAuC,CAC5D,OAAO,OAAO,GAAG,EAAO,IAAK,GAAE,CAGjC,IAAa,EAAb,MAAa,CAAuC,CAClD,MAAgB,EAChB,QAAiD,EAAE,CAEnD,YAAY,EAAiC,CACtC,KAIL,IAAK,IAAM,KAAM,EACf,KAAK,QAAQ,GAAM,GACnB,KAAK,QAIT,OAAQ,CACN,KAAK,QAAU,EAAE,CACjB,KAAK,MAAQ,EAGf,IAAI,EAA8B,CAChC,MAAO,CAAC,CAAC,KAAK,QAAQ,GAGxB,OAAO,EAA8B,CAMnC,OALI,KAAK,QAAQ,IACf,OAAO,KAAK,QAAQ,GACpB,KAAK,QACE,IAEF,GAGT,IAAI,EAA2B,CAK7B,OAJK,KAAK,QAAQ,KAChB,KAAK,QAAQ,GAAM,GACnB,KAAK,SAEA,KAGT,IAAI,MAAO,CACT,OAAO,KAAK,MAGd,CAAC,OAAO,WAAsC,CAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,QAAQ,CAG3C,OAAO,MAAM,EAAc,EAAM,IAAK,CACpC,OAAO,EAAM,IAAI,EAAW,EAAI,MAAM,CAAC,MAAM,EAAI,CAAC,CAAG,IAAI,IAK7D,MAAa,MAAa"}
|
package/package.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "napcon",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "0.0.9",
|
|
5
|
+
"packageManager": "bun@1.3.9",
|
|
6
|
+
"description": "Lightweight NapCat/Onebot v11 TypeScript library",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/suisanka/napcon.git"
|
|
10
|
+
},
|
|
11
|
+
"keywords": [
|
|
12
|
+
"onebot",
|
|
13
|
+
"napcat",
|
|
14
|
+
"sdk",
|
|
15
|
+
"qq",
|
|
16
|
+
"qq-robot",
|
|
17
|
+
"typescript",
|
|
18
|
+
"onebot11",
|
|
19
|
+
"cqhttp"
|
|
20
|
+
],
|
|
21
|
+
"exports": {
|
|
22
|
+
".": {
|
|
23
|
+
"types": "./dist/index.d.mts",
|
|
24
|
+
"import": "./dist/index.mjs"
|
|
25
|
+
},
|
|
26
|
+
"./utils": {
|
|
27
|
+
"types": "./dist/utils/index.d.mts",
|
|
28
|
+
"import": "./dist/utils/index.mjs"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"files": [
|
|
32
|
+
"dist"
|
|
33
|
+
],
|
|
34
|
+
"publishConfig": {
|
|
35
|
+
"access": "public",
|
|
36
|
+
"registry": "https://registry.npmjs.com"
|
|
37
|
+
},
|
|
38
|
+
"scripts": {
|
|
39
|
+
"format": "eslint --fix .",
|
|
40
|
+
"build": "tsdown",
|
|
41
|
+
"bump": "bumpp"
|
|
42
|
+
},
|
|
43
|
+
"peerDependencies": {
|
|
44
|
+
"typescript": "^5.9.3"
|
|
45
|
+
},
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"@antfu/eslint-config": "^7.4.3",
|
|
48
|
+
"@types/bun": "latest",
|
|
49
|
+
"bumpp": "^10.4.1",
|
|
50
|
+
"eslint": "^10.0.0",
|
|
51
|
+
"jiti": "^2.6.1",
|
|
52
|
+
"tsdown": "^0.20.3"
|
|
53
|
+
}
|
|
54
|
+
}
|