From 56cd66ffa8f96e9561b102e67dcbf40186deee64 Mon Sep 17 00:00:00 2001 From: 3944Realms Date: Fri, 15 Aug 2025 20:28:17 +0800 Subject: [PATCH] feat: add new Event --- .projectroot | 0 python/events/account/KtGenerator.py | 111 ++++++++++++++++++ python/events/group/KtGenerator.py | 111 ++++++++++++++++++ python/events/message/KtGenerator.py | 111 ++++++++++++++++++ python/events/message/group/KtGenerator.py | 111 ++++++++++++++++++ python/events/message/personal/KtGenerator.py | 111 ++++++++++++++++++ .../ltdmanager/napcat/data/CharBoxElement.kt | 4 + .../ltdmanager/napcat/data/Character.kt | 4 + .../ltdmanager/napcat/data/FriendInfo.kt | 4 + ...SharePeerEvent.kt => ArkSharePeerEvent.kt} | 0 .../account/GetFriendsWithCategoryEvent.kt | 59 ++++++++++ .../events/personal/CanSendImageEvent.kt | 33 ++++++ .../events/personal/CanSendRecordEvent.kt | 30 +++++ .../ClickInlineKeyboardButtonEvent.kt | 39 ++++++ .../events/personal/GetAiCharactersEvent.kt | 41 +++++++ .../events/personal/GetAiRecordEvent.kt | 33 ++++++ .../napcat/events/personal/OcrImageEvent.kt | 68 +++++++++++ .../PointHandleQuickOperationEvent.kt | 31 +++++ .../events/personal/PointOcrImageEvent.kt | 31 +++++ .../events/personal/SetInputStatusEvent.kt | 34 ++++++ .../events/personal/TranslateEn2zhEvent.kt | 31 +++++ .../napcat/events/system/BotExitEvent.kt | 16 +++ .../events/system/GetRobotUinRangeEvent.kt | 50 ++++++++ .../events/system/GetVersionInfoEvent.kt | 56 +++++++++ .../events/system/NcGetPacketStatusEvent.kt | 47 ++++++++ .../napcat/events/system/SendPacketEvent.kt | 18 +++ 26 files changed, 1184 insertions(+) create mode 100644 .projectroot create mode 100644 python/events/account/KtGenerator.py create mode 100644 python/events/group/KtGenerator.py create mode 100644 python/events/message/KtGenerator.py create mode 100644 python/events/message/group/KtGenerator.py create mode 100644 python/events/message/personal/KtGenerator.py create mode 100644 src/main/kotlin/top/r3944realms/ltdmanager/napcat/data/CharBoxElement.kt create mode 100644 src/main/kotlin/top/r3944realms/ltdmanager/napcat/data/Character.kt create mode 100644 src/main/kotlin/top/r3944realms/ltdmanager/napcat/data/FriendInfo.kt rename src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/account/{GetArkSharePeerEvent.kt => ArkSharePeerEvent.kt} (100%) create mode 100644 src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/account/GetFriendsWithCategoryEvent.kt create mode 100644 src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/CanSendImageEvent.kt create mode 100644 src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/CanSendRecordEvent.kt create mode 100644 src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/ClickInlineKeyboardButtonEvent.kt create mode 100644 src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/GetAiCharactersEvent.kt create mode 100644 src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/GetAiRecordEvent.kt create mode 100644 src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/OcrImageEvent.kt create mode 100644 src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/PointHandleQuickOperationEvent.kt create mode 100644 src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/PointOcrImageEvent.kt create mode 100644 src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/SetInputStatusEvent.kt create mode 100644 src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/TranslateEn2zhEvent.kt create mode 100644 src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/system/BotExitEvent.kt create mode 100644 src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/system/GetRobotUinRangeEvent.kt create mode 100644 src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/system/GetVersionInfoEvent.kt create mode 100644 src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/system/NcGetPacketStatusEvent.kt create mode 100644 src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/system/SendPacketEvent.kt diff --git a/.projectroot b/.projectroot new file mode 100644 index 0000000..e69de29 diff --git a/python/events/account/KtGenerator.py b/python/events/account/KtGenerator.py new file mode 100644 index 0000000..0cca50f --- /dev/null +++ b/python/events/account/KtGenerator.py @@ -0,0 +1,111 @@ +import os + +# 原始API路径列表 +api_paths = [ + "/set_qq_avatar", + "/send_like", + "/mark_private_msg_as_read", + "/mark_group_msg_as_read", + "/create_collection", + "/set_friend_add_request", + "/set_self_longnick", + "/get_login_info", + "/get_recent_contact", + "/get_stranger_info", + "/get_friend_list", + "/_mark_all_as_read", + "/get_profile_like", + "/fetch_custom_face", + "/delete_friend", + "/_get_model_show", + "/_set_model_show", + "/nc_get_user_status", + "/get_status", + "/get_mini_app_ark", + "/get_unidirectional_friend_list", + "/set_diy_online_status", + "/set_friend_remark" +] + +# Kotlin事件类模板 +kotlin_template = """ +package top.r3944realms.ltdmanager.napcat.events.account + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * {event_description}事件 + * @property data 响应数据 + */ +@Serializable +data class {class_name}( + @Transient + val status0: Status = Status.Ok, + @Transient + val retcode0: Double = 0.0, + @Transient + val message0: String = "", + @Transient + val wording0: String = "", + @Transient + val echo0: String? = null, + + +) : AbstractAccountEvent(status0, retcode0, message0, wording0, echo0) {{ + + override fun subtype(): String {{ + return "{original_name}" + }} +}} +""" + +def path_to_class_name(api_path): + """将API路径转换为类名""" + # 移除斜杠和前缀下划线 + clean_path = api_path.lstrip('/').lstrip('_') + # 分割单词并转换为驼峰命名 + parts = clean_path.split('_') + return ''.join(part.capitalize() for part in parts) + "Event" + +def path_to_original_name(api_path): + """获取原始API名称(不带斜杠)""" + return api_path.lstrip('/') + +def generate_description(class_name): + """生成事件描述""" + return class_name.replace("Event", "") + +def generate_kotlin_class(api_path): + """生成完整的Kotlin类""" + class_name = path_to_class_name(api_path) + original_name = path_to_original_name(api_path) + event_description = generate_description(class_name) + + return kotlin_template.format( + class_name=class_name, + original_name=original_name, + event_description=event_description + ) + +def main(): + # 创建输出目录 + output_dir = "../../../src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/account/wip" + os.makedirs(output_dir, exist_ok=True) + + # 为每个API路径生成Kotlin文件 + for api_path in api_paths: + kotlin_code = generate_kotlin_class(api_path) + class_name = path_to_class_name(api_path) + filename = f"{output_dir}/{class_name}.kt" + + with open(filename, "w", encoding="utf-8") as f: + f.write(kotlin_code) + + print(f"Generated: {filename}") + + print(f"\nSuccessfully generated {len(api_paths)} Kotlin event classes in '{output_dir}' directory") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/python/events/group/KtGenerator.py b/python/events/group/KtGenerator.py new file mode 100644 index 0000000..afb785a --- /dev/null +++ b/python/events/group/KtGenerator.py @@ -0,0 +1,111 @@ +import os + +# 原始API路径列表 +api_paths = [ + "/set_qq_avatar", + "/send_like", + "/mark_private_msg_as_read", + "/mark_group_msg_as_read", + "/create_collection", + "/set_friend_add_request", + "/set_self_longnick", + "/get_login_info", + "/get_recent_contact", + "/get_stranger_info", + "/get_friend_list", + "/_mark_all_as_read", + "/get_profile_like", + "/fetch_custom_face", + "/delete_friend", + "/_get_model_show", + "/_set_model_show", + "/nc_get_user_status", + "/get_status", + "/get_mini_app_ark", + "/get_unidirectional_friend_list", + "/set_diy_online_status", + "/set_friend_remark" +] + +# Kotlin事件类模板 +kotlin_template = """ +package top.r3944realms.ltdmanager.napcat.events.group + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * {event_description}事件 + * @property data 响应数据 + */ +@Serializable +data class {class_name}( + @Transient + val status0: Status = Status.Ok, + @Transient + val retcode0: Double = 0.0, + @Transient + val message0: String = "", + @Transient + val wording0: String = "", + @Transient + val echo0: String? = null, + + +) : AbstractGroupEvent(status0, retcode0, message0, wording0, echo0) {{ + + override fun subtype(): String {{ + return "{original_name}" + }} +}} +""" + +def path_to_class_name(api_path): + """将API路径转换为类名""" + # 移除斜杠和前缀下划线 + clean_path = api_path.lstrip('/').lstrip('_') + # 分割单词并转换为驼峰命名 + parts = clean_path.split('_') + return ''.join(part.capitalize() for part in parts) + "Event" + +def path_to_original_name(api_path): + """获取原始API名称(不带斜杠)""" + return api_path.lstrip('/') + +def generate_description(class_name): + """生成事件描述""" + return class_name.replace("Event", "") + +def generate_kotlin_class(api_path): + """生成完整的Kotlin类""" + class_name = path_to_class_name(api_path) + original_name = path_to_original_name(api_path) + event_description = generate_description(class_name) + + return kotlin_template.format( + class_name=class_name, + original_name=original_name, + event_description=event_description + ) + +def main(): + # 创建输出目录 + output_dir = "../../../src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/group/wip" + os.makedirs(output_dir, exist_ok=True) + + # 为每个API路径生成Kotlin文件 + for api_path in api_paths: + kotlin_code = generate_kotlin_class(api_path) + class_name = path_to_class_name(api_path) + filename = f"{output_dir}/{class_name}.kt" + + with open(filename, "w", encoding="utf-8") as f: + f.write(kotlin_code) + + print(f"Generated: {filename}") + + print(f"\nSuccessfully generated {len(api_paths)} Kotlin event classes in '{output_dir}' directory") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/python/events/message/KtGenerator.py b/python/events/message/KtGenerator.py new file mode 100644 index 0000000..0cca50f --- /dev/null +++ b/python/events/message/KtGenerator.py @@ -0,0 +1,111 @@ +import os + +# 原始API路径列表 +api_paths = [ + "/set_qq_avatar", + "/send_like", + "/mark_private_msg_as_read", + "/mark_group_msg_as_read", + "/create_collection", + "/set_friend_add_request", + "/set_self_longnick", + "/get_login_info", + "/get_recent_contact", + "/get_stranger_info", + "/get_friend_list", + "/_mark_all_as_read", + "/get_profile_like", + "/fetch_custom_face", + "/delete_friend", + "/_get_model_show", + "/_set_model_show", + "/nc_get_user_status", + "/get_status", + "/get_mini_app_ark", + "/get_unidirectional_friend_list", + "/set_diy_online_status", + "/set_friend_remark" +] + +# Kotlin事件类模板 +kotlin_template = """ +package top.r3944realms.ltdmanager.napcat.events.account + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * {event_description}事件 + * @property data 响应数据 + */ +@Serializable +data class {class_name}( + @Transient + val status0: Status = Status.Ok, + @Transient + val retcode0: Double = 0.0, + @Transient + val message0: String = "", + @Transient + val wording0: String = "", + @Transient + val echo0: String? = null, + + +) : AbstractAccountEvent(status0, retcode0, message0, wording0, echo0) {{ + + override fun subtype(): String {{ + return "{original_name}" + }} +}} +""" + +def path_to_class_name(api_path): + """将API路径转换为类名""" + # 移除斜杠和前缀下划线 + clean_path = api_path.lstrip('/').lstrip('_') + # 分割单词并转换为驼峰命名 + parts = clean_path.split('_') + return ''.join(part.capitalize() for part in parts) + "Event" + +def path_to_original_name(api_path): + """获取原始API名称(不带斜杠)""" + return api_path.lstrip('/') + +def generate_description(class_name): + """生成事件描述""" + return class_name.replace("Event", "") + +def generate_kotlin_class(api_path): + """生成完整的Kotlin类""" + class_name = path_to_class_name(api_path) + original_name = path_to_original_name(api_path) + event_description = generate_description(class_name) + + return kotlin_template.format( + class_name=class_name, + original_name=original_name, + event_description=event_description + ) + +def main(): + # 创建输出目录 + output_dir = "../../../src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/account/wip" + os.makedirs(output_dir, exist_ok=True) + + # 为每个API路径生成Kotlin文件 + for api_path in api_paths: + kotlin_code = generate_kotlin_class(api_path) + class_name = path_to_class_name(api_path) + filename = f"{output_dir}/{class_name}.kt" + + with open(filename, "w", encoding="utf-8") as f: + f.write(kotlin_code) + + print(f"Generated: {filename}") + + print(f"\nSuccessfully generated {len(api_paths)} Kotlin event classes in '{output_dir}' directory") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/python/events/message/group/KtGenerator.py b/python/events/message/group/KtGenerator.py new file mode 100644 index 0000000..0cca50f --- /dev/null +++ b/python/events/message/group/KtGenerator.py @@ -0,0 +1,111 @@ +import os + +# 原始API路径列表 +api_paths = [ + "/set_qq_avatar", + "/send_like", + "/mark_private_msg_as_read", + "/mark_group_msg_as_read", + "/create_collection", + "/set_friend_add_request", + "/set_self_longnick", + "/get_login_info", + "/get_recent_contact", + "/get_stranger_info", + "/get_friend_list", + "/_mark_all_as_read", + "/get_profile_like", + "/fetch_custom_face", + "/delete_friend", + "/_get_model_show", + "/_set_model_show", + "/nc_get_user_status", + "/get_status", + "/get_mini_app_ark", + "/get_unidirectional_friend_list", + "/set_diy_online_status", + "/set_friend_remark" +] + +# Kotlin事件类模板 +kotlin_template = """ +package top.r3944realms.ltdmanager.napcat.events.account + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * {event_description}事件 + * @property data 响应数据 + */ +@Serializable +data class {class_name}( + @Transient + val status0: Status = Status.Ok, + @Transient + val retcode0: Double = 0.0, + @Transient + val message0: String = "", + @Transient + val wording0: String = "", + @Transient + val echo0: String? = null, + + +) : AbstractAccountEvent(status0, retcode0, message0, wording0, echo0) {{ + + override fun subtype(): String {{ + return "{original_name}" + }} +}} +""" + +def path_to_class_name(api_path): + """将API路径转换为类名""" + # 移除斜杠和前缀下划线 + clean_path = api_path.lstrip('/').lstrip('_') + # 分割单词并转换为驼峰命名 + parts = clean_path.split('_') + return ''.join(part.capitalize() for part in parts) + "Event" + +def path_to_original_name(api_path): + """获取原始API名称(不带斜杠)""" + return api_path.lstrip('/') + +def generate_description(class_name): + """生成事件描述""" + return class_name.replace("Event", "") + +def generate_kotlin_class(api_path): + """生成完整的Kotlin类""" + class_name = path_to_class_name(api_path) + original_name = path_to_original_name(api_path) + event_description = generate_description(class_name) + + return kotlin_template.format( + class_name=class_name, + original_name=original_name, + event_description=event_description + ) + +def main(): + # 创建输出目录 + output_dir = "../../../src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/account/wip" + os.makedirs(output_dir, exist_ok=True) + + # 为每个API路径生成Kotlin文件 + for api_path in api_paths: + kotlin_code = generate_kotlin_class(api_path) + class_name = path_to_class_name(api_path) + filename = f"{output_dir}/{class_name}.kt" + + with open(filename, "w", encoding="utf-8") as f: + f.write(kotlin_code) + + print(f"Generated: {filename}") + + print(f"\nSuccessfully generated {len(api_paths)} Kotlin event classes in '{output_dir}' directory") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/python/events/message/personal/KtGenerator.py b/python/events/message/personal/KtGenerator.py new file mode 100644 index 0000000..0cca50f --- /dev/null +++ b/python/events/message/personal/KtGenerator.py @@ -0,0 +1,111 @@ +import os + +# 原始API路径列表 +api_paths = [ + "/set_qq_avatar", + "/send_like", + "/mark_private_msg_as_read", + "/mark_group_msg_as_read", + "/create_collection", + "/set_friend_add_request", + "/set_self_longnick", + "/get_login_info", + "/get_recent_contact", + "/get_stranger_info", + "/get_friend_list", + "/_mark_all_as_read", + "/get_profile_like", + "/fetch_custom_face", + "/delete_friend", + "/_get_model_show", + "/_set_model_show", + "/nc_get_user_status", + "/get_status", + "/get_mini_app_ark", + "/get_unidirectional_friend_list", + "/set_diy_online_status", + "/set_friend_remark" +] + +# Kotlin事件类模板 +kotlin_template = """ +package top.r3944realms.ltdmanager.napcat.events.account + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * {event_description}事件 + * @property data 响应数据 + */ +@Serializable +data class {class_name}( + @Transient + val status0: Status = Status.Ok, + @Transient + val retcode0: Double = 0.0, + @Transient + val message0: String = "", + @Transient + val wording0: String = "", + @Transient + val echo0: String? = null, + + +) : AbstractAccountEvent(status0, retcode0, message0, wording0, echo0) {{ + + override fun subtype(): String {{ + return "{original_name}" + }} +}} +""" + +def path_to_class_name(api_path): + """将API路径转换为类名""" + # 移除斜杠和前缀下划线 + clean_path = api_path.lstrip('/').lstrip('_') + # 分割单词并转换为驼峰命名 + parts = clean_path.split('_') + return ''.join(part.capitalize() for part in parts) + "Event" + +def path_to_original_name(api_path): + """获取原始API名称(不带斜杠)""" + return api_path.lstrip('/') + +def generate_description(class_name): + """生成事件描述""" + return class_name.replace("Event", "") + +def generate_kotlin_class(api_path): + """生成完整的Kotlin类""" + class_name = path_to_class_name(api_path) + original_name = path_to_original_name(api_path) + event_description = generate_description(class_name) + + return kotlin_template.format( + class_name=class_name, + original_name=original_name, + event_description=event_description + ) + +def main(): + # 创建输出目录 + output_dir = "../../../src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/account/wip" + os.makedirs(output_dir, exist_ok=True) + + # 为每个API路径生成Kotlin文件 + for api_path in api_paths: + kotlin_code = generate_kotlin_class(api_path) + class_name = path_to_class_name(api_path) + filename = f"{output_dir}/{class_name}.kt" + + with open(filename, "w", encoding="utf-8") as f: + f.write(kotlin_code) + + print(f"Generated: {filename}") + + print(f"\nSuccessfully generated {len(api_paths)} Kotlin event classes in '{output_dir}' directory") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/napcat/data/CharBoxElement.kt b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/data/CharBoxElement.kt new file mode 100644 index 0000000..f9f72a3 --- /dev/null +++ b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/data/CharBoxElement.kt @@ -0,0 +1,4 @@ +package top.r3944realms.ltdmanager.napcat.data + +class CharBoxElement { +} \ No newline at end of file diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/napcat/data/Character.kt b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/data/Character.kt new file mode 100644 index 0000000..f1b9426 --- /dev/null +++ b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/data/Character.kt @@ -0,0 +1,4 @@ +package top.r3944realms.ltdmanager.napcat.data + +class Character { +} \ No newline at end of file diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/napcat/data/FriendInfo.kt b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/data/FriendInfo.kt new file mode 100644 index 0000000..ce7f797 --- /dev/null +++ b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/data/FriendInfo.kt @@ -0,0 +1,4 @@ +package top.r3944realms.ltdmanager.napcat.data + +class FriendeInfo { +} \ No newline at end of file diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/account/GetArkSharePeerEvent.kt b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/account/ArkSharePeerEvent.kt similarity index 100% rename from src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/account/GetArkSharePeerEvent.kt rename to src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/account/ArkSharePeerEvent.kt diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/account/GetFriendsWithCategoryEvent.kt b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/account/GetFriendsWithCategoryEvent.kt new file mode 100644 index 0000000..3733124 --- /dev/null +++ b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/account/GetFriendsWithCategoryEvent.kt @@ -0,0 +1,59 @@ +package top.r3944realms.ltdmanager.napcat.events.account + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient +import top.r3944realms.ltdmanager.napcat.data.FriendInfo + +data class GetFriendsWithCategory( + @Transient + val status0: Status = Status.Ok, + @Transient + val retcode0: Double = 0.0, + @Transient + val message0: String = "", + @Transient + val wording0: String = "", + @Transient + val echo0: String? = null, + val data: Datum + +) : AbstractAccountEvent(status0, retcode0, message0, wording0, echo0) { + override fun subtype(): String = "/get_friends_with_category" + @Serializable + data class Datum ( + /** + * 好友列表 + */ + val buddyList: List, + + /** + * 分组ID + */ + @SerialName("categoryId") + val categoryID: Double, + + /** + * 好友数量 + */ + @SerialName("categoryMbCount") + val categoryMBCount: Double, + + /** + * 分组名 + */ + val categoryName: String, + + /** + * 分组排序ID + */ + @SerialName("categorySortId") + val categorySortID: Double, + + /** + * 在线好友数量 + */ + val onlineCount: Double + ) + +} \ No newline at end of file diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/CanSendImageEvent.kt b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/CanSendImageEvent.kt new file mode 100644 index 0000000..d817dfc --- /dev/null +++ b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/CanSendImageEvent.kt @@ -0,0 +1,33 @@ + +package top.r3944realms.ltdmanager.napcat.events.personal + +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * CanSendImage事件 + * @property data 响应数据 + */ +@Serializable +data class CanSendImageEvent( + @Transient + val status0: Status = Status.Ok, + @Transient + val retcode0: Double = 0.0, + @Transient + val message0: String = "", + @Transient + val wording0: String = "", + @Transient + val echo0: String? = null, + + val data: Data +) : AbstractPersonalEvent(status0, retcode0, message0, wording0, echo0) { + @Serializable + data class Data ( + val yes: Boolean + ) + override fun subtype(): String { + return "can_send_image" + } +} diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/CanSendRecordEvent.kt b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/CanSendRecordEvent.kt new file mode 100644 index 0000000..d538e0a --- /dev/null +++ b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/CanSendRecordEvent.kt @@ -0,0 +1,30 @@ + +package top.r3944realms.ltdmanager.napcat.events.personal + +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * CanSendRecord事件 + * @property data 响应数据 + */ +@Serializable +data class CanSendRecordEvent( + @Transient + val status0: Status = Status.Ok, + @Transient + val retcode0: Double = 0.0, + @Transient + val message0: String = "", + @Transient + val wording0: String = "", + @Transient + val echo0: String? = null, + + val data: CanSendImageEvent.Data +) : AbstractPersonalEvent(status0, retcode0, message0, wording0, echo0) { + + override fun subtype(): String { + return "can_send_record" + } +} diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/ClickInlineKeyboardButtonEvent.kt b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/ClickInlineKeyboardButtonEvent.kt new file mode 100644 index 0000000..de617df --- /dev/null +++ b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/ClickInlineKeyboardButtonEvent.kt @@ -0,0 +1,39 @@ + +package top.r3944realms.ltdmanager.napcat.events.personal + +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * ClickInlineKeyboardButton事件 + * @property data 响应数据 + */ +@Serializable +data class ClickInlineKeyboardButtonEvent( + @Transient + val status0: Status = Status.Ok, + @Transient + val retcode0: Double = 0.0, + @Transient + val message0: String = "", + @Transient + val wording0: String = "", + @Transient + val echo0: String? = null, + + val data: Data +) : AbstractPersonalEvent(status0, retcode0, message0, wording0, echo0) { + @Serializable + data class Data ( + val errMsg: String, + val promptIcon: Double, + val promptText: String, + val promptType: Double, + val result: Double, + val status: Double + ) + + override fun subtype(): String { + return "click_inline_keyboard_button" + } +} diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/GetAiCharactersEvent.kt b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/GetAiCharactersEvent.kt new file mode 100644 index 0000000..500bdee --- /dev/null +++ b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/GetAiCharactersEvent.kt @@ -0,0 +1,41 @@ + +package top.r3944realms.ltdmanager.napcat.events.personal + +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * GetAiCharacters事件 + * @property data 响应数据 + */ +@Serializable +data class GetAiCharactersEvent( + @Transient + val status0: Status = Status.Ok, + @Transient + val retcode0: Double = 0.0, + @Transient + val message0: String = "", + @Transient + val wording0: String = "", + @Transient + val echo0: String? = null, + + val data: List +) : AbstractPersonalEvent(status0, retcode0, message0, wording0, echo0) { + @Serializable + data class Datum ( + /** + * 人物列表 + */ + val characters: List, + + /** + * 类型 + */ + val type: String + ) + override fun subtype(): String { + return "get_ai_characters" + } +} diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/GetAiRecordEvent.kt b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/GetAiRecordEvent.kt new file mode 100644 index 0000000..b048522 --- /dev/null +++ b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/GetAiRecordEvent.kt @@ -0,0 +1,33 @@ + +package top.r3944realms.ltdmanager.napcat.events.personal + +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * GetAiRecord事件 + * @property data 响应数据 + */ +@Serializable +data class GetAiRecordEvent( + @Transient + val status0: Status = Status.Ok, + @Transient + val retcode0: Double = 0.0, + @Transient + val message0: String = "", + @Transient + val wording0: String = "", + @Transient + val echo0: String? = null, + /** + * 链接 + */ + val data: String + +) : AbstractPersonalEvent(status0, retcode0, message0, wording0, echo0) { + + override fun subtype(): String { + return "get_ai_record" + } +} diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/OcrImageEvent.kt b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/OcrImageEvent.kt new file mode 100644 index 0000000..35623ad --- /dev/null +++ b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/OcrImageEvent.kt @@ -0,0 +1,68 @@ + +package top.r3944realms.ltdmanager.napcat.events.personal + +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient +import top.r3944realms.ltdmanager.napcat.data.CharBoxElement + +/** + * OcrImage事件 + * @property data 响应数据 + */ +@Serializable +data class OcrImageEvent( + @Transient + val status0: Status = Status.Ok, + @Transient + val retcode0: Double = 0.0, + @Transient + val message0: String = "", + @Transient + val wording0: String = "", + @Transient + val echo0: String? = null, + + val data: List + +) : AbstractPersonalEvent(status0, retcode0, message0, wording0, echo0) { + /** + * 一个代表一行 + */ + @Serializable + data class Datum ( + /** + * 拆分 + */ + val charBox: List, + + /** + * 顶点坐标 + */ + val pt1: CharBoxElement.CharBoxPt, + + /** + * 顶点坐标 + */ + val pt2: CharBoxElement.CharBoxPt, + + /** + * 顶点坐标 + */ + val pt3: CharBoxElement.CharBoxPt, + + /** + * 顶点坐标 + */ + val pt4: CharBoxElement.CharBoxPt, + + val score: String, + + /** + * 该行文本总和 + */ + val text: String + ) + override fun subtype(): String { + return "ocr_image" + } +} diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/PointHandleQuickOperationEvent.kt b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/PointHandleQuickOperationEvent.kt new file mode 100644 index 0000000..e1ec1f5 --- /dev/null +++ b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/PointHandleQuickOperationEvent.kt @@ -0,0 +1,31 @@ + +package top.r3944realms.ltdmanager.napcat.events.personal + +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient +import kotlinx.serialization.json.JsonElement + +/** + * PointHandleQuickOperation事件 + * @property data 响应数据 + */ +@Serializable +data class PointHandleQuickOperationEvent( + @Transient + val status0: Status = Status.Ok, + @Transient + val retcode0: Double = 0.0, + @Transient + val message0: String = "", + @Transient + val wording0: String = "", + @Transient + val echo0: String? = null, + + val data: JsonElement? = null, +) : AbstractPersonalEvent(status0, retcode0, message0, wording0, echo0) { + + override fun subtype(): String { + return ".handle_quick_operation" + } +} diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/PointOcrImageEvent.kt b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/PointOcrImageEvent.kt new file mode 100644 index 0000000..b08823b --- /dev/null +++ b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/PointOcrImageEvent.kt @@ -0,0 +1,31 @@ + +package top.r3944realms.ltdmanager.napcat.events.personal + +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * PointOcrImage事件 + * @property data 响应数据 + */ +@Serializable +data class PointOcrImageEvent( + @Transient + val status0: Status = Status.Ok, + @Transient + val retcode0: Double = 0.0, + @Transient + val message0: String = "", + @Transient + val wording0: String = "", + @Transient + val echo0: String? = null, + + val data: List + +) : AbstractPersonalEvent(status0, retcode0, message0, wording0, echo0) { + + override fun subtype(): String { + return ".ocr_image" + } +} diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/SetInputStatusEvent.kt b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/SetInputStatusEvent.kt new file mode 100644 index 0000000..aabbaef --- /dev/null +++ b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/SetInputStatusEvent.kt @@ -0,0 +1,34 @@ +package top.r3944realms.ltdmanager.napcat.events.personal + +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * SetInputStatusEvent + * @property data 响应数据 + */ +@Serializable +data class SetInputStatusEvent( + @Transient + val status0: Status = Status.Ok, + @Transient + val retcode0: Double = 0.0, + @Transient + val message0: String = "", + @Transient + val wording0: String = "", + @Transient + val echo0: String? = null, + + val data: Data + + ) : AbstractPersonalEvent(status0, retcode0, message0, wording0, echo0) { + @Serializable + data class Data ( + val errMsg: String, + val result: Double + ) + override fun subtype(): String { + return "set_input_status" + } +} \ No newline at end of file diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/TranslateEn2zhEvent.kt b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/TranslateEn2zhEvent.kt new file mode 100644 index 0000000..8a457ac --- /dev/null +++ b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/personal/TranslateEn2zhEvent.kt @@ -0,0 +1,31 @@ + +package top.r3944realms.ltdmanager.napcat.events.personal + +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient + +/** + * TranslateEn2zh事件 + * @property data 响应数据 + */ +@Serializable +data class TranslateEn2zhEvent( + @Transient + val status0: Status = Status.Ok, + @Transient + val retcode0: Double = 0.0, + @Transient + val message0: String = "", + @Transient + val wording0: String = "", + @Transient + val echo0: String? = null, + + val data: List + +) : AbstractPersonalEvent(status0, retcode0, message0, wording0, echo0) { + + override fun subtype(): String { + return "translate_en2zh" + } +} diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/system/BotExitEvent.kt b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/system/BotExitEvent.kt new file mode 100644 index 0000000..681243c --- /dev/null +++ b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/system/BotExitEvent.kt @@ -0,0 +1,16 @@ + +package top.r3944realms.ltdmanager.napcat.events.system + +import kotlinx.serialization.Serializable + +/** +* BotExit事件 +* @property data 响应数据 +*/ +@Serializable +class BotExitEvent: AbstractSystemEvent() { + override fun subtype(): String { + return "bot_exit" + } +} + \ No newline at end of file diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/system/GetRobotUinRangeEvent.kt b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/system/GetRobotUinRangeEvent.kt new file mode 100644 index 0000000..762b218 --- /dev/null +++ b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/system/GetRobotUinRangeEvent.kt @@ -0,0 +1,50 @@ + +package top.r3944realms.ltdmanager.napcat.events.system + +import kotlinx.serialization.Serializable + + +/** +* GetRobotUinRange事件 +* @property status 状态字符串 +* @property retcode 返回代码 +* @property message 消息 +* @property wording 文字描述 +* @property echo 回显字段 (可空) +* @property data 响应数据 +*/ +@Serializable +data class GetRobotUinRangeEvent( + /** + * 状态字符串 + */ + val status: Status, + /** + * 返回代码 + */ + val retcode: Double, + /** + * 消息 + */ + val message: String, + /** + * 文字描述 + */ + val wording: String, + /** + * 回显字段 + */ + val echo: String? = null, + val data :List +) : AbstractSystemEvent() { + + @Serializable + data class Datum ( + val maxUin: String, + val minUin: String + ) + override fun subtype(): String { + return "get_robot_uin_range" + } +} + \ No newline at end of file diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/system/GetVersionInfoEvent.kt b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/system/GetVersionInfoEvent.kt new file mode 100644 index 0000000..d518758 --- /dev/null +++ b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/system/GetVersionInfoEvent.kt @@ -0,0 +1,56 @@ + +package top.r3944realms.ltdmanager.napcat.events.system + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** +* GetVersionInfo事件 +* @property status 状态字符串 +* @property retcode 返回代码 +* @property message 消息 +* @property wording 文字描述 +* @property echo 回显字段 (可空) +* @property data 响应数据 +*/ +@Serializable +data class GetVersionInfoEvent( + /** + * 状态字符串 + */ + val status: Status, + /** + * 返回代码 + */ + val retcode: Double, + /** + * 消息 + */ + val message: String, + /** + * 文字描述 + */ + val wording: String, + /** + * 回显字段 + */ + val echo: String? = null, + + val data: Data +) : AbstractSystemEvent() { + @Serializable + data class Data ( + @SerialName("app_name") + val appName: String, + + @SerialName("app_version") + val appVersion: String, + + @SerialName("protocol_version") + val protocolVersion: String + ) + override fun subtype(): String { + return "get_version_info" + } +} + \ No newline at end of file diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/system/NcGetPacketStatusEvent.kt b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/system/NcGetPacketStatusEvent.kt new file mode 100644 index 0000000..13daf7d --- /dev/null +++ b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/system/NcGetPacketStatusEvent.kt @@ -0,0 +1,47 @@ + +package top.r3944realms.ltdmanager.napcat.events.system + +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonElement + +/** +* NcGetPacketStatus事件 +* @property status 状态字符串 +* @property retcode 返回代码 +* @property message 消息 +* @property wording 文字描述 +* @property echo 回显字段 (可空) +* @property data 响应数据 +*/ +@Serializable +data class NcGetPacketStatusEvent( + /** + * 状态字符串 + */ + val status: Status, + /** + * 返回代码 + */ + val retcode: Double, + /** + * 消息 + */ + val message: String, + /** + * 文字描述 + */ + val wording: String, + /** + * 回显字段 + */ + val echo: String? = null, + + val data: JsonElement? = null, + + ) : AbstractSystemEvent() { + + override fun subtype(): String { + return "nc_get_packet_status" + } +} + \ No newline at end of file diff --git a/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/system/SendPacketEvent.kt b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/system/SendPacketEvent.kt new file mode 100644 index 0000000..889fbf5 --- /dev/null +++ b/src/main/kotlin/top/r3944realms/ltdmanager/napcat/events/system/SendPacketEvent.kt @@ -0,0 +1,18 @@ + +package top.r3944realms.ltdmanager.napcat.events.system + +import kotlinx.serialization.Serializable +import top.r3944realms.ltdmanager.napcat.Developing + +/** +* SendPacket事件 +* @property data 响应数据 +*/ +@Developing +@Serializable +class SendPacketEvent: AbstractSystemEvent() { + override fun subtype(): String { + return "send_packet" + } +} + \ No newline at end of file