mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-07-19 12:03:37 +00:00
feat: attempt to enhance type inference
This commit is contained in:
@@ -29,7 +29,7 @@ export class OB11Response {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export abstract class OneBotAction<PayloadType, ReturnDataType> {
|
export abstract class OneBotAction<PayloadType, ReturnDataType> {
|
||||||
actionName: ActionName = ActionName.Unknown;
|
actionName: typeof ActionName[keyof typeof ActionName] = ActionName.Unknown;
|
||||||
core: NapCatCore;
|
core: NapCatCore;
|
||||||
private validate: ValidateFunction<any> | undefined = undefined;
|
private validate: ValidateFunction<any> | undefined = undefined;
|
||||||
payloadSchema: any = undefined;
|
payloadSchema: any = undefined;
|
||||||
|
@@ -10,8 +10,7 @@ const SchemaData = Type.Object({
|
|||||||
|
|
||||||
type Payload = Static<typeof SchemaData>;
|
type Payload = Static<typeof SchemaData>;
|
||||||
|
|
||||||
export class OCRImage extends OneBotAction<Payload, any> {
|
class OCRImageBase extends OneBotAction<Payload, any> {
|
||||||
actionName = ActionName.OCRImage;
|
|
||||||
payloadSchema = SchemaData;
|
payloadSchema = SchemaData;
|
||||||
|
|
||||||
async _handle(payload: Payload) {
|
async _handle(payload: Payload) {
|
||||||
@@ -34,6 +33,10 @@ export class OCRImage extends OneBotAction<Payload, any> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class IOCRImage extends OCRImage {
|
export class OCRImage extends OCRImageBase {
|
||||||
|
actionName = ActionName.OCRImage;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class IOCRImage extends OCRImageBase {
|
||||||
actionName = ActionName.IOCRImage;
|
actionName = ActionName.IOCRImage;
|
||||||
}
|
}
|
||||||
|
@@ -8,14 +8,18 @@ const SchemaData = Type.Object({
|
|||||||
|
|
||||||
type Payload = Static<typeof SchemaData>;
|
type Payload = Static<typeof SchemaData>;
|
||||||
|
|
||||||
export class SetGroupSign extends GetPacketStatusDepends<Payload, any> {
|
class SetGroupSignBase extends GetPacketStatusDepends<Payload, any> {
|
||||||
actionName = ActionName.SetGroupSign;
|
|
||||||
payloadSchema = SchemaData;
|
payloadSchema = SchemaData;
|
||||||
|
|
||||||
async _handle(payload: Payload) {
|
async _handle(payload: Payload) {
|
||||||
return await this.core.apis.PacketApi.pkt.operation.GroupSign(+payload.group_id);
|
return await this.core.apis.PacketApi.pkt.operation.GroupSign(+payload.group_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
export class SendGroupSign extends SetGroupSign {
|
|
||||||
|
export class SetGroupSign extends SetGroupSignBase {
|
||||||
|
actionName = ActionName.SendGroupSign;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class SendGroupSign extends SetGroupSignBase {
|
||||||
actionName = ActionName.SendGroupSign;
|
actionName = ActionName.SendGroupSign;
|
||||||
}
|
}
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
import SendMsg, { ContextMode } from '@/onebot/action/msg/SendMsg';
|
import {ContextMode, SendMsgBase} from '@/onebot/action/msg/SendMsg';
|
||||||
import { ActionName, BaseCheckResult } from '@/onebot/action/router';
|
import { ActionName, BaseCheckResult } from '@/onebot/action/router';
|
||||||
import { OB11PostSendMsg } from '@/onebot/types';
|
import { OB11PostSendMsg } from '@/onebot/types';
|
||||||
|
|
||||||
// 未检测参数
|
// 未检测参数
|
||||||
class SendGroupMsg extends SendMsg {
|
class SendGroupMsg extends SendMsgBase {
|
||||||
actionName = ActionName.SendGroupMsg;
|
actionName = ActionName.SendGroupMsg;
|
||||||
contextMode: ContextMode = ContextMode.Group;
|
contextMode: ContextMode = ContextMode.Group;
|
||||||
|
|
||||||
|
@@ -218,32 +218,29 @@ export function createActionMap(obContext: NapCatOneBot11Adapter, core: NapCatCo
|
|||||||
new GetAiCharacters(obContext, core),
|
new GetAiCharacters(obContext, core),
|
||||||
];
|
];
|
||||||
|
|
||||||
type ValueType<K> = K extends `${typeof actionHandlers[number]['actionName']}` | `${typeof actionHandlers[number]['actionName']}_async` | `${typeof actionHandlers[number]['actionName']}_rate_limited` ? typeof actionHandlers[number] : never;
|
type HandlerUnion = typeof actionHandlers[number];
|
||||||
|
type MapType = {
|
||||||
|
[H in HandlerUnion as H['actionName']]: H;
|
||||||
|
} & {
|
||||||
|
[H in HandlerUnion as `${H['actionName']}_async`]: H;
|
||||||
|
} & {
|
||||||
|
[H in HandlerUnion as `${H['actionName']}_rate_limited`]: H;
|
||||||
|
};
|
||||||
|
|
||||||
class TypedMap<K extends string> {
|
const _map = new Map<keyof MapType, HandlerUnion>();
|
||||||
private map = new Map<K, ValueType<K>>();
|
|
||||||
|
|
||||||
set(key: K, value: ValueType<K>): void {
|
actionHandlers.forEach(h => {
|
||||||
this.map.set(key, value);
|
_map.set(h.actionName as keyof MapType, h);
|
||||||
|
_map.set(`${h.actionName}_async` as keyof MapType, h);
|
||||||
|
_map.set(`${h.actionName}_rate_limited` as keyof MapType, h);
|
||||||
|
});
|
||||||
|
|
||||||
|
function get<K extends keyof MapType>(key: K): MapType[K];
|
||||||
|
function get<K extends keyof MapType>(key: K): null;
|
||||||
|
function get<K extends keyof MapType>(key: K): HandlerUnion | null | MapType[K] {
|
||||||
|
return _map.get(key as keyof MapType) ?? null;
|
||||||
}
|
}
|
||||||
|
|
||||||
get(key: K): ValueType<K> | undefined {
|
return { get };
|
||||||
return this.map.get(key);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const actionMap = new TypedMap<
|
|
||||||
`${typeof actionHandlers[number]['actionName']}` |
|
|
||||||
`${typeof actionHandlers[number]['actionName']}_async` |
|
|
||||||
`${typeof actionHandlers[number]['actionName']}_rate_limited`
|
|
||||||
>();
|
|
||||||
|
|
||||||
for (const action of actionHandlers) {
|
|
||||||
actionMap.set(action.actionName, action);
|
|
||||||
actionMap.set(`${action.actionName}_async`, action);
|
|
||||||
actionMap.set(`${action.actionName}_rate_limited`, action);
|
|
||||||
}
|
|
||||||
|
|
||||||
return actionMap;
|
|
||||||
}
|
}
|
||||||
export type ActionMap = ReturnType<typeof createActionMap>
|
export type ActionMap = ReturnType<typeof createActionMap>
|
@@ -88,8 +88,7 @@ function getSpecialMsgNum(payload: OB11PostSendMsg, msgType: OB11MessageDataType
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class SendMsg extends OneBotAction<OB11PostSendMsg, ReturnDataType> {
|
export class SendMsgBase extends OneBotAction<OB11PostSendMsg, ReturnDataType> {
|
||||||
actionName = ActionName.SendMsg;
|
|
||||||
contextMode = ContextMode.Normal;
|
contextMode = ContextMode.Normal;
|
||||||
|
|
||||||
protected async check(payload: OB11PostSendMsg): Promise<BaseCheckResult> {
|
protected async check(payload: OB11PostSendMsg): Promise<BaseCheckResult> {
|
||||||
@@ -379,4 +378,6 @@ export class SendMsg extends OneBotAction<OB11PostSendMsg, ReturnDataType> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default SendMsg;
|
export default class SendMsg extends SendMsgBase {
|
||||||
|
actionName = ActionName.SendMsg;
|
||||||
|
}
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
import SendMsg, { ContextMode } from './SendMsg';
|
import {ContextMode, SendMsgBase} from './SendMsg';
|
||||||
import { ActionName, BaseCheckResult } from '@/onebot/action/router';
|
import { ActionName, BaseCheckResult } from '@/onebot/action/router';
|
||||||
import { OB11PostSendMsg } from '@/onebot/types';
|
import { OB11PostSendMsg } from '@/onebot/types';
|
||||||
|
|
||||||
// 未检测参数
|
// 未检测参数
|
||||||
class SendPrivateMsg extends SendMsg {
|
class SendPrivateMsg extends SendMsgBase {
|
||||||
actionName = ActionName.SendPrivateMsg;
|
actionName = ActionName.SendPrivateMsg;
|
||||||
contextMode: ContextMode = ContextMode.Private;
|
contextMode: ContextMode = ContextMode.Private;
|
||||||
|
|
||||||
|
@@ -3,8 +3,6 @@ import { ActionName, BaseCheckResult } from '@/onebot/action/router';
|
|||||||
|
|
||||||
|
|
||||||
export abstract class GetPacketStatusDepends<PT, RT> extends OneBotAction<PT, RT> {
|
export abstract class GetPacketStatusDepends<PT, RT> extends OneBotAction<PT, RT> {
|
||||||
actionName = ActionName.GetPacketStatus;
|
|
||||||
|
|
||||||
protected async check(payload: PT): Promise<BaseCheckResult>{
|
protected async check(payload: PT): Promise<BaseCheckResult>{
|
||||||
if (!this.core.apis.PacketApi.available) {
|
if (!this.core.apis.PacketApi.available) {
|
||||||
return {
|
return {
|
||||||
@@ -18,6 +16,8 @@ export abstract class GetPacketStatusDepends<PT, RT> extends OneBotAction<PT, RT
|
|||||||
}
|
}
|
||||||
|
|
||||||
export class GetPacketStatus extends GetPacketStatusDepends<any, null> {
|
export class GetPacketStatus extends GetPacketStatusDepends<any, null> {
|
||||||
|
actionName = ActionName.GetPacketStatus;
|
||||||
|
|
||||||
async _handle(payload: any) {
|
async _handle(payload: any) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@@ -13,134 +13,134 @@ export interface InvalidCheckResult {
|
|||||||
[k: string | number]: any;
|
[k: string | number]: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
export enum ActionName {
|
export const ActionName = {
|
||||||
// onebot 11
|
// onebot 11
|
||||||
SendPrivateMsg = 'send_private_msg',
|
SendPrivateMsg : 'send_private_msg',
|
||||||
SendGroupMsg = 'send_group_msg',
|
SendGroupMsg : 'send_group_msg',
|
||||||
SendMsg = 'send_msg',
|
SendMsg : 'send_msg',
|
||||||
DeleteMsg = 'delete_msg',
|
DeleteMsg : 'delete_msg',
|
||||||
GetMsg = 'get_msg',
|
GetMsg : 'get_msg',
|
||||||
GoCQHTTP_GetForwardMsg = 'get_forward_msg',
|
GoCQHTTP_GetForwardMsg : 'get_forward_msg',
|
||||||
SendLike = 'send_like',
|
SendLike : 'send_like',
|
||||||
SetGroupKick = 'set_group_kick',
|
SetGroupKick : 'set_group_kick',
|
||||||
SetGroupBan = 'set_group_ban',
|
SetGroupBan : 'set_group_ban',
|
||||||
// SetGroupAnoymousBan = 'set_group_anonymous_ban',
|
// SetGroupAnoymousBan : 'set_group_anonymous_ban',
|
||||||
SetGroupWholeBan = 'set_group_whole_ban',
|
SetGroupWholeBan : 'set_group_whole_ban',
|
||||||
SetGroupAdmin = 'set_group_admin',
|
SetGroupAdmin : 'set_group_admin',
|
||||||
// SetGroupAnoymous = 'set_group_anonymous',
|
// SetGroupAnoymous : 'set_group_anonymous',
|
||||||
SetGroupCard = 'set_group_card',
|
SetGroupCard : 'set_group_card',
|
||||||
SetGroupName = 'set_group_name',
|
SetGroupName : 'set_group_name',
|
||||||
SetGroupLeave = 'set_group_leave',
|
SetGroupLeave : 'set_group_leave',
|
||||||
SetSpecialTittle = 'set_group_special_title',
|
SetSpecialTittle : 'set_group_special_title',
|
||||||
SetFriendAddRequest = 'set_friend_add_request',
|
SetFriendAddRequest : 'set_friend_add_request',
|
||||||
SetGroupAddRequest = 'set_group_add_request',
|
SetGroupAddRequest : 'set_group_add_request',
|
||||||
GetLoginInfo = 'get_login_info',
|
GetLoginInfo : 'get_login_info',
|
||||||
GoCQHTTP_GetStrangerInfo = 'get_stranger_info',
|
GoCQHTTP_GetStrangerInfo : 'get_stranger_info',
|
||||||
GetFriendList = 'get_friend_list',
|
GetFriendList : 'get_friend_list',
|
||||||
GetGroupInfo = 'get_group_info',
|
GetGroupInfo : 'get_group_info',
|
||||||
GetGroupList = 'get_group_list',
|
GetGroupList : 'get_group_list',
|
||||||
GetGroupMemberInfo = 'get_group_member_info',
|
GetGroupMemberInfo : 'get_group_member_info',
|
||||||
GetGroupMemberList = 'get_group_member_list',
|
GetGroupMemberList : 'get_group_member_list',
|
||||||
GetGroupHonorInfo = 'get_group_honor_info',
|
GetGroupHonorInfo : 'get_group_honor_info',
|
||||||
GetCookies = 'get_cookies',
|
GetCookies : 'get_cookies',
|
||||||
GetCSRF = 'get_csrf_token',
|
GetCSRF : 'get_csrf_token',
|
||||||
GetCredentials = 'get_credentials',
|
GetCredentials : 'get_credentials',
|
||||||
GetRecord = 'get_record',
|
GetRecord : 'get_record',
|
||||||
GetImage = 'get_image',
|
GetImage : 'get_image',
|
||||||
CanSendImage = 'can_send_image',
|
CanSendImage : 'can_send_image',
|
||||||
CanSendRecord = 'can_send_record',
|
CanSendRecord : 'can_send_record',
|
||||||
GetStatus = 'get_status',
|
GetStatus : 'get_status',
|
||||||
GetVersionInfo = 'get_version_info',
|
GetVersionInfo : 'get_version_info',
|
||||||
// Reboot = 'set_restart',
|
// Reboot : 'set_restart',
|
||||||
// CleanCache = 'clean_cache',
|
// CleanCache : 'clean_cache',
|
||||||
|
|
||||||
// go-cqhttp
|
// go-cqhttp
|
||||||
SetQQProfile = 'set_qq_profile',
|
SetQQProfile : 'set_qq_profile',
|
||||||
// QidianGetAccountInfo = 'qidian_get_account_info',
|
// QidianGetAccountInfo : 'qidian_get_account_info',
|
||||||
GoCQHTTP_GetModelShow = '_get_model_show',
|
GoCQHTTP_GetModelShow : '_get_model_show',
|
||||||
GoCQHTTP_SetModelShow = '_set_model_show',
|
GoCQHTTP_SetModelShow : '_set_model_show',
|
||||||
GetOnlineClient = 'get_online_clients',
|
GetOnlineClient : 'get_online_clients',
|
||||||
// GetUnidirectionalFriendList = 'get_unidirectional_friend_list',
|
// GetUnidirectionalFriendList : 'get_unidirectional_friend_list',
|
||||||
GoCQHTTP_DeleteFriend = 'delete_friend',
|
GoCQHTTP_DeleteFriend : 'delete_friend',
|
||||||
// DeleteUnidirectionalFriendList = 'delete_unidirectional_friend',
|
// DeleteUnidirectionalFriendList : 'delete_unidirectional_friend',
|
||||||
GoCQHTTP_MarkMsgAsRead = 'mark_msg_as_read',
|
GoCQHTTP_MarkMsgAsRead : 'mark_msg_as_read',
|
||||||
GoCQHTTP_SendGroupForwardMsg = 'send_group_forward_msg',
|
GoCQHTTP_SendGroupForwardMsg : 'send_group_forward_msg',
|
||||||
GoCQHTTP_SendPrivateForwardMsg = 'send_private_forward_msg',
|
GoCQHTTP_SendPrivateForwardMsg : 'send_private_forward_msg',
|
||||||
GoCQHTTP_GetGroupMsgHistory = 'get_group_msg_history',
|
GoCQHTTP_GetGroupMsgHistory : 'get_group_msg_history',
|
||||||
OCRImage = 'ocr_image',
|
OCRImage : 'ocr_image',
|
||||||
IOCRImage = '.ocr_image',
|
IOCRImage : '.ocr_image',
|
||||||
GetGroupSystemMsg = 'get_group_system_msg',
|
GetGroupSystemMsg : 'get_group_system_msg',
|
||||||
GoCQHTTP_GetEssenceMsg = 'get_essence_msg_list',
|
GoCQHTTP_GetEssenceMsg : 'get_essence_msg_list',
|
||||||
GoCQHTTP_GetGroupAtAllRemain = 'get_group_at_all_remain',
|
GoCQHTTP_GetGroupAtAllRemain : 'get_group_at_all_remain',
|
||||||
SetGroupPortrait = 'set_group_portrait',
|
SetGroupPortrait : 'set_group_portrait',
|
||||||
SetEssenceMsg = 'set_essence_msg',
|
SetEssenceMsg : 'set_essence_msg',
|
||||||
DelEssenceMsg = 'delete_essence_msg',
|
DelEssenceMsg : 'delete_essence_msg',
|
||||||
GoCQHTTP_SendGroupNotice = '_send_group_notice',
|
GoCQHTTP_SendGroupNotice : '_send_group_notice',
|
||||||
GoCQHTTP_GetGroupNotice = '_get_group_notice',
|
GoCQHTTP_GetGroupNotice : '_get_group_notice',
|
||||||
GoCQHTTP_UploadGroupFile = 'upload_group_file',
|
GoCQHTTP_UploadGroupFile : 'upload_group_file',
|
||||||
GOCQHTTP_DeleteGroupFile = 'delete_group_file',
|
GOCQHTTP_DeleteGroupFile : 'delete_group_file',
|
||||||
GoCQHTTP_CreateGroupFileFolder = 'create_group_file_folder',
|
GoCQHTTP_CreateGroupFileFolder : 'create_group_file_folder',
|
||||||
GoCQHTTP_DeleteGroupFileFolder = 'delete_group_folder',
|
GoCQHTTP_DeleteGroupFileFolder : 'delete_group_folder',
|
||||||
GoCQHTTP_GetGroupFileSystemInfo = 'get_group_file_system_info',
|
GoCQHTTP_GetGroupFileSystemInfo : 'get_group_file_system_info',
|
||||||
GoCQHTTP_GetGroupRootFiles = 'get_group_root_files',
|
GoCQHTTP_GetGroupRootFiles : 'get_group_root_files',
|
||||||
GoCQHTTP_GetGroupFilesByFolder = 'get_group_files_by_folder',
|
GoCQHTTP_GetGroupFilesByFolder : 'get_group_files_by_folder',
|
||||||
GOCQHTTP_GetGroupFileUrl = 'get_group_file_url',
|
GOCQHTTP_GetGroupFileUrl : 'get_group_file_url',
|
||||||
GOCQHTTP_UploadPrivateFile = 'upload_private_file',
|
GOCQHTTP_UploadPrivateFile : 'upload_private_file',
|
||||||
// GOCQHTTP_ReloadEventFilter = 'reload_event_filter',
|
// GOCQHTTP_ReloadEventFilter : 'reload_event_filter',
|
||||||
GoCQHTTP_DownloadFile = 'download_file',
|
GoCQHTTP_DownloadFile : 'download_file',
|
||||||
GoCQHTTP_CheckUrlSafely = 'check_url_safely',
|
GoCQHTTP_CheckUrlSafely : 'check_url_safely',
|
||||||
GoCQHTTP_GetWordSlices = '.get_word_slices',
|
GoCQHTTP_GetWordSlices : '.get_word_slices',
|
||||||
GoCQHTTP_HandleQuickAction = '.handle_quick_operation',
|
GoCQHTTP_HandleQuickAction : '.handle_quick_operation',
|
||||||
|
|
||||||
// 以下为扩展napcat扩展
|
// 以下为扩展napcat扩展
|
||||||
Unknown = 'unknown',
|
Unknown : 'unknown',
|
||||||
SharePeer = 'ArkSharePeer',
|
SharePeer : 'ArkSharePeer',
|
||||||
ShareGroupEx = 'ArkShareGroup',
|
ShareGroupEx : 'ArkShareGroup',
|
||||||
// RebootNormal = 'reboot_normal', //无快速登录重新启动
|
// RebootNormal : 'reboot_normal', //无快速登录重新启动
|
||||||
GetRobotUinRange = 'get_robot_uin_range',
|
GetRobotUinRange : 'get_robot_uin_range',
|
||||||
SetOnlineStatus = 'set_online_status',
|
SetOnlineStatus : 'set_online_status',
|
||||||
GetFriendsWithCategory = 'get_friends_with_category',
|
GetFriendsWithCategory : 'get_friends_with_category',
|
||||||
SetQQAvatar = 'set_qq_avatar',
|
SetQQAvatar : 'set_qq_avatar',
|
||||||
GetFile = 'get_file',
|
GetFile : 'get_file',
|
||||||
ForwardFriendSingleMsg = 'forward_friend_single_msg',
|
ForwardFriendSingleMsg : 'forward_friend_single_msg',
|
||||||
ForwardGroupSingleMsg = 'forward_group_single_msg',
|
ForwardGroupSingleMsg : 'forward_group_single_msg',
|
||||||
TranslateEnWordToZn = 'translate_en2zh',
|
TranslateEnWordToZn : 'translate_en2zh',
|
||||||
SetMsgEmojiLike = 'set_msg_emoji_like',
|
SetMsgEmojiLike : 'set_msg_emoji_like',
|
||||||
GoCQHTTP_SendForwardMsg = 'send_forward_msg',
|
GoCQHTTP_SendForwardMsg : 'send_forward_msg',
|
||||||
MarkPrivateMsgAsRead = 'mark_private_msg_as_read',
|
MarkPrivateMsgAsRead : 'mark_private_msg_as_read',
|
||||||
MarkGroupMsgAsRead = 'mark_group_msg_as_read',
|
MarkGroupMsgAsRead : 'mark_group_msg_as_read',
|
||||||
GetFriendMsgHistory = 'get_friend_msg_history',
|
GetFriendMsgHistory : 'get_friend_msg_history',
|
||||||
CreateCollection = 'create_collection',
|
CreateCollection : 'create_collection',
|
||||||
GetCollectionList = 'get_collection_list',
|
GetCollectionList : 'get_collection_list',
|
||||||
SetLongNick = 'set_self_longnick',
|
SetLongNick : 'set_self_longnick',
|
||||||
GetRecentContact = 'get_recent_contact',
|
GetRecentContact : 'get_recent_contact',
|
||||||
_MarkAllMsgAsRead = '_mark_all_as_read',
|
_MarkAllMsgAsRead : '_mark_all_as_read',
|
||||||
GetProfileLike = 'get_profile_like',
|
GetProfileLike : 'get_profile_like',
|
||||||
FetchCustomFace = 'fetch_custom_face',
|
FetchCustomFace : 'fetch_custom_face',
|
||||||
FetchEmojiLike = 'fetch_emoji_like',
|
FetchEmojiLike : 'fetch_emoji_like',
|
||||||
SetInputStatus = 'set_input_status',
|
SetInputStatus : 'set_input_status',
|
||||||
GetGroupInfoEx = 'get_group_info_ex',
|
GetGroupInfoEx : 'get_group_info_ex',
|
||||||
GetGroupIgnoreAddRequest = 'get_group_ignore_add_request',
|
GetGroupIgnoreAddRequest : 'get_group_ignore_add_request',
|
||||||
DelGroupNotice = '_del_group_notice',
|
DelGroupNotice : '_del_group_notice',
|
||||||
FetchUserProfileLike = 'fetch_user_profile_like',
|
FetchUserProfileLike : 'fetch_user_profile_like',
|
||||||
FriendPoke = 'friend_poke',
|
FriendPoke : 'friend_poke',
|
||||||
GroupPoke = 'group_poke',
|
GroupPoke : 'group_poke',
|
||||||
GetPacketStatus = 'nc_get_packet_status',
|
GetPacketStatus : 'nc_get_packet_status',
|
||||||
GetUserStatus = 'nc_get_user_status',
|
GetUserStatus : 'nc_get_user_status',
|
||||||
GetRkey = 'nc_get_rkey',
|
GetRkey : 'nc_get_rkey',
|
||||||
GetGroupShutList = 'get_group_shut_list',
|
GetGroupShutList : 'get_group_shut_list',
|
||||||
|
|
||||||
GetGuildList = 'get_guild_list',
|
GetGuildList : 'get_guild_list',
|
||||||
GetGuildProfile = 'get_guild_service_profile',
|
GetGuildProfile : 'get_guild_service_profile',
|
||||||
|
|
||||||
GetGroupIgnoredNotifies = 'get_group_ignored_notifies',
|
GetGroupIgnoredNotifies : 'get_group_ignored_notifies',
|
||||||
|
|
||||||
SetGroupSign = "set_group_sign",
|
SetGroupSign : "set_group_sign",
|
||||||
SendGroupSign = "send_group_sign",
|
SendGroupSign : "send_group_sign",
|
||||||
|
|
||||||
GetMiniAppArk = "get_mini_app_ark",
|
GetMiniAppArk : "get_mini_app_ark",
|
||||||
// UploadForwardMsg = "upload_forward_msg",
|
// UploadForwardMsg : "upload_forward_msg",
|
||||||
GetAiRecord = "get_ai_record",
|
GetAiRecord : "get_ai_record",
|
||||||
GetAiCharacters = "get_ai_characters",
|
GetAiCharacters : "get_ai_characters",
|
||||||
SendGroupAiRecord = "send_group_ai_record",
|
SendGroupAiRecord : "send_group_ai_record",
|
||||||
}
|
} as const;
|
||||||
|
@@ -1,10 +1,10 @@
|
|||||||
import { ActionName } from '@/onebot/action/router';
|
import { ActionName } from '@/onebot/action/router';
|
||||||
import CanSendRecord from './CanSendRecord';
|
import CanSendRecord, {CanSend} from './CanSendRecord';
|
||||||
|
|
||||||
interface ReturnType {
|
interface ReturnType {
|
||||||
yes: boolean;
|
yes: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default class CanSendImage extends CanSendRecord {
|
export default class CanSendImage extends CanSend {
|
||||||
actionName = ActionName.CanSendImage;
|
actionName = ActionName.CanSendImage;
|
||||||
}
|
}
|
||||||
|
@@ -5,12 +5,15 @@ interface ReturnType {
|
|||||||
yes: boolean;
|
yes: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default class CanSendRecord extends OneBotAction<any, ReturnType> {
|
export class CanSend extends OneBotAction<any, ReturnType> {
|
||||||
actionName = ActionName.CanSendRecord;
|
|
||||||
|
|
||||||
async _handle(_payload: void): Promise<ReturnType> {
|
async _handle(_payload: void): Promise<ReturnType> {
|
||||||
return {
|
return {
|
||||||
yes: true,
|
yes: true,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export default class CanSendRecord extends CanSend{
|
||||||
|
actionName = ActionName.CanSendRecord;
|
||||||
|
}
|
||||||
|
@@ -4,6 +4,9 @@ import { ActionMap } from "@/onebot/action";
|
|||||||
|
|
||||||
export const plugin_onmessage = async (adapter: string, core: NapCatCore, obCore: NapCatOneBot11Adapter, message: OB11Message, action: ActionMap) => {
|
export const plugin_onmessage = async (adapter: string, core: NapCatCore, obCore: NapCatOneBot11Adapter, message: OB11Message, action: ActionMap) => {
|
||||||
if (message.raw_message === 'ping') {
|
if (message.raw_message === 'ping') {
|
||||||
|
// TODO:
|
||||||
|
// const a = action.get('fetch_user_profilqe_like');
|
||||||
|
const ssa = action.get('fetch_user_profile_like');
|
||||||
const ret = await action.get('send_group_msg')?.handle({ group_id: String(message.group_id), message: 'pong' }, adapter);
|
const ret = await action.get('send_group_msg')?.handle({ group_id: String(message.group_id), message: 'pong' }, adapter);
|
||||||
console.log(ret);
|
console.log(ret);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user