├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── feature_request.md │ └── question.md └── workflows │ └── dotnet.yml ├── .gitignore ├── LICENSE ├── README.md ├── demo ├── Demo.sln ├── HandleFriendRequest │ ├── HandleFriendRequest.csproj │ └── Program.cs ├── MessageMatchingDemo │ ├── MessageMatchingDemo.csproj │ ├── MyMessageMatchingPlugin.cs │ └── Program.cs └── SimpleMessageEcho │ ├── Program.cs │ └── SimpleMessageEcho.csproj ├── docfx ├── .gitignore ├── .manifest ├── _site │ ├── EleCho.GoCqHttpSdk.Action.CqAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqActionRetCode.html │ ├── EleCho.GoCqHttpSdk.Action.CqActionStatus.html │ ├── EleCho.GoCqHttpSdk.Action.CqBanGroupAllMembersAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqBanGroupAllMembersActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqBanGroupAnonymousMemberAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqBanGroupAnonymousMemberActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqBanGroupMemberAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqBanGroupMemberActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqCanSendImageAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqCanSendImageActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqCanSendRecordAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqCanSendRecordActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqCheckUrlSafetyAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqCheckUrlSafetyActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqCreateGroupFolderAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqCreateGroupFolderActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqDeleteEssenceMessageAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqDeleteEssenceMessageActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqDeleteFriendAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqDeleteFriendActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqDeleteGroupFileAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqDeleteGroupFileActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqDeleteGroupFolderAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqDeleteGroupFolderActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqDeleteUnidirectionalFriendAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqDeleteUnidirectionalFriendActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqDownloadFileAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqDownloadFileActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetCookiesAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetCookiesActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetCsrfTokenAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetCsrfTokenActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetEssenceMessageListAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetEssenceMessageListActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetForwardMessageAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetForwardMessageActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetFriendListAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetFriendListActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupFileSystemInformationAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupFileSystemInformationActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupFileUrlAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupFileUrlActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupFilesByFolderAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupFilesByFolderActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupInformationAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupInformationActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupListAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupListActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupMemberInformationAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupMemberInformationActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupMemberListAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupMemberListActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupRootFilesAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupRootFilesActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetImageAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetImageActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetLoginInformationAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetLoginInformationActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetMessageAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetMessageActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetModelShowAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetModelShowActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetOnlineClientsAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetOnlineClientsActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetStrangerInformationAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetStrangerInformationActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetUnidirectionalFriendListAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetUnidirectionalFriendListActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetVersionInformationAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetVersionInformationActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetWordSlicesAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGetWordSlicesActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqGroupSignInAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqGroupSignInActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqHandleFriendRequestAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqHandleFriendRequestActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqHandleGroupRequestAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqHandleGroupRequestActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqKickGroupMemberAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqKickGroupMemberActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqLeaveGroupAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqLeaveGroupActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqMarkMessageAsReadAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqMarkMessageAsReadActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqOcrImageAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqOcrImageActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqRecallMessageAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqRecallMessageActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqReloadEventFilterAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqReloadEventFilterActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqSendGroupForwardMessageAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqSendGroupForwardMessageActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqSendGroupMessageAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqSendGroupMessageActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqSendMessageAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqSendMessageActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqSendPrivateForwardMessageAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqSendPrivateForwardMessageActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqSendPrivateMessageAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqSendPrivateMessageActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqSetAccountProfileAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqSetAccountProfileActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqSetEssenceMessageAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqSetEssenceMessageActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupAdministratorAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupAdministratorActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupAnonymousAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupAnonymousActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupAvatarAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupAvatarActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupNameAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupNameActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupNicknameAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupNicknameActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupSpecialTitleAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupSpecialTitleActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqSetModelShowAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqSetModelShowActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqUploadGroupFileAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqUploadGroupFileActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.CqUploadPrivateFileAction.html │ ├── EleCho.GoCqHttpSdk.Action.CqUploadPrivateFileActionResult.html │ ├── EleCho.GoCqHttpSdk.Action.Sender.CqHttpActionSender.html │ ├── EleCho.GoCqHttpSdk.Action.Sender.CqRWsActionSender.html │ ├── EleCho.GoCqHttpSdk.Action.Sender.CqWsActionSender.html │ ├── EleCho.GoCqHttpSdk.Action.Sender.html │ ├── EleCho.GoCqHttpSdk.Action.html │ ├── EleCho.GoCqHttpSdk.CommandExecuting.CqCommandExecutePostPlugin.html │ ├── EleCho.GoCqHttpSdk.CommandExecuting.CqPostSessionCommandExecutingExtensions.html │ ├── EleCho.GoCqHttpSdk.CommandExecuting.html │ ├── EleCho.GoCqHttpSdk.CqActionSender.html │ ├── EleCho.GoCqHttpSdk.CqActionSessionExtensions.html │ ├── EleCho.GoCqHttpSdk.CqActionType.html │ ├── EleCho.GoCqHttpSdk.CqAnonymousInfomation.html │ ├── EleCho.GoCqHttpSdk.CqContactType.html │ ├── EleCho.GoCqHttpSdk.CqCurrentTalkative.html │ ├── EleCho.GoCqHttpSdk.CqDevice.html │ ├── EleCho.GoCqHttpSdk.CqEssenceChangeType.html │ ├── EleCho.GoCqHttpSdk.CqEssenceMessage.html │ ├── EleCho.GoCqHttpSdk.CqForwardMessageNode.html │ ├── EleCho.GoCqHttpSdk.CqFriend.html │ ├── EleCho.GoCqHttpSdk.CqGender.html │ ├── EleCho.GoCqHttpSdk.CqGiftId.html │ ├── EleCho.GoCqHttpSdk.CqGroup.html │ ├── EleCho.GoCqHttpSdk.CqGroupAdminChangeType.html │ ├── EleCho.GoCqHttpSdk.CqGroupBanChangeType.html │ ├── EleCho.GoCqHttpSdk.CqGroupDecreaseChangeType.html │ ├── EleCho.GoCqHttpSdk.CqGroupFile.html │ ├── EleCho.GoCqHttpSdk.CqGroupFolder.html │ ├── EleCho.GoCqHttpSdk.CqGroupHonorOwner.html │ ├── EleCho.GoCqHttpSdk.CqGroupIncreaseChangeType.html │ ├── EleCho.GoCqHttpSdk.CqGroupMember.html │ ├── EleCho.GoCqHttpSdk.CqGroupMessageSender.html │ ├── EleCho.GoCqHttpSdk.CqGroupRequestType.html │ ├── EleCho.GoCqHttpSdk.CqGroupUploadedFile.html │ ├── EleCho.GoCqHttpSdk.CqHonorType.html │ ├── EleCho.GoCqHttpSdk.CqHttpSession.html │ ├── EleCho.GoCqHttpSdk.CqHttpSessionOptions.html │ ├── EleCho.GoCqHttpSdk.CqImageEffect.html │ ├── EleCho.GoCqHttpSdk.CqImageSubType.html │ ├── EleCho.GoCqHttpSdk.CqImageType.html │ ├── EleCho.GoCqHttpSdk.CqLifecycleType.html │ ├── EleCho.GoCqHttpSdk.CqMessageGroupType.html │ ├── EleCho.GoCqHttpSdk.CqMessageSender.html │ ├── EleCho.GoCqHttpSdk.CqMessageType.html │ ├── EleCho.GoCqHttpSdk.CqMetaEventType.html │ ├── EleCho.GoCqHttpSdk.CqModelShowVariant.html │ ├── EleCho.GoCqHttpSdk.CqMusicType.html │ ├── EleCho.GoCqHttpSdk.CqNoticeType.html │ ├── EleCho.GoCqHttpSdk.CqNotifyType.html │ ├── EleCho.GoCqHttpSdk.CqOfflineFile.html │ ├── EleCho.GoCqHttpSdk.CqPostMiddleware.html │ ├── EleCho.GoCqHttpSdk.CqPostPipeline.html │ ├── EleCho.GoCqHttpSdk.CqPostPlugin.html │ ├── EleCho.GoCqHttpSdk.CqPostSessionExtensions.html │ ├── EleCho.GoCqHttpSdk.CqPostType.html │ ├── EleCho.GoCqHttpSdk.CqPrivateMessageType.html │ ├── EleCho.GoCqHttpSdk.CqRHttpSession.html │ ├── EleCho.GoCqHttpSdk.CqRHttpSessionOptions.html │ ├── EleCho.GoCqHttpSdk.CqRWsSession.CqRWsSessionConnectionCollection.html │ ├── EleCho.GoCqHttpSdk.CqRWsSession.html │ ├── EleCho.GoCqHttpSdk.CqRWsSessionOptions.html │ ├── EleCho.GoCqHttpSdk.CqRequestType.html │ ├── EleCho.GoCqHttpSdk.CqRole.html │ ├── EleCho.GoCqHttpSdk.CqSession.html │ ├── EleCho.GoCqHttpSdk.CqStatus.html │ ├── EleCho.GoCqHttpSdk.CqStatusStatistics.html │ ├── EleCho.GoCqHttpSdk.CqTempSource.html │ ├── EleCho.GoCqHttpSdk.CqTextDetection.html │ ├── EleCho.GoCqHttpSdk.CqUrlSafetyLevel.html │ ├── EleCho.GoCqHttpSdk.CqWsSession.html │ ├── EleCho.GoCqHttpSdk.CqWsSessionOptions.html │ ├── EleCho.GoCqHttpSdk.ICqActionSession.html │ ├── EleCho.GoCqHttpSdk.ICqPostSession.html │ ├── EleCho.GoCqHttpSdk.Message.CqAnonymousMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqAtMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqCardImageMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqContactMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqCustomMusicMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqDiceMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqFaceMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqForwardMessage.html │ ├── EleCho.GoCqHttpSdk.Message.CqForwardMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqGiftMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqImageMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqJsonMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqLocationMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqMessage.html │ ├── EleCho.GoCqHttpSdk.Message.CqMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqMusicMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqPokeMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqRecordMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqRedEnvelopeMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqReplyMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqRpsMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqShakeMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqShareMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqTextMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqTtsMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqVideoMsg.html │ ├── EleCho.GoCqHttpSdk.Message.CqXmlMsg.html │ ├── EleCho.GoCqHttpSdk.Message.html │ ├── EleCho.GoCqHttpSdk.MessageMatching.CqMessageMatchAttribute.html │ ├── EleCho.GoCqHttpSdk.MessageMatching.CqMessageMatchPostPlugin.html │ ├── EleCho.GoCqHttpSdk.MessageMatching.CqPostSessionMessageMatchingExtensions.html │ ├── EleCho.GoCqHttpSdk.MessageMatching.html │ ├── EleCho.GoCqHttpSdk.Post.CqClientStatusChangedPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqFriendAddedPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqFriendMessageRecalledPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqFriendRequestPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqFriendRequestPostQuickOperation.html │ ├── EleCho.GoCqHttpSdk.Post.CqGroupAdministratorChangedPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqGroupEssenceChangedPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqGroupFileUploadedPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqGroupLuckyKingNoticedPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqGroupMemberBanChangedPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqGroupMemberDecreasedPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqGroupMemberHonorChangedPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqGroupMemberIncreasedPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqGroupMemberNicknameChangedPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqGroupMemberTitleChangeNoticedPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqGroupMessagePostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqGroupMessagePostQuickOperation.html │ ├── EleCho.GoCqHttpSdk.Post.CqGroupMessageRecalledPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqGroupRequestPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqGroupRequestPostQuickOperation.html │ ├── EleCho.GoCqHttpSdk.Post.CqHeartbeatPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqLifecyclePostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqMessagePostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqMetaEventPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqNoticePostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqNotifyNoticePostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqOfflineFileUploadedPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqPokedPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqPostQuickOperation.html │ ├── EleCho.GoCqHttpSdk.Post.CqPrivateMessagePostContext.html │ ├── EleCho.GoCqHttpSdk.Post.CqPrivateMessagePostQuickOperation.html │ ├── EleCho.GoCqHttpSdk.Post.CqRequestPostContext.html │ ├── EleCho.GoCqHttpSdk.Post.html │ ├── EleCho.GoCqHttpSdk.html │ ├── api │ │ ├── EleCho.GoCqHttpSdk.Action.CqAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqActionRetCode.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqActionStatus.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqBanGroupAllMembersAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqBanGroupAllMembersActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqBanGroupAnonymousMemberAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqBanGroupAnonymousMemberActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqBanGroupMemberAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqBanGroupMemberActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqCanSendImageAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqCanSendImageActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqCanSendRecordAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqCanSendRecordActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqCheckUrlSafetyAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqCheckUrlSafetyActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqCreateGroupFolderAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqCreateGroupFolderActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqDeleteEssenceMessageAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqDeleteEssenceMessageActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqDeleteFriendAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqDeleteFriendActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqDeleteGroupFileAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqDeleteGroupFileActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqDeleteGroupFolderAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqDeleteGroupFolderActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqDeleteUnidirectionalFriendAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqDeleteUnidirectionalFriendActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqDownloadFileAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqDownloadFileActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetCookiesAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetCookiesActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetCsrfTokenAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetCsrfTokenActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetEssenceMessageListAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetEssenceMessageListActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetForwardMessageAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetForwardMessageActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetFriendListAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetFriendListActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupFileSystemInformationAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupFileSystemInformationActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupFileUrlAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupFileUrlActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupFilesByFolderAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupFilesByFolderActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupInformationAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupInformationActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupListAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupListActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupMemberInformationAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupMemberInformationActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupMemberListAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupMemberListActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupRootFilesAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetGroupRootFilesActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetImageAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetImageActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetLoginInformationAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetLoginInformationActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetMessageAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetMessageActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetModelShowAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetModelShowActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetOnlineClientsAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetOnlineClientsActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetStrangerInformationAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetStrangerInformationActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetUnidirectionalFriendListAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetUnidirectionalFriendListActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetVersionInformationAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetVersionInformationActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetWordSlicesAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGetWordSlicesActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGroupSignInAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqGroupSignInActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqHandleFriendRequestAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqHandleFriendRequestActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqHandleGroupRequestAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqHandleGroupRequestActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqKickGroupMemberAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqKickGroupMemberActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqLeaveGroupAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqLeaveGroupActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqMarkMessageAsReadAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqMarkMessageAsReadActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqOcrImageAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqOcrImageActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqRecallMessageAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqRecallMessageActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqReloadEventFilterAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqReloadEventFilterActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSendGroupForwardMessageAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSendGroupForwardMessageActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSendGroupMessageAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSendGroupMessageActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSendMessageAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSendMessageActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSendPrivateForwardMessageAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSendPrivateForwardMessageActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSendPrivateMessageAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSendPrivateMessageActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSetAccountProfileAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSetAccountProfileActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSetEssenceMessageAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSetEssenceMessageActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupAdministratorAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupAdministratorActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupAnonymousAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupAnonymousActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupAvatarAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupAvatarActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupNameAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupNameActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupNicknameAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupNicknameActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupSpecialTitleAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSetGroupSpecialTitleActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSetModelShowAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqSetModelShowActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqUploadGroupFileAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqUploadGroupFileActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqUploadPrivateFileAction.html │ │ ├── EleCho.GoCqHttpSdk.Action.CqUploadPrivateFileActionResult.html │ │ ├── EleCho.GoCqHttpSdk.Action.Sender.CqHttpActionSender.html │ │ ├── EleCho.GoCqHttpSdk.Action.Sender.CqRWsActionSender.html │ │ ├── EleCho.GoCqHttpSdk.Action.Sender.CqWsActionSender.html │ │ ├── EleCho.GoCqHttpSdk.Action.Sender.html │ │ ├── EleCho.GoCqHttpSdk.Action.html │ │ ├── EleCho.GoCqHttpSdk.CommandExecuting.CqCommandExecutePostPlugin.html │ │ ├── EleCho.GoCqHttpSdk.CommandExecuting.CqPostSessionCommandExecutingExtensions.html │ │ ├── EleCho.GoCqHttpSdk.CommandExecuting.html │ │ ├── EleCho.GoCqHttpSdk.CqActionSender.html │ │ ├── EleCho.GoCqHttpSdk.CqActionSessionExtensions.html │ │ ├── EleCho.GoCqHttpSdk.CqActionType.html │ │ ├── EleCho.GoCqHttpSdk.CqAnonymousInfomation.html │ │ ├── EleCho.GoCqHttpSdk.CqContactType.html │ │ ├── EleCho.GoCqHttpSdk.CqCurrentTalkative.html │ │ ├── EleCho.GoCqHttpSdk.CqDevice.html │ │ ├── EleCho.GoCqHttpSdk.CqEssenceChangeType.html │ │ ├── EleCho.GoCqHttpSdk.CqEssenceMessage.html │ │ ├── EleCho.GoCqHttpSdk.CqForwardMessageNode.html │ │ ├── EleCho.GoCqHttpSdk.CqFriend.html │ │ ├── EleCho.GoCqHttpSdk.CqGender.html │ │ ├── EleCho.GoCqHttpSdk.CqGiftId.html │ │ ├── EleCho.GoCqHttpSdk.CqGroup.html │ │ ├── EleCho.GoCqHttpSdk.CqGroupAdminChangeType.html │ │ ├── EleCho.GoCqHttpSdk.CqGroupBanChangeType.html │ │ ├── EleCho.GoCqHttpSdk.CqGroupDecreaseChangeType.html │ │ ├── EleCho.GoCqHttpSdk.CqGroupFile.html │ │ ├── EleCho.GoCqHttpSdk.CqGroupFolder.html │ │ ├── EleCho.GoCqHttpSdk.CqGroupHonorOwner.html │ │ ├── EleCho.GoCqHttpSdk.CqGroupIncreaseChangeType.html │ │ ├── EleCho.GoCqHttpSdk.CqGroupMember.html │ │ ├── EleCho.GoCqHttpSdk.CqGroupMessageSender.html │ │ ├── EleCho.GoCqHttpSdk.CqGroupRequestType.html │ │ ├── EleCho.GoCqHttpSdk.CqGroupUploadedFile.html │ │ ├── EleCho.GoCqHttpSdk.CqHonorType.html │ │ ├── EleCho.GoCqHttpSdk.CqHttpSession.html │ │ ├── EleCho.GoCqHttpSdk.CqHttpSessionOptions.html │ │ ├── EleCho.GoCqHttpSdk.CqImageEffect.html │ │ ├── EleCho.GoCqHttpSdk.CqImageSubType.html │ │ ├── EleCho.GoCqHttpSdk.CqImageType.html │ │ ├── EleCho.GoCqHttpSdk.CqLifecycleType.html │ │ ├── EleCho.GoCqHttpSdk.CqMessageGroupType.html │ │ ├── EleCho.GoCqHttpSdk.CqMessageSender.html │ │ ├── EleCho.GoCqHttpSdk.CqMessageType.html │ │ ├── EleCho.GoCqHttpSdk.CqMetaEventType.html │ │ ├── EleCho.GoCqHttpSdk.CqModelShowVariant.html │ │ ├── EleCho.GoCqHttpSdk.CqMusicType.html │ │ ├── EleCho.GoCqHttpSdk.CqNoticeType.html │ │ ├── EleCho.GoCqHttpSdk.CqNotifyType.html │ │ ├── EleCho.GoCqHttpSdk.CqOfflineFile.html │ │ ├── EleCho.GoCqHttpSdk.CqPostMiddleware.html │ │ ├── EleCho.GoCqHttpSdk.CqPostPipeline.html │ │ ├── EleCho.GoCqHttpSdk.CqPostPlugin.html │ │ ├── EleCho.GoCqHttpSdk.CqPostSessionExtensions.html │ │ ├── EleCho.GoCqHttpSdk.CqPostType.html │ │ ├── EleCho.GoCqHttpSdk.CqPrivateMessageType.html │ │ ├── EleCho.GoCqHttpSdk.CqRHttpSession.html │ │ ├── EleCho.GoCqHttpSdk.CqRHttpSessionOptions.html │ │ ├── EleCho.GoCqHttpSdk.CqRWsSession.CqRWsSessionConnectionCollection.html │ │ ├── EleCho.GoCqHttpSdk.CqRWsSession.html │ │ ├── EleCho.GoCqHttpSdk.CqRWsSessionOptions.html │ │ ├── EleCho.GoCqHttpSdk.CqRequestType.html │ │ ├── EleCho.GoCqHttpSdk.CqRole.html │ │ ├── EleCho.GoCqHttpSdk.CqSession.html │ │ ├── EleCho.GoCqHttpSdk.CqStatus.html │ │ ├── EleCho.GoCqHttpSdk.CqStatusStatistics.html │ │ ├── EleCho.GoCqHttpSdk.CqTempSource.html │ │ ├── EleCho.GoCqHttpSdk.CqTextDetection.html │ │ ├── EleCho.GoCqHttpSdk.CqUrlSafetyLevel.html │ │ ├── EleCho.GoCqHttpSdk.CqWsSession.html │ │ ├── EleCho.GoCqHttpSdk.CqWsSessionOptions.html │ │ ├── EleCho.GoCqHttpSdk.ICqActionSession.html │ │ ├── EleCho.GoCqHttpSdk.ICqPostSession.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqAnonymousMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqAtMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqCardImageMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqContactMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqCustomMusicMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqDiceMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqFaceMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqForwardMessage.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqForwardMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqGiftMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqImageMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqJsonMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqLocationMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqMessage.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqMusicMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqPokeMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqRecordMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqRedEnvelopeMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqReplyMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqRpsMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqShakeMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqShareMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqTextMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqTtsMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqVideoMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.CqXmlMsg.html │ │ ├── EleCho.GoCqHttpSdk.Message.html │ │ ├── EleCho.GoCqHttpSdk.MessageMatching.CqMessageMatchAttribute.html │ │ ├── EleCho.GoCqHttpSdk.MessageMatching.CqMessageMatchPostPlugin.html │ │ ├── EleCho.GoCqHttpSdk.MessageMatching.CqPostSessionMessageMatchingExtensions.html │ │ ├── EleCho.GoCqHttpSdk.MessageMatching.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqClientStatusChangedPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqFriendAddedPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqFriendMessageRecalledPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqFriendRequestPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqFriendRequestPostQuickOperation.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqGroupAdministratorChangedPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqGroupEssenceChangedPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqGroupFileUploadedPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqGroupLuckyKingNoticedPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqGroupMemberBanChangedPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqGroupMemberDecreasedPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqGroupMemberHonorChangedPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqGroupMemberIncreasedPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqGroupMemberNicknameChangedPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqGroupMemberTitleChangeNoticedPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqGroupMessagePostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqGroupMessagePostQuickOperation.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqGroupMessageRecalledPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqGroupRequestPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqGroupRequestPostQuickOperation.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqGroupSelfMessagePostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqHeartbeatPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqLifecyclePostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqMessagePostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqMessagePostQuickOperation.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqMetaEventPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqNoticePostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqNotifyNoticePostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqOfflineFileUploadedPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqPokedPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqPostQuickOperation.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqPrivateMessagePostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqPrivateMessagePostQuickOperation.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqPrivateSelfMessagePostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqRequestPostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.CqSelfMessagePostContext.html │ │ ├── EleCho.GoCqHttpSdk.Post.html │ │ ├── EleCho.GoCqHttpSdk.html │ │ ├── index.html │ │ ├── toc.html │ │ └── toc.json │ ├── articles │ │ ├── intro.html │ │ ├── toc.html │ │ └── toc.json │ ├── favicon.ico │ ├── index.html │ ├── logo.svg │ ├── manifest.json │ ├── public │ │ ├── bootstrap-icons-AJUF3K7A.woff2 │ │ ├── bootstrap-icons-QRR4WHQW.woff │ │ ├── c4Diagram-4a1de0c4-XV5N43JX.min.js │ │ ├── c4Diagram-4a1de0c4-XV5N43JX.min.js.map │ │ ├── chunk-CCEUEXYU.min.js │ │ ├── chunk-CCEUEXYU.min.js.map │ │ ├── chunk-CN2WCLA7.min.js │ │ ├── chunk-CN2WCLA7.min.js.map │ │ ├── chunk-CV6TM5UJ.min.js │ │ ├── chunk-CV6TM5UJ.min.js.map │ │ ├── chunk-EPQ57Q46.min.js │ │ ├── chunk-EPQ57Q46.min.js.map │ │ ├── chunk-GCLJLOX7.min.js │ │ ├── chunk-GCLJLOX7.min.js.map │ │ ├── chunk-GEFMTHNG.min.js │ │ ├── chunk-GEFMTHNG.min.js.map │ │ ├── chunk-IEVXW2QF.min.js │ │ ├── chunk-IEVXW2QF.min.js.map │ │ ├── chunk-MTLRDIGA.min.js │ │ ├── chunk-MTLRDIGA.min.js.map │ │ ├── chunk-QYYT2EYW.min.js │ │ ├── chunk-QYYT2EYW.min.js.map │ │ ├── chunk-R7LCOU72.min.js │ │ ├── chunk-R7LCOU72.min.js.map │ │ ├── chunk-RFPV4IUV.min.js │ │ ├── chunk-RFPV4IUV.min.js.map │ │ ├── chunk-UDOZAK72.min.js │ │ ├── chunk-UDOZAK72.min.js.map │ │ ├── chunk-ZSFM5U4W.min.js │ │ ├── chunk-ZSFM5U4W.min.js.map │ │ ├── classDiagram-62cfb02d-I6AGPJDY.min.js │ │ ├── classDiagram-62cfb02d-I6AGPJDY.min.js.map │ │ ├── classDiagram-v2-c1dfb0e0-6Y3O4ZRF.min.js │ │ ├── classDiagram-v2-c1dfb0e0-6Y3O4ZRF.min.js.map │ │ ├── docfx.min.css │ │ ├── docfx.min.css.map │ │ ├── docfx.min.js │ │ ├── docfx.min.js.map │ │ ├── erDiagram-5e907343-6LJ7JSM6.min.js │ │ ├── erDiagram-5e907343-6LJ7JSM6.min.js.map │ │ ├── es-XWLYB2L6.min.js │ │ ├── es-XWLYB2L6.min.js.map │ │ ├── flowDiagram-702318ad-S4FLWHPN.min.js │ │ ├── flowDiagram-702318ad-S4FLWHPN.min.js.map │ │ ├── flowDiagram-v2-8716a26e-T4MBCTPC.min.js │ │ ├── flowDiagram-v2-8716a26e-T4MBCTPC.min.js.map │ │ ├── flowchart-elk-definition-206a7d68-JWSMUIEO.min.js │ │ ├── flowchart-elk-definition-206a7d68-JWSMUIEO.min.js.map │ │ ├── ganttDiagram-3bc7fa50-7ZIMDCZZ.min.js │ │ ├── ganttDiagram-3bc7fa50-7ZIMDCZZ.min.js.map │ │ ├── gitGraphDiagram-127727f3-KRTJHDU5.min.js │ │ ├── gitGraphDiagram-127727f3-KRTJHDU5.min.js.map │ │ ├── infoDiagram-4374b389-X5YNTP3W.min.js │ │ ├── infoDiagram-4374b389-X5YNTP3W.min.js.map │ │ ├── journeyDiagram-ccf0174b-GLCUME2W.min.js │ │ ├── journeyDiagram-ccf0174b-GLCUME2W.min.js.map │ │ ├── main.css │ │ ├── main.js │ │ ├── mermaid.core-ZV3ZUZ7Z.min.js │ │ ├── mermaid.core-ZV3ZUZ7Z.min.js.map │ │ ├── mindmap-definition-74e4e806-PXB4OWCV.min.js │ │ ├── mindmap-definition-74e4e806-PXB4OWCV.min.js.map │ │ ├── pieDiagram-f5e05a25-ANU43MQB.min.js │ │ ├── pieDiagram-f5e05a25-ANU43MQB.min.js.map │ │ ├── quadrantDiagram-652558cb-5FSUPQWS.min.js │ │ ├── quadrantDiagram-652558cb-5FSUPQWS.min.js.map │ │ ├── requirementDiagram-730b4d6e-7QU5OUGJ.min.js │ │ ├── requirementDiagram-730b4d6e-7QU5OUGJ.min.js.map │ │ ├── search-worker.min.js │ │ ├── search-worker.min.js.map │ │ ├── sequenceDiagram-edd7e28f-XZMGH7HR.min.js │ │ ├── sequenceDiagram-edd7e28f-XZMGH7HR.min.js.map │ │ ├── stateDiagram-d766d74d-E3BLPOKH.min.js │ │ ├── stateDiagram-d766d74d-E3BLPOKH.min.js.map │ │ ├── stateDiagram-v2-978d1189-UU32YZGR.min.js │ │ ├── stateDiagram-v2-978d1189-UU32YZGR.min.js.map │ │ ├── tex-svg-full-2UKKUQHI.min.js │ │ ├── tex-svg-full-2UKKUQHI.min.js.map │ │ ├── timeline-definition-d53f6d76-XCEZDOI2.min.js │ │ └── timeline-definition-d53f6d76-XCEZDOI2.min.js.map │ ├── search-stopwords.json │ ├── toc.html │ ├── toc.json │ └── xrefmap.yml ├── api │ ├── .gitignore │ └── index.md ├── articles │ ├── intro.md │ └── toc.yml ├── docfx.json ├── index.md └── toc.yml ├── logo-rect.png ├── logo.png ├── logo ├── logo.psd ├── logo_fit.psd └── readme.md └── src ├── .editorconfig ├── AssmeblyCheck ├── AssemblyCheckCore.cs ├── AssmeblyCheck.csproj └── Program.cs ├── EleCho.GoCqHttpSdk.CommandExecuting ├── CqCommandExecutePostPlugin.cs ├── CqPostSessionCommandExecutingExtensions.cs ├── EleCho.GoCqHttpSdk.CommandExecuting.csproj ├── TaskUtils.cs └── readme.md ├── EleCho.GoCqHttpSdk.MessageMatching ├── CqMessageMatchAttribute.cs ├── CqMessageMatchPostPlugin.cs ├── CqPostSessionMessageMatchingExtensions.cs ├── EleCho.GoCqHttpSdk.MessageMatching.csproj └── readme.md ├── EleCho.GoCqHttpSdk.sln ├── EleCho.GoCqHttpSdk ├── Action │ ├── CqAction.cs │ ├── CqActionRetCode.cs │ ├── CqActionStatus.cs │ ├── CqBanGroupAllMembers.cs │ ├── CqBanGroupAnonymousMemberAction.cs │ ├── CqBanGroupMemberAction.cs │ ├── CqCanSendImageAction.cs │ ├── CqCanSendRecordAction.cs │ ├── CqCheckUrlSafetyAction.cs │ ├── CqCreateGroupFolderAction.cs │ ├── CqDeleteEssenceMessageAction.cs │ ├── CqDeleteFriendAction.cs │ ├── CqDeleteGroupFileAction.cs │ ├── CqDeleteGroupFolderAction.cs │ ├── CqDeleteUnidirectionalFriendAction.cs │ ├── CqDownloadFileAction.cs │ ├── CqGetCookiesAction.cs │ ├── CqGetCsrfTokenAction.cs │ ├── CqGetEssenceMessageListAction.cs │ ├── CqGetForwardMessageAction.cs │ ├── CqGetFriendListAction.cs │ ├── CqGetGroupFileSystemInformationAction.cs │ ├── CqGetGroupFileUrlAction.cs │ ├── CqGetGroupFilesByFolderAction.cs │ ├── CqGetGroupInformationAction.cs │ ├── CqGetGroupListAction.cs │ ├── CqGetGroupMemberInformationAction.cs │ ├── CqGetGroupMemberListAction.cs │ ├── CqGetGroupRootFilesAction.cs │ ├── CqGetImageAction.cs │ ├── CqGetLoginInformationAction.cs │ ├── CqGetMessageAction.cs │ ├── CqGetModelShowAction.cs │ ├── CqGetOnlineClientsAction.cs │ ├── CqGetStrangerInformationAction.cs │ ├── CqGetUnidirectionalFriendListAction.cs │ ├── CqGetVersionInfomationAction.cs │ ├── CqGetWordSlicesAction.cs │ ├── CqGroupSignInAction.cs │ ├── CqHandleFriendRequestAction.cs │ ├── CqHandleGroupRequestAction.cs │ ├── CqKickGroupMemberAction.cs │ ├── CqLeaveGroupAction.cs │ ├── CqMarkMessageAsReadAction.cs │ ├── CqOcrImageAction.cs │ ├── CqRecallMessageAction.cs │ ├── CqReloadEventFilterAction.cs │ ├── CqSendGroupForwardMessageAction.cs │ ├── CqSendGroupMessageAction.cs │ ├── CqSendMessageAction.cs │ ├── CqSendPrivateForwardMessageAction.cs │ ├── CqSendPrivateMessageAction.cs │ ├── CqSetAccountProfileAction.cs │ ├── CqSetEssenceMessageAction.cs │ ├── CqSetGroupAdministratorAction.cs │ ├── CqSetGroupAnonymousAction.cs │ ├── CqSetGroupAvatarAction.cs │ ├── CqSetGroupNameAction.cs │ ├── CqSetGroupNicknameAction.cs │ ├── CqSetGroupSpecialTitleAction.cs │ ├── CqSetModelShowAction.cs │ ├── CqUploadGroupFileAction.cs │ ├── CqUploadPrivateFileAction.cs │ ├── Model │ │ ├── CqActionModel.cs │ │ ├── CqActionResultRaw.cs │ │ ├── Params │ │ │ ├── CqActionParamsModel.cs │ │ │ ├── CqBanGroupAllMembersActionParamsModel.cs │ │ │ ├── CqBanGroupAnonymousMemberActionParamsModel.cs │ │ │ ├── CqBanGroupMemberActionParamsModel.cs │ │ │ ├── CqCanSendImageActionParamsModel.cs │ │ │ ├── CqCanSendRecordActionParamsModel.cs │ │ │ ├── CqCheckUrlSafetyActionParamsModel.cs │ │ │ ├── CqCreateGroupFolderActionParamsModel.cs │ │ │ ├── CqDeleteEssenceMessageActionParamsModel.cs │ │ │ ├── CqDeleteFriendActionParamsModel.cs │ │ │ ├── CqDeleteGroupFileActionParamsModel.cs │ │ │ ├── CqDeleteGroupFolderActionParamsModel.cs │ │ │ ├── CqDeleteUnidirectionalFriendActionParamsModel.cs │ │ │ ├── CqDownloadFileActionParamsModel.cs │ │ │ ├── CqGetCookiesActionParamsModel.cs │ │ │ ├── CqGetCsrfTokenActionParamsModel.cs │ │ │ ├── CqGetEssenceMessageListActionParamsModel.cs │ │ │ ├── CqGetForwardMsgActionParamsModel.cs │ │ │ ├── CqGetFriendListActionParamsModel.cs │ │ │ ├── CqGetGroupFileSystemInformationActionParamsModel.cs │ │ │ ├── CqGetGroupFileUrlActionParamsModel.cs │ │ │ ├── CqGetGroupFilesByFolderActionParamsModel.cs │ │ │ ├── CqGetGroupInformationActionParamsModel.cs │ │ │ ├── CqGetGroupListActionParamsModel.cs │ │ │ ├── CqGetGroupMemberInformationActionParamsModel.cs │ │ │ ├── CqGetGroupMemberListActionParamsModel.cs │ │ │ ├── CqGetGroupRootFilesActionParamsModel.cs │ │ │ ├── CqGetImageActionParamsModel.cs │ │ │ ├── CqGetLoginInfomationActionParamsModel.cs │ │ │ ├── CqGetMessageActionParamsModel.cs │ │ │ ├── CqGetModelShowActionParamsModel.cs │ │ │ ├── CqGetOnlineClientsActionParamsModel.cs │ │ │ ├── CqGetStrangerInfoActionParamsModel.cs │ │ │ ├── CqGetUnidirectionalFriendListActionParamsModel.cs │ │ │ ├── CqGetVersionInformationActionParamsModel.cs │ │ │ ├── CqGetWordSlicesActionParamsModel.cs │ │ │ ├── CqGroupSignInActionParamsModel.cs │ │ │ ├── CqHandleFriendRequestActionParamsModel.cs │ │ │ ├── CqHandleGroupRequestActionParamsModel.cs │ │ │ ├── CqKickGroupMemberActionParamsModel.cs │ │ │ ├── CqLeaveGroupActionParamsModel.cs │ │ │ ├── CqMarkMessageAsReadActionParamsModel.cs │ │ │ ├── CqOcrImageActionParamsModel.cs │ │ │ ├── CqRecallMessageActionParamsModel.cs │ │ │ ├── CqReloadEventFilterActionParamsModel.cs │ │ │ ├── CqSendGroupForwardMessageActionParamsModel.cs │ │ │ ├── CqSendGroupMsgActionParamsModel.cs │ │ │ ├── CqSendMessageActionParamsModel.cs │ │ │ ├── CqSendPrivateForwardMsgActionParamsModel.cs │ │ │ ├── CqSendPrivateMessageActionParamsModel.cs │ │ │ ├── CqSetAccountProfileActionParamsModel.cs │ │ │ ├── CqSetEssenceMessageActionParamsModel.cs │ │ │ ├── CqSetGroupAdministratorActionParamsModel.cs │ │ │ ├── CqSetGroupAnonymousActionParamsModel.cs │ │ │ ├── CqSetGroupAvatarActionParamsModel.cs │ │ │ ├── CqSetGroupNameActionParamsModel.cs │ │ │ ├── CqSetGroupNicknameActionParamsModel.cs │ │ │ ├── CqSetGroupSpecialTitleActionParamsModel.cs │ │ │ ├── CqSetModelShowActionParamsModel.cs │ │ │ ├── CqUploadGroupFileActionParamsModel.cs │ │ │ └── CqUploadPrivateFileActionParamsModel.cs │ │ └── ResultData │ │ │ ├── CqActionResultDataModel.cs │ │ │ ├── CqBanGroupAllMembersActionResultDataModel.cs │ │ │ ├── CqBanGroupAnonymousMemberActionResultDataModel.cs │ │ │ ├── CqBanGroupMemberActionResultDataModel.cs │ │ │ ├── CqCanSendImageActionResultDataModel.cs │ │ │ ├── CqCanSendRecordActionResultDataModel.cs │ │ │ ├── CqCheckUrlSafetyActionResultDataModel.cs │ │ │ ├── CqCreateGroupFolderActionResultDataModel.cs │ │ │ ├── CqDeleteEssenceMessageActionResultDataModel.cs │ │ │ ├── CqDeleteFriendActionResultDataModel.cs │ │ │ ├── CqDeleteGroupFileActionResultDataModel.cs │ │ │ ├── CqDeleteGroupFolderActionResultDataModel.cs │ │ │ ├── CqDeleteUnidirectionalFriendActionResultDataModel.cs │ │ │ ├── CqDownloadFileActionResultDataModel.cs │ │ │ ├── CqGetCookiesActionResultDataModel.cs │ │ │ ├── CqGetCsrfTokenActionResultDataModel.cs │ │ │ ├── CqGetEssenceMessageListActionResultDataModel.cs │ │ │ ├── CqGetForwardMessageActionResultDataModel.cs │ │ │ ├── CqGetFriendListActionResultDataModel.cs │ │ │ ├── CqGetGroupFileSystemInformationActionResultDataModel.cs │ │ │ ├── CqGetGroupFileUrlActionResultDataModel.cs │ │ │ ├── CqGetGroupFilesByFolderActionResultDataModel.cs │ │ │ ├── CqGetGroupInformationActionResultDataModel.cs │ │ │ ├── CqGetGroupListActionResultDataModel.cs │ │ │ ├── CqGetGroupMemberInformationActionResultDataModel.cs │ │ │ ├── CqGetGroupMemberListActionResultDataModel.cs │ │ │ ├── CqGetGroupRootFilesActionResultDataModel.cs │ │ │ ├── CqGetImageActionResultDataModel.cs │ │ │ ├── CqGetLoginInformationActionResultDataModel.cs │ │ │ ├── CqGetMessageActionResultDataModel.cs │ │ │ ├── CqGetModelShowActionResultDataModel.cs │ │ │ ├── CqGetOnlineClientsActionResultDataModel.cs │ │ │ ├── CqGetStrangerInformationActionResultDataModel.cs │ │ │ ├── CqGetUnidirectionalFriendListActionResultDataModel.cs │ │ │ ├── CqGetVersionInformationActionResultDataModel.cs │ │ │ ├── CqGetWordSlicesActionResultDataModel.cs │ │ │ ├── CqGroupSignInActionResultDataModel.cs │ │ │ ├── CqHandleFriendRequestActionResultDataModel.cs │ │ │ ├── CqHandleGroupRequestActionResultDataModel.cs │ │ │ ├── CqKickGroupMemberActionResultDataModel.cs │ │ │ ├── CqLeaveGroupActionResultDataModel.cs │ │ │ ├── CqMarkMessageAsReadActionResultDataModel.cs │ │ │ ├── CqOcrImageActionResultDataModel.cs │ │ │ ├── CqRecallMessageActionResultDataModel.cs │ │ │ ├── CqReloadEventFilterActionResultDataModel.cs │ │ │ ├── CqSendGroupForwardMessageActionResultDataModel.cs │ │ │ ├── CqSendGroupMessageActionResultDataModel.cs │ │ │ ├── CqSendMessageActionResultDataModel.cs │ │ │ ├── CqSendPrivateForwardMessageActionResultDataModel.cs │ │ │ ├── CqSendPrivateMessageActionResultDataModel.cs │ │ │ ├── CqSetAccountProfileActionResultDataModel.cs │ │ │ ├── CqSetEssenceMessageActionResultDataModel.cs │ │ │ ├── CqSetGroupAdministratorActionResultDataModel.cs │ │ │ ├── CqSetGroupAnonymousActionResultDataModel.cs │ │ │ ├── CqSetGroupAvatarActionResultDataModel.cs │ │ │ ├── CqSetGroupNameActionResultDataModel.cs │ │ │ ├── CqSetGroupNicknameActionResultDataModel.cs │ │ │ ├── CqSetGroupSpecialTitleActionResultDataModel.cs │ │ │ ├── CqSetModelShowActionResultDataModel.cs │ │ │ ├── CqUploadGroupFileActionResultDataModel.cs │ │ │ └── CqUploadPrivateFileActionResultDataModel.cs │ ├── Result │ │ ├── CqActionResult.cs │ │ ├── CqBanGroupAllMembersActionResult.cs │ │ ├── CqBanGroupAnonymousMemberActionResult.cs │ │ ├── CqBanGroupMemberActionResult.cs │ │ ├── CqCanSendImageActionResult.cs │ │ ├── CqCanSendRecordActionResult.cs │ │ ├── CqCheckUrlSafetyActionResult.cs │ │ ├── CqCreateGroupFolderActionResult.cs │ │ ├── CqDeleteEssenceMessageActionResult.cs │ │ ├── CqDeleteFriendActionResult.cs │ │ ├── CqDeleteGroupFileActionResult.cs │ │ ├── CqDeleteGroupFolderActionResult.cs │ │ ├── CqDeleteUnidirectionalFriendActionResult.cs │ │ ├── CqDownloadFileActionResult.cs │ │ ├── CqGetCookiesActionResult.cs │ │ ├── CqGetCsrfTokenActionResult.cs │ │ ├── CqGetEssenceMessageListActionResult.cs │ │ ├── CqGetForwardMessageActionResult.cs │ │ ├── CqGetFriendListActionResult.cs │ │ ├── CqGetGroupFileSystemInformationActionResult.cs │ │ ├── CqGetGroupFileUrlActionResult.cs │ │ ├── CqGetGroupFilesByFolderActionResult.cs │ │ ├── CqGetGroupInformationActionResult.cs │ │ ├── CqGetGroupListActionResult.cs │ │ ├── CqGetGroupMemberInformationActionResult.cs │ │ ├── CqGetGroupMemberListActionResult.cs │ │ ├── CqGetGroupRootFilesActionResult.cs │ │ ├── CqGetImageActionResult.cs │ │ ├── CqGetLoginInformationResult.cs │ │ ├── CqGetMessageActionResult.cs │ │ ├── CqGetModelShowActionResult.cs │ │ ├── CqGetOnlineClientsActionResult.cs │ │ ├── CqGetStrangerInformationActionResult.cs │ │ ├── CqGetUnidirectionalFriendListActionResult.cs │ │ ├── CqGetVersionInformationActionResult.cs │ │ ├── CqGetWordSlicesActionResult.cs │ │ ├── CqGroupSignInActionResult.cs │ │ ├── CqHandleFriendRequestActionResult.cs │ │ ├── CqHandleGroupRequestActionResult.cs │ │ ├── CqKickGroupMemberActionResult.cs │ │ ├── CqLeaveGroupActionResult.cs │ │ ├── CqMarkMessageAsReadActionResult.cs │ │ ├── CqOcrImageActionResult.cs │ │ ├── CqRecallMessageActionResult.cs │ │ ├── CqReloadEventFilterActionResult.cs │ │ ├── CqSendGroupForwardMessageActionResult.cs │ │ ├── CqSendGroupMessageActionResult.cs │ │ ├── CqSendMessageActionResult.cs │ │ ├── CqSendPrivateForwardMessageActionResult.cs │ │ ├── CqSendPrivateMessageActionResult.cs │ │ ├── CqSetAccountProfileActionResult.cs │ │ ├── CqSetEssenceMessageActionResult.cs │ │ ├── CqSetGroupAdministratorActionResult.cs │ │ ├── CqSetGroupAnonymousActionResult.cs │ │ ├── CqSetGroupAvatarActionResult.cs │ │ ├── CqSetGroupNameActionResult.cs │ │ ├── CqSetGroupNicknameActionResult.cs │ │ ├── CqSetGroupSpecialTitleActionResult.cs │ │ ├── CqSetModelShowActionResult.cs │ │ ├── CqUploadGroupFileActionResult.cs │ │ └── CqUploadPrivateFileActionResult.cs │ └── Sender │ │ ├── CqHttpActionSender.cs │ │ ├── CqRWsActionSender.cs │ │ └── CqWsActionSender.cs ├── CqActionSender.cs ├── CqHttpSession.cs ├── CqHttpSessionOptions.cs ├── CqPostMiddleware.cs ├── CqPostPipeline.cs ├── CqPostPlugin.cs ├── CqRHttpSession.cs ├── CqRHttpSessionOptions.cs ├── CqRWsSession.cs ├── CqRWsSessionOptions.cs ├── CqSession.cs ├── CqWsSession.cs ├── CqWsSessionOptions.cs ├── DataStructure │ ├── CqAnonymousInfomation.cs │ ├── CqCurrentTalkative.cs │ ├── CqDevice.cs │ ├── CqEssenceMessage.cs │ ├── CqForwardMessageNode.cs │ ├── CqFriend.cs │ ├── CqGroup.cs │ ├── CqGroupFile.cs │ ├── CqGroupFolder.cs │ ├── CqGroupHonorOwner.cs │ ├── CqGroupMember.cs │ ├── CqGroupMessageSender.cs │ ├── CqGroupUploadedFile.cs │ ├── CqMessageSender.cs │ ├── CqModelShowVariant.cs │ ├── CqOfflineFile.cs │ ├── CqStatus.cs │ ├── CqStatusStatistics.cs │ ├── CqTextDetection.cs │ └── Model │ │ ├── CqAnonymousInformationModel.cs │ │ ├── CqCurrentTalkativeModel.cs │ │ ├── CqDeviceModel.cs │ │ ├── CqEssenceMessageModel.cs │ │ ├── CqForwardMsgNodeDataModel.cs │ │ ├── CqFriendModel.cs │ │ ├── CqGroupFileModel.cs │ │ ├── CqGroupFolderModel.cs │ │ ├── CqGroupHonorOwnerModel.cs │ │ ├── CqGroupModel.cs │ │ ├── CqGroupMsgSenderModel.cs │ │ ├── CqGroupUploadedFileModel.cs │ │ ├── CqMessageSenderModel.cs │ │ ├── CqModelShowVariantModel.cs │ │ ├── CqOfflineFileModel.cs │ │ ├── CqStatusModel.cs │ │ ├── CqStatusStatisticsModel.cs │ │ └── CqTextDetectionModel.cs ├── EleCho.GoCqHttpSdk.csproj ├── Enumeration │ ├── CqActionType.cs │ ├── CqContactType.cs │ ├── CqEnum.cs │ ├── CqEssenceChangeType.cs │ ├── CqEventType.cs │ ├── CqGender.cs │ ├── CqGiftId.cs │ ├── CqGroupAdminChangeType.cs │ ├── CqGroupBanChangeType.cs │ ├── CqGroupDecreaseChangeType.cs │ ├── CqGroupIncreaseChangeType.cs │ ├── CqHonorType.cs │ ├── CqImageEffect.cs │ ├── CqImageSubType.cs │ ├── CqImageType.cs │ ├── CqLifecycleType.cs │ ├── CqMessageGroupType.cs │ ├── CqMessageType.cs │ ├── CqMetaEventType.cs │ ├── CqMusicType.cs │ ├── CqNoticeType.cs │ ├── CqNotifyType.cs │ ├── CqPrivateMessageType.cs │ ├── CqRequestGroupType.cs │ ├── CqRequestType.cs │ ├── CqRole.cs │ ├── CqTempSource.cs │ └── CqUrlSafetyLevel.cs ├── Extension │ ├── CqActionSessionExtensions.cs │ └── CqPostSessionExtensions.cs ├── ICqActionSession.cs ├── ICqPostSession.cs ├── JsonConverter │ ├── CqWsDataModelConverter.cs │ └── ToStringJsonConverter.cs ├── Message │ ├── CqAnonymousMsg.cs │ ├── CqAtMsg.cs │ ├── CqCardImageMsg.cs │ ├── CqCodeDef │ │ └── CqCode.cs │ ├── CqContactMsg.cs │ ├── CqCustomMusicMsg.cs │ ├── CqDiceMsg.cs │ ├── CqFaceMsg.cs │ ├── CqForwardMessage.cs │ ├── CqForwardMsg.cs │ ├── CqGiftMsg.cs │ ├── CqImageMsg.cs │ ├── CqJsonMsg.cs │ ├── CqLocationMsg.cs │ ├── CqMessage.cs │ ├── CqMsg.cs │ ├── CqMusicMsg.cs │ ├── CqPokeMsg.cs │ ├── CqRecordMsg.cs │ ├── CqRedEnvelopeMsg.cs │ ├── CqReplyMsg.cs │ ├── CqRpsMsg.cs │ ├── CqShakeMsg.cs │ ├── CqShareMsg.cs │ ├── CqTextMsg.cs │ ├── CqTtsMsg.cs │ ├── CqVideoMsg.cs │ ├── CqXmlMsg.cs │ ├── DataModel │ │ ├── CqAnonymousMsgDataModel.cs │ │ ├── CqAtMsgDataModel.cs │ │ ├── CqCardImageMsgDataModel.cs │ │ ├── CqContactMsgDataModel.cs │ │ ├── CqCustomMusicMsgDataModel.cs │ │ ├── CqDiceMsgDataModel.cs │ │ ├── CqFaceMsgDataModel.cs │ │ ├── CqForwardMsgDataModel.cs │ │ ├── CqGiftMsgDataModel.cs │ │ ├── CqImageMsgDataModel.cs │ │ ├── CqJsonMsgDataModel.cs │ │ ├── CqLocationMsgDataModel.cs │ │ ├── CqMsgDataModel.cs │ │ ├── CqMsgModel.cs │ │ ├── CqMusicMsgDataModel.cs │ │ ├── CqPokeMsgDataModel.cs │ │ ├── CqRecordMsgDataModel.cs │ │ ├── CqRedEnvelopeMsgDataModel.cs │ │ ├── CqReplyMsgDataModel.cs │ │ ├── CqRpsMsgDataModel.cs │ │ ├── CqShakeMsgDataModel.cs │ │ ├── CqShareMsgDataModel.cs │ │ ├── CqTextMsgDataModel.cs │ │ ├── CqTtsMsgDataModel.cs │ │ ├── CqVideoMsgDataModel.cs │ │ └── CqXmlMsgDataModel.cs │ └── JsonConverter │ │ ├── CpMsgModelConverter.cs │ │ └── CqMsgModelArrayConverter.cs ├── Model │ └── CqWsDataModel.cs ├── Post │ ├── Base │ │ ├── CqMessagePostContext.cs │ │ ├── CqMetaEventPostContext.cs │ │ ├── CqNoticePostContext.cs │ │ ├── CqNotifyNoticeContext.cs │ │ ├── CqPostContext.cs │ │ ├── CqRequestPostContext.cs │ │ └── CqSelfMessagePostContext.cs │ ├── CqClientStatusChangedPostContext.cs │ ├── CqFriendAddedPostContext.cs │ ├── CqFriendMessageRecalledPostContext.cs │ ├── CqFriendRequestPostContext.cs │ ├── CqGroupAdminChangedPostContext.cs │ ├── CqGroupEssenceChangedPostContext.cs │ ├── CqGroupFileUploadedPostContext.cs │ ├── CqGroupLuckyKingNoticedPostContext.cs │ ├── CqGroupMemberBanChangedPostContext.cs │ ├── CqGroupMemberDecreasedPostContext.cs │ ├── CqGroupMemberHonorChangedPostContext.cs │ ├── CqGroupMemberIncreasedPostContext.cs │ ├── CqGroupMemberNicknameChangedPostContext.cs │ ├── CqGroupMemberTitleChangeNoticedPostContext.cs │ ├── CqGroupMessagePostContext.cs │ ├── CqGroupMessageRecalledPostContext.cs │ ├── CqGroupRequestPostContext.cs │ ├── CqGroupSelfMessagePostContext.cs │ ├── CqHeartbeatPostContext.cs │ ├── CqLifecyclePostContext.cs │ ├── CqOfflineFileUploadedPostContext.cs │ ├── CqPokeNoticedPostContext.cs │ ├── CqPrivateMessagePostContext.cs │ ├── CqPrivateSelfMessagePostContext.cs │ ├── Interface │ │ └── IGroupPostContext.cs │ ├── JsonConverter │ │ ├── CqMessageEventModelConverter.cs │ │ ├── CqMetaEventModelConverter.cs │ │ ├── CqNoticeEventModelConverter.cs │ │ ├── CqNoticeNotifyEventModelConverter.cs │ │ ├── CqPostModelConverter.cs │ │ ├── CqRequestEventModelConverter.cs │ │ └── CqSelfMessageEventModelConverter.cs │ ├── Model │ │ ├── Base │ │ │ ├── CqMessagePostModel.cs │ │ │ ├── CqMetaPostModel.cs │ │ │ ├── CqNoticePostModel.cs │ │ │ ├── CqPostModel.cs │ │ │ ├── CqRequestPostModel.cs │ │ │ └── CqSelfMessagePostModel.cs │ │ ├── CqGroupMessagePostModel.cs │ │ ├── CqGroupSelfMessagePostModel.cs │ │ ├── CqMetaHeartbeatPostModel.cs │ │ ├── CqMetaLifecyclePostModel.cs │ │ ├── CqNoticeClientStatusPostModel.cs │ │ ├── CqNoticeEssencePostModel.cs │ │ ├── CqNoticeFriendAddPostModel.cs │ │ ├── CqNoticeFriendRecallPostModel.cs │ │ ├── CqNoticeGroupAdminPostModel.cs │ │ ├── CqNoticeGroupBanPostModel.cs │ │ ├── CqNoticeGroupCardPostModel.cs │ │ ├── CqNoticeGroupDecreasePostModel.cs │ │ ├── CqNoticeGroupIncreasePostModel.cs │ │ ├── CqNoticeGroupRecallPostModel.cs │ │ ├── CqNoticeGroupUploadPostModel.cs │ │ ├── CqNoticeHonorPostModel.cs │ │ ├── CqNoticeLuckyKingPostModel.cs │ │ ├── CqNoticeNotifyPostModel.cs │ │ ├── CqNoticeOfflineFilePostModel.cs │ │ ├── CqNoticePokePostModel.cs │ │ ├── CqNoticeTitlePostModel.cs │ │ ├── CqPrivateMessagePostModel.cs │ │ ├── CqPrivateSelfMessagePostModel.cs │ │ ├── CqRequestFriendPostModel.cs │ │ └── CqRequestGroupPostModel.cs │ └── QuickOperation │ │ ├── CqFriendRequestPostQuickOperation.cs │ │ ├── CqGroupMessagePostQuickOperation.cs │ │ ├── CqGroupRequestPostQuickOperation.cs │ │ ├── CqMessagePostQuickOperation.cs │ │ ├── CqPostQuickOperation.cs │ │ └── CqPrivateMessagePostQuickOperation.cs ├── README.md └── Utils │ ├── Consts.cs │ ├── GlobalConfig.cs │ ├── JsonHelper.cs │ ├── TypeEx.cs │ ├── UnixTime.cs │ └── WebsocketEx.cs ├── TestConsole ├── ApiTest.cs ├── CqPostPluginCodeGen.cs ├── CqPostSessionExtensionsCodeGen.cs ├── ManyMiddlewares.cs ├── MyPostPlugin.cs ├── OpenAiMatchPlugin.cs ├── Program.cs └── TestConsole.csproj └── build.props /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: 提交关于此项目所存在的漏洞或问题 4 | title: "[漏洞]" 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | ## 描述漏洞信息 11 | 关于漏洞或错误的清晰简明描述 12 | 13 | ## 如何复现漏洞 14 | 复现漏洞步骤: 15 | 1. 转到 '...' 16 | 2. 编写 '....' 17 | 3. 执行并操作 '....' 18 | 4. 出现错误 19 | 20 | ## 应有的行为 21 | 你希望它表现出什么样的行为? 22 | 23 | ## 屏幕截图 24 | 如果可以, 在这里添加一些有益于问题描述的截图. 25 | 26 | ## 版本信息 27 | <--!你使用的是什么版本的 .NET? 什么版本的 EleCho.GoCqHttpSdk?--> 28 | - .NET: [例如 .NET6] 29 | - SDK: [例如 1.0.11] 30 | 31 | ## 附加信息 32 | 在这里添加一些关于漏洞的附加信息 33 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: 为项目提供一些意见或功能想法 4 | title: "[功能]" 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | ## 描述您想要的解决方案 11 | 一个清晰简洁的描述, 说明你想要什么. 12 | 13 | ## 你曾考虑过的替代方案 14 | 你考虑过的任何替代解决方案或功能的清晰简明描述. 15 | 16 | ## 您的功能请求是否与某些问题相关 17 | 一个清晰简洁的问题描述. 例如:我总是在......时觉得不方便 18 | 19 | ## 附加信息 20 | 在这里添加一些关于功能请求的其他附加信息或图片 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Question 3 | about: 询问一些比较紧急的问题 (非紧要问题请在 '讨论' 中提出) 4 | title: "[询问]" 5 | labels: question 6 | assignees: '' 7 | 8 | --- 9 | 10 | ## 概述 11 | 简要描述你遇到了什么问题 12 | 13 | ## 屏幕截图 14 | 一些有助于问题描述的屏幕截图 15 | 16 | 17 | -------------------------------------------------------------------------------- /demo/HandleFriendRequest/HandleFriendRequest.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net6.0 6 | enable 7 | enable 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /demo/HandleFriendRequest/Program.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk; 2 | using EleCho.GoCqHttpSdk.Message; 3 | 4 | 5 | // 实例化会话 6 | CqWsSession session = new CqWsSession(new CqWsSessionOptions() 7 | { 8 | BaseUri = new Uri("ws://localhost:4567"), 9 | AccessToken = "访问令牌 (如果有就填)" 10 | }); 11 | 12 | // 好友请求处理 13 | session.UseFriendRequest(async context => 14 | { 15 | // 同意好友请求 16 | await session.ApproveFriendRequestAsync(context.Flag, $"在{DateTime.Now}加的好友"); 17 | 18 | 19 | /* 20 | // 拒绝好友请求 21 | await session.RejectFriendRequestAsync(context.Flag); 22 | 23 | // 同意或拒绝好友请求 24 | bool approve = false; // 同意或拒绝 25 | await session.HandleFriendRequestAsync(context.Flag, approve, "备注信息 (如果是拒绝, 那这个字段不会产生效果)"); 26 | */ 27 | }); 28 | 29 | // 运行 30 | await session.RunAsync(); 31 | -------------------------------------------------------------------------------- /demo/MessageMatchingDemo/MessageMatchingDemo.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net6.0 6 | enable 7 | enable 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /demo/MessageMatchingDemo/MyMessageMatchingPlugin.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk; 2 | using EleCho.GoCqHttpSdk.Message; 3 | using EleCho.GoCqHttpSdk.MessageMatching; 4 | using EleCho.GoCqHttpSdk.Post; 5 | using System.Text.RegularExpressions; 6 | 7 | class MyMessageMatchingPlugin : CqMessageMatchPostPlugin 8 | { 9 | public CqWsSession Session { get; } 10 | 11 | public MyMessageMatchingPlugin(CqWsSession session) 12 | { 13 | Session = session; 14 | } 15 | 16 | 17 | /// 18 | /// 简单的, 匹配群消息的, 用来执行 echo 指令的方法 19 | /// 20 | /// 上报上下文 21 | /// 捕获组注入 22 | [CqMessageMatch("^echo (?.+)$", RegexOptions.IgnoreCase)] 23 | public async Task EchoAsync(CqGroupMessagePostContext context, string content) 24 | { 25 | await Session.SendGroupMessageAsync(context.GroupId, new CqMessage(content)); 26 | } 27 | } -------------------------------------------------------------------------------- /demo/MessageMatchingDemo/Program.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk; 2 | using EleCho.GoCqHttpSdk.Message; 3 | using EleCho.GoCqHttpSdk.MessageMatching; 4 | 5 | 6 | // 实例化会话 7 | CqWsSession session = new CqWsSession(new CqWsSessionOptions() 8 | { 9 | BaseUri = new Uri("ws://localhost:4567"), 10 | AccessToken = "访问令牌 (如果有就填)" 11 | }); 12 | 13 | // 使用消息匹配插件 14 | session.UseMessageMatchPlugin( 15 | new MyMessageMatchingPlugin(session)); 16 | 17 | // 运行 18 | await session.RunAsync(); 19 | -------------------------------------------------------------------------------- /demo/SimpleMessageEcho/Program.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk; 2 | using EleCho.GoCqHttpSdk.Message; 3 | 4 | 5 | // 实例化会话 6 | CqWsSession session = new CqWsSession(new CqWsSessionOptions() 7 | { 8 | BaseUri = new Uri("ws://localhost:4567"), 9 | AccessToken = "访问令牌 (如果有就填)" 10 | }); 11 | 12 | // 群消息处理 13 | session.UseGroupMessage(async context => 14 | { 15 | string msgText = context.Message.Text; 16 | if (msgText.StartsWith("ECHO ", StringComparison.OrdinalIgnoreCase)) 17 | { 18 | await session.SendGroupMessageAsync(context.GroupId, new CqMessage(msgText[5..])); 19 | } 20 | }); 21 | 22 | // 运行 23 | await session.RunAsync(); 24 | -------------------------------------------------------------------------------- /demo/SimpleMessageEcho/SimpleMessageEcho.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net6.0 6 | enable 7 | enable 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /docfx/.gitignore: -------------------------------------------------------------------------------- 1 | ############### 2 | # folder # 3 | ############### 4 | /**/DROP/ 5 | /**/TEMP/ 6 | /**/packages/ 7 | /**/bin/ 8 | /**/obj/ 9 | 10 | -------------------------------------------------------------------------------- /docfx/_site/articles/toc.html: -------------------------------------------------------------------------------- 1 |  2 |
3 |
4 |
5 |
6 | 7 | 8 | 9 |
10 |
11 |
12 |
13 | 14 | 19 |
20 |
21 |
22 |
-------------------------------------------------------------------------------- /docfx/_site/articles/toc.json: -------------------------------------------------------------------------------- 1 | 2 | {"items":[{"name":"Introduction","href":"intro.html","topicHref":"intro.html"}]} -------------------------------------------------------------------------------- /docfx/_site/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OrgEleCho/EleCho.GoCqHttpSdk/e3dbb9edd7fed81e3270455507322dd6c5dcc1ff/docfx/_site/favicon.ico -------------------------------------------------------------------------------- /docfx/_site/public/bootstrap-icons-AJUF3K7A.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OrgEleCho/EleCho.GoCqHttpSdk/e3dbb9edd7fed81e3270455507322dd6c5dcc1ff/docfx/_site/public/bootstrap-icons-AJUF3K7A.woff2 -------------------------------------------------------------------------------- /docfx/_site/public/bootstrap-icons-QRR4WHQW.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OrgEleCho/EleCho.GoCqHttpSdk/e3dbb9edd7fed81e3270455507322dd6c5dcc1ff/docfx/_site/public/bootstrap-icons-QRR4WHQW.woff -------------------------------------------------------------------------------- /docfx/_site/public/chunk-CCEUEXYU.min.js: -------------------------------------------------------------------------------- 1 | var g=Object.create;var e=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(a=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(b,c)=>(typeof require<"u"?require:b)[c]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+a+'" is not supported')});var n=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports),o=(a,b)=>{for(var c in b)e(a,c,{get:b[c],enumerable:!0})},l=(a,b,c,f)=>{if(b&&typeof b=="object"||typeof b=="function")for(let d of i(b))!k.call(a,d)&&d!==c&&e(a,d,{get:()=>b[d],enumerable:!(f=h(b,d))||f.enumerable});return a};var p=(a,b,c)=>(c=a!=null?g(j(a)):{},l(b||!a||!a.__esModule?e(c,"default",{value:a,enumerable:!0}):c,a));export{m as a,n as b,o as c,p as d}; 2 | //# sourceMappingURL=chunk-CCEUEXYU.min.js.map 3 | -------------------------------------------------------------------------------- /docfx/_site/public/chunk-CCEUEXYU.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": [], 4 | "sourcesContent": [], 5 | "mappings": "", 6 | "names": [] 7 | } 8 | -------------------------------------------------------------------------------- /docfx/_site/public/flowDiagram-v2-8716a26e-T4MBCTPC.min.js: -------------------------------------------------------------------------------- 1 | import{a as t,b as e}from"./chunk-QYYT2EYW.min.js";import"./chunk-RFPV4IUV.min.js";import{a as m,b as o}from"./chunk-MTLRDIGA.min.js";import"./chunk-GCLJLOX7.min.js";import"./chunk-R7LCOU72.min.js";import"./chunk-GEFMTHNG.min.js";import"./chunk-CV6TM5UJ.min.js";import"./chunk-CN2WCLA7.min.js";import{D as s,g as a,qa as p}from"./chunk-ZSFM5U4W.min.js";import{d as i}from"./chunk-CCEUEXYU.min.js";var g=i(a(),1),n=i(s(),1);var c={parser:m,db:o,renderer:t,styles:e,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,p({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),t.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{c as diagram}; 2 | //# sourceMappingURL=flowDiagram-v2-8716a26e-T4MBCTPC.min.js.map 3 | -------------------------------------------------------------------------------- /docfx/_site/public/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OrgEleCho/EleCho.GoCqHttpSdk/e3dbb9edd7fed81e3270455507322dd6c5dcc1ff/docfx/_site/public/main.css -------------------------------------------------------------------------------- /docfx/_site/public/main.js: -------------------------------------------------------------------------------- 1 | export default {} -------------------------------------------------------------------------------- /docfx/_site/public/mermaid.core-ZV3ZUZ7Z.min.js: -------------------------------------------------------------------------------- 1 | import{D as t,Ra as m,g as r}from"./chunk-ZSFM5U4W.min.js";import{d as o}from"./chunk-CCEUEXYU.min.js";var e=o(r(),1);var d=o(t(),1);export{m as default}; 2 | //# sourceMappingURL=mermaid.core-ZV3ZUZ7Z.min.js.map 3 | -------------------------------------------------------------------------------- /docfx/_site/public/mermaid.core-ZV3ZUZ7Z.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/mermaid/dist/mermaid.core.mjs"], 4 | "sourcesContent": ["import \"ts-dedent\";\nimport { K } from \"./mermaid-a953d906.js\";\nimport \"dayjs/esm/index.js\";\nimport \"@braintree/sanitize-url\";\nimport \"d3\";\nimport \"dompurify\";\nimport \"khroma\";\nimport \"lodash-es/memoize.js\";\nimport \"stylis\";\nimport \"lodash-es/isEmpty.js\";\nexport {\n K as default\n};\n"], 5 | "mappings": "uGAGA,IAAAA,EAAO,SAEP,IAAAC,EAAO", 6 | "names": ["import_sanitize_url", "import_dompurify"] 7 | } 8 | -------------------------------------------------------------------------------- /docfx/_site/toc.html: -------------------------------------------------------------------------------- 1 |  2 |
3 |
4 |
5 |
6 | 7 | 8 | 9 |
10 |
11 |
12 |
13 | 14 | 22 |
23 |
24 |
25 |
-------------------------------------------------------------------------------- /docfx/_site/toc.json: -------------------------------------------------------------------------------- 1 | 2 | {"items":[{"name":"文章","href":"articles/intro.html","tocHref":"articles/toc.html","topicHref":"articles/intro.html"},{"name":"API 参考","href":"api/index.html","tocHref":"api/toc.html","topicHref":"api/index.html","homepage":"api/index.html"}]} -------------------------------------------------------------------------------- /docfx/api/.gitignore: -------------------------------------------------------------------------------- 1 | ############### 2 | # temp file # 3 | ############### 4 | *.yml 5 | .manifest 6 | -------------------------------------------------------------------------------- /docfx/api/index.md: -------------------------------------------------------------------------------- 1 | # API 参考 2 | 3 | 你可以在这里查看 EleCho.GoCqHttpSdk 中公开的所有 API, 在左侧目录中单击你想查看的条目即可. 4 | -------------------------------------------------------------------------------- /docfx/articles/intro.md: -------------------------------------------------------------------------------- 1 | # Add your introductions here! 2 | -------------------------------------------------------------------------------- /docfx/articles/toc.yml: -------------------------------------------------------------------------------- 1 | - name: Introduction 2 | href: intro.md 3 | -------------------------------------------------------------------------------- /docfx/index.md: -------------------------------------------------------------------------------- 1 | # This is the **HOMEPAGE**. 2 | Refer to [Markdown](http://daringfireball.net/projects/markdown/) for how to write markdown files. 3 | ## Quick Start Notes: 4 | 1. Add images to the *images* folder if the file is referencing an image. 5 | -------------------------------------------------------------------------------- /docfx/toc.yml: -------------------------------------------------------------------------------- 1 | - name: 文章 2 | href: articles/ 3 | - name: API 参考 4 | href: api/ 5 | homepage: api/index.md 6 | -------------------------------------------------------------------------------- /logo-rect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OrgEleCho/EleCho.GoCqHttpSdk/e3dbb9edd7fed81e3270455507322dd6c5dcc1ff/logo-rect.png -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OrgEleCho/EleCho.GoCqHttpSdk/e3dbb9edd7fed81e3270455507322dd6c5dcc1ff/logo.png -------------------------------------------------------------------------------- /logo/logo.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OrgEleCho/EleCho.GoCqHttpSdk/e3dbb9edd7fed81e3270455507322dd6c5dcc1ff/logo/logo.psd -------------------------------------------------------------------------------- /logo/logo_fit.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OrgEleCho/EleCho.GoCqHttpSdk/e3dbb9edd7fed81e3270455507322dd6c5dcc1ff/logo/logo_fit.psd -------------------------------------------------------------------------------- /logo/readme.md: -------------------------------------------------------------------------------- 1 | 这里存放了项目的 LOGO 2 | 3 | 1. `logo.psd`: 原始 512x512 的 LOGO 4 | 2. `logo_fit.psd`: 调整大小后, 用来放在项目 readme 中的 LOGO -------------------------------------------------------------------------------- /src/AssmeblyCheck/AssmeblyCheck.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net6.0 6 | enable 7 | enable 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/AssmeblyCheck/Program.cs: -------------------------------------------------------------------------------- 1 | using TestConsole; 2 | 3 | // 运行对程序集的简单检查测试 4 | return AssemblyCheckCore.Run(); 5 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk.CommandExecuting/CqPostSessionCommandExecutingExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.CommandExecuting 8 | { 9 | public static class CqPostSessionCommandExecutingExtensions 10 | { 11 | public static void UseCommandExecutePlugin(this ICqPostSession session, CqCommandExecutePostPlugin plugin) 12 | { 13 | session.UseAny(plugin.Execute); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk.CommandExecuting/TaskUtils.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Reflection; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace EleCho.GoCqHttpSdk.CommandExecuting 9 | { 10 | internal class TaskUtils 11 | { 12 | public static async Task WaitAsync(Task task) 13 | { 14 | Type type = task.GetType(); 15 | 16 | await task; 17 | if (type.GetProperty(nameof(Task.Result)) is PropertyInfo prop) 18 | { 19 | return prop.GetValue(task); 20 | } 21 | 22 | return null; 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk.CommandExecuting/readme.md: -------------------------------------------------------------------------------- 1 | # EleCho.GoCqHttpSdk.CommandExecuting 2 | 3 | EleCho.GoCqHttpSdk 的命令执行拓展 4 | 5 | ## 功能: 6 | 7 | 提供简便易用的命令行执行拓展插件 8 | 9 | ## 使用: 10 | 11 | 定义自己的命令执行插件: 12 | 13 | ```csharp 14 | class MyCommandExecutePlugin : CqCommandExecutePostPlugin 15 | { 16 | [Command] 17 | public int Add(int a, int b) 18 | { 19 | return a + b; 20 | } 21 | } 22 | ``` 23 | 24 | > 使用插件, 只需要调用 UseCommandExecutePlugin 拓展方法即可 25 | 26 | 在使用以上插件后, 在群聊消息中发送 `/add 1 2` 即可得到机器人的回复 `3` 27 | 28 | > 注意, 功能依赖于 `EleCho.CommandLine` 库, 如果你需要使用最新的指令功能, 你需要直接引用该库的最新版本. (包默认会引用 1.0.2 版本) 29 | 30 | --- 31 | 32 | > ~~EleCho.GoCqHttpSdk 提供了甚至令人难以坐和放宽的拓展功能,从此再也不需要使用令人难以琢磨的标记,按下功率,享受轻松光亮的拓展背包吧~~ -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/CqActionRetCode.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action 2 | { 3 | /// 4 | /// CQ Action 返回码 5 | /// 6 | public enum CqActionRetCode 7 | { 8 | /// 9 | /// 调用成功 10 | /// 11 | Okay = 0, 12 | 13 | /// 14 | /// 调用已经提交异步处理, 具体 api 调用是否成功无法得知 15 | /// 16 | Async = 1, 17 | 18 | /// 19 | /// 请求参数错误 20 | /// 21 | BadRequest = 1400, 22 | /// 23 | /// AccessToken 未提供 24 | /// 25 | Unauthorized = 1401, 26 | /// 27 | /// AccessToken 不符合 28 | /// 29 | Forbidden = 1403, 30 | /// 31 | /// API 不存在 32 | /// 33 | NotFound = 1404, 34 | } 35 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/CqActionStatus.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action 2 | { 3 | /// 4 | /// 操作状态码 5 | /// 6 | public enum CqActionStatus 7 | { 8 | /// 9 | /// 调用成功 10 | /// 11 | Okay, 12 | /// 13 | /// 调用已经提交异步处理, 此时 retcode 为 1, 具体 api 调用是否成功无法得知 14 | /// 15 | Async, 16 | /// 17 | /// 调用失败 18 | /// 19 | Failed, 20 | /// 21 | /// 未知 22 | /// 23 | Unknown = -1 24 | } 25 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/CqCanSendImageAction.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.Params; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace EleCho.GoCqHttpSdk.Action 9 | { 10 | /// 11 | /// 检查是否能发送图像的操作 12 | /// 13 | public class CqCanSendImageAction : CqAction 14 | { 15 | /// 16 | /// 操作类型: 能发送图片 17 | /// 18 | public override CqActionType ActionType => CqActionType.CanSendImage; 19 | 20 | internal override CqActionParamsModel GetParamsModel() => new CqCanSendImageActionParamsModel(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/CqCanSendRecordAction.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.Params; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 检查是否能够发送语音的操作 7 | /// 8 | public class CqCanSendRecordAction : CqAction 9 | { 10 | /// 11 | /// 操作类型: 能发送语音 12 | /// 13 | public override CqActionType ActionType => CqActionType.CanSendRecord; 14 | 15 | internal override CqActionParamsModel GetParamsModel() => new CqCanSendRecordActionParamsModel(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/CqGetCsrfTokenAction.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using EleCho.GoCqHttpSdk.Action.Model.Params; 7 | 8 | namespace EleCho.GoCqHttpSdk.Action 9 | { 10 | /// 11 | /// 获取 CSRF Token 操作 12 | /// 13 | public class CqGetCsrfTokenAction : CqAction 14 | { 15 | /// 16 | /// 操作类型: 获取 CSRF Token 17 | /// 18 | public override CqActionType ActionType => CqActionType.GetCsrfToken; 19 | 20 | internal override CqActionParamsModel GetParamsModel() 21 | { 22 | return new CqGetCsrfTokenActionParamsModel(); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/CqGetForwardMessageAction.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.Params; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 获取转发消息操作 7 | /// 8 | public class CqGetForwardMessageAction : CqAction 9 | { 10 | /// 11 | /// 操作类型: 获取转发消息 12 | /// 13 | public override CqActionType ActionType => CqActionType.GetForwardMessage; 14 | 15 | /// 16 | /// 实例化对象 17 | /// 18 | /// 消息 ID 19 | public CqGetForwardMessageAction(long messageId) => MessageId = messageId; 20 | 21 | /// 22 | /// 消息 ID 23 | /// 24 | public long MessageId { get; set; } 25 | 26 | internal override CqActionParamsModel GetParamsModel() 27 | { 28 | return new CqGetForwardMessageActionParamsModel(MessageId); 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/CqGetFriendListAction.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.Params; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace EleCho.GoCqHttpSdk.Action 9 | { 10 | /// 11 | /// 获取好友列表操作 12 | /// 13 | public class CqGetFriendListAction : CqAction 14 | { 15 | /// 16 | /// 操作类型: 获取好友列表 17 | /// 18 | public override CqActionType ActionType => CqActionType.GetFriendList; 19 | 20 | internal override CqActionParamsModel GetParamsModel() 21 | { 22 | return new CqGetFriendListActionParamsModel(); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/CqGetImageAction.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.Params; 2 | 3 | 4 | namespace EleCho.GoCqHttpSdk.Action 5 | { 6 | /// 7 | /// 获取图片操作 8 | /// 9 | public class CqGetImageAction : CqAction 10 | { 11 | /// 12 | /// 操作类型: 获取图像 13 | /// 14 | public override CqActionType ActionType => CqActionType.GetImage; 15 | 16 | /// 17 | /// 文件名 18 | /// 19 | public string Filename { get; set; } 20 | 21 | /// 22 | /// 实例化对象 23 | /// 24 | /// 文件名 25 | public CqGetImageAction(string filename) => Filename = filename; 26 | 27 | internal override CqActionParamsModel GetParamsModel() 28 | { 29 | return new CqGetImageActionParamsModel(Filename); 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/CqGetLoginInformationAction.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.Params; 2 | 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace EleCho.GoCqHttpSdk.Action 10 | { 11 | /// 12 | /// 获取登陆信息操作 13 | /// 14 | public class CqGetLoginInformationAction : CqAction 15 | { 16 | /// 17 | /// 操作类型: 获取登陆信息 18 | /// 19 | public override CqActionType ActionType => CqActionType.GetLoginInformation; 20 | 21 | internal override CqActionParamsModel GetParamsModel() 22 | { 23 | return new CqGetLoginInformationActionParamsModel(); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/CqGetMessageAction.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.Params; 2 | 3 | 4 | namespace EleCho.GoCqHttpSdk.Action 5 | { 6 | /// 7 | /// 获取消息操作 8 | /// 9 | public class CqGetMessageAction : CqAction 10 | { 11 | /// 12 | /// 操作类型: 获取消息 13 | /// 14 | public override CqActionType ActionType => CqActionType.GetMessage; 15 | 16 | /// 17 | /// 消息 ID 18 | /// 19 | public long MessageId { get; set; } 20 | 21 | /// 22 | /// 实例化对象 23 | /// 24 | /// 消息 ID 25 | public CqGetMessageAction(long messageId) => MessageId = messageId; 26 | 27 | internal override CqActionParamsModel GetParamsModel() 28 | { 29 | return new CqGetMessageActionParamsModel(MessageId); 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/CqGetModelShowAction.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.Params; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 获取可用在线机型显示操作 7 | /// 8 | public class CqGetModelShowAction : CqAction 9 | { 10 | /// 11 | /// 实例化对象 12 | /// 13 | /// 机型 14 | public CqGetModelShowAction(string model) 15 | { 16 | Model = model; 17 | } 18 | 19 | /// 20 | /// 操作类型: 获取可用在线机型显示 21 | /// 22 | public override CqActionType ActionType => CqActionType.GetModelShow; 23 | 24 | /// 25 | /// 机型 26 | /// 27 | public string Model { get; set; } 28 | 29 | internal override CqActionParamsModel GetParamsModel() 30 | { 31 | return new CqGetModelShowActionParamsModel(Model); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/CqGetUnidirectionalFriendListAction.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.Params; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 获取单向好友列表操作 7 | /// 8 | public class CqGetUnidirectionalFriendListAction : CqAction 9 | { 10 | /// 11 | /// 操作类型: 获取单向好友列表 12 | /// 13 | public override CqActionType ActionType => CqActionType.GetUnidirectionalFriendList; 14 | 15 | internal override CqActionParamsModel GetParamsModel() 16 | { 17 | return new CqGetUnidirectionalFriendListActionParamsModel(); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/CqGetVersionInfomationAction.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.Params; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace EleCho.GoCqHttpSdk.Action 9 | { 10 | /// 11 | /// 获取版本信息操作 12 | /// 13 | public class CqGetVersionInformationAction : CqAction 14 | { 15 | /// 16 | /// 操作类型: 获取版本信息 17 | /// 18 | public override CqActionType ActionType => CqActionType.GetVersionInformation; 19 | 20 | internal override CqActionParamsModel GetParamsModel() 21 | { 22 | return new CqGetVersionInformationActionParamsModel(); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/CqOcrImageAction.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.Params; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 图片 OCR 7 | /// 8 | public class CqOcrImageAction : CqAction 9 | { 10 | /// 11 | /// 12 | /// 13 | public override CqActionType ActionType => CqActionType.OcrImage; 14 | 15 | /// 16 | /// 图片 ID 17 | /// 18 | public string Image { get; set; } 19 | 20 | /// 21 | /// 实例化 22 | /// 23 | /// 24 | public CqOcrImageAction(string image) 25 | { 26 | Image = image; 27 | } 28 | 29 | internal override CqActionParamsModel GetParamsModel() 30 | { 31 | return new CqOcrImageActionParamsModel(Image); 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/CqActionModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model 2 | { 3 | internal class CqActionModel 4 | { 5 | public CqActionModel(string action, object @params) 6 | { 7 | this.action = action; 8 | this.@params = @params; 9 | } 10 | 11 | public CqActionModel(string action, object @params, string? echo) : this(action, @params) => this.echo = echo; 12 | 13 | public string action { get; set; } 14 | public object @params { get; set; } 15 | 16 | public string? echo { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/CqActionResultRaw.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Model; 2 | using System.Text.Json; 3 | using System.Text.Json.Serialization; 4 | 5 | namespace EleCho.GoCqHttpSdk.Action.Model 6 | { 7 | internal class CqActionResultRaw : CqWsDataModel 8 | { 9 | [JsonConstructor] 10 | public CqActionResultRaw(string status, int retcode, string? msg, string? wording, string? echo, JsonElement? data) 11 | { 12 | this.status = status; 13 | this.retcode = retcode; 14 | this.msg = msg; 15 | this.wording = wording; 16 | this.echo = echo; 17 | this.data = data; 18 | } 19 | 20 | public string status { get; set; } 21 | public int retcode { get; set; } 22 | public string? msg { get; set; } 23 | public string? wording { get; set; } 24 | public string? echo { get; set; } 25 | public JsonElement? data { get; set; } 26 | } 27 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 2 | { 3 | internal class CqActionParamsModel 4 | { } 5 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqBanGroupAllMembersActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | using System.Text.Json.Serialization; 4 | 5 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 6 | { 7 | internal class CqBanGroupAllMembersActionParamsModel : CqActionParamsModel 8 | { 9 | public CqBanGroupAllMembersActionParamsModel(long group_id, bool enable) 10 | { 11 | this.group_id = group_id; 12 | this.enable = enable; 13 | } 14 | 15 | public long group_id { get; } 16 | public bool enable { get; } 17 | } 18 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqBanGroupAnonymousMemberActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.DataStructure.Model; 2 | 3 | #pragma warning disable IDE1006 // Naming Styles 4 | 5 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 6 | { 7 | internal class CqBanGroupAnonymousMemberActionParamsModel : CqActionParamsModel 8 | { 9 | public CqBanGroupAnonymousMemberActionParamsModel(long group_id, CqAnonymousInformationModel? anonymous, string? anonymous_flag, long duration) 10 | { 11 | this.group_id = group_id; 12 | this.anonymous = anonymous; 13 | this.anonymous_flag = anonymous_flag; 14 | this.duration = duration; 15 | } 16 | 17 | public long group_id { get; } 18 | public CqAnonymousInformationModel? anonymous { get; } 19 | public string? anonymous_flag { get; } 20 | public long duration { get; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqBanGroupMemberActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 4 | { 5 | internal class CqBanGroupMemberActionParamsModel : CqActionParamsModel 6 | { 7 | public CqBanGroupMemberActionParamsModel(long group_id, long user_id, long duration) 8 | { 9 | this.group_id = group_id; 10 | this.user_id = user_id; 11 | this.duration = duration; 12 | } 13 | 14 | public long group_id { get; } 15 | public long user_id { get; } 16 | public long duration { get; } 17 | } 18 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqCanSendImageActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 8 | { 9 | internal class CqCanSendImageActionParamsModel : CqActionParamsModel 10 | { 11 | // no data 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqCanSendRecordActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 2 | { 3 | internal class CqCanSendRecordActionParamsModel : CqActionParamsModel 4 | { 5 | // no data 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqCheckUrlSafetyActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 2 | { 3 | internal class CqCheckUrlSafetyActionParamsModel : CqActionParamsModel 4 | { 5 | public CqCheckUrlSafetyActionParamsModel(string url) 6 | { 7 | this.url = url; 8 | } 9 | 10 | public string url { get; } 11 | } 12 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqCreateGroupFolderActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | using System.Text.Json.Serialization; 4 | 5 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 6 | { 7 | internal class CqCreateGroupFolderActionParamsModel : CqActionParamsModel 8 | { 9 | [JsonConstructor] 10 | public CqCreateGroupFolderActionParamsModel(long group_id, string name, string parent_id) 11 | { 12 | this.group_id = group_id; 13 | this.name = name; 14 | this.parent_id = parent_id; 15 | } 16 | 17 | public long group_id { get; } 18 | public string name { get; } 19 | public string parent_id { get; } 20 | } 21 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqDeleteEssenceMessageActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 8 | { 9 | internal class CqDeleteEssenceMessageActionParamsModel : CqActionParamsModel 10 | { 11 | public CqDeleteEssenceMessageActionParamsModel(long message_id) 12 | { 13 | this.message_id = message_id; 14 | } 15 | 16 | public long message_id { get; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqDeleteFriendActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 8 | { 9 | internal class CqDeleteFriendActionParamsModel : CqActionParamsModel 10 | { 11 | public CqDeleteFriendActionParamsModel(long user_id) 12 | { 13 | this.user_id = user_id; 14 | } 15 | 16 | public long user_id { get; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqDeleteGroupFileActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | using System.Text.Json.Serialization; 4 | 5 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 6 | { 7 | internal class CqDeleteGroupFileActionParamsModel : CqActionParamsModel 8 | { 9 | public CqDeleteGroupFileActionParamsModel(long group_id, string file_id, int busid) 10 | { 11 | this.group_id = group_id; 12 | this.file_id = file_id; 13 | this.busid = busid; 14 | } 15 | 16 | public long group_id { get; } 17 | public string file_id { get; } 18 | 19 | public int busid { get; } 20 | } 21 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqDeleteGroupFolderActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | 4 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 5 | { 6 | internal class CqDeleteGroupFolderActionParamsModel : CqActionParamsModel 7 | { 8 | public CqDeleteGroupFolderActionParamsModel(long group_id, string folder_id) 9 | { 10 | this.group_id = group_id; 11 | this.folder_id = folder_id; 12 | } 13 | 14 | public long group_id { get; } 15 | public string folder_id { get; } 16 | } 17 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqDeleteUnidirectionalFriendActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 2 | { 3 | internal class CqDeleteUnidirectionalFriendActionParamsModel : CqActionParamsModel 4 | { 5 | public CqDeleteUnidirectionalFriendActionParamsModel(long user_id) 6 | { 7 | this.user_id = user_id; 8 | } 9 | 10 | public long user_id { get; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqDownloadFileActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 8 | { 9 | internal class CqDownloadFileActionParamsModel : CqActionParamsModel 10 | { 11 | public CqDownloadFileActionParamsModel(string url, int thread_count, string[] headers) 12 | { 13 | this.url = url; 14 | this.thread_count = thread_count; 15 | this.headers = headers; 16 | } 17 | 18 | public string url { get; } 19 | public int thread_count { get; } 20 | public string[] headers { get; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetCookiesActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 8 | { 9 | internal class CqGetCookiesActionParamsModel : CqActionParamsModel 10 | { 11 | public CqGetCookiesActionParamsModel(string domain) 12 | { 13 | this.domain = domain; 14 | } 15 | 16 | public string domain { get; } = string.Empty; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetCsrfTokenActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 8 | { 9 | internal class CqGetCsrfTokenActionParamsModel : CqActionParamsModel 10 | { 11 | // no data 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetEssenceMessageListActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 8 | { 9 | internal class CqGetEssenceMessageListActionParamsModel : CqActionParamsModel 10 | { 11 | public CqGetEssenceMessageListActionParamsModel(long group_id) 12 | { 13 | this.group_id = group_id; 14 | } 15 | 16 | public long group_id { get; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetForwardMsgActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 4 | { 5 | internal class CqGetForwardMessageActionParamsModel : CqActionParamsModel 6 | { 7 | public CqGetForwardMessageActionParamsModel(long message_id) => this.message_id = message_id; 8 | 9 | public long message_id { get; } 10 | } 11 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetFriendListActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 8 | { 9 | internal class CqGetFriendListActionParamsModel : CqActionParamsModel 10 | { 11 | // no data 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetGroupFileSystemInformationActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | 4 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 5 | { 6 | internal class CqGetGroupFileSystemInformationActionParamsModel : CqActionParamsModel 7 | { 8 | public CqGetGroupFileSystemInformationActionParamsModel(long group_id) 9 | { 10 | this.group_id = group_id; 11 | } 12 | 13 | public long group_id { get; } 14 | } 15 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetGroupFileUrlActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | 4 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 5 | { 6 | internal class CqGetGroupFileUrlActionParamsModel : CqActionParamsModel 7 | { 8 | public CqGetGroupFileUrlActionParamsModel(long group_id, string file_id, int busid) 9 | { 10 | this.group_id = group_id; 11 | this.file_id = file_id; 12 | this.busid = busid; 13 | } 14 | 15 | public long group_id { get; } 16 | public string file_id { get; } 17 | public int busid { get; } 18 | } 19 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetGroupFilesByFolderActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | 4 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 5 | { 6 | internal class CqGetGroupFilesByFolderActionParamsModel : CqActionParamsModel 7 | { 8 | public CqGetGroupFilesByFolderActionParamsModel(long group_id, string folder_id) 9 | { 10 | this.group_id = group_id; 11 | this.folder_id = folder_id; 12 | } 13 | 14 | public long group_id { get; } 15 | public string folder_id { get; } 16 | } 17 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetGroupInformationActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 8 | { 9 | internal class CqGetGroupInformationActionParamsModel : CqActionParamsModel 10 | { 11 | public CqGetGroupInformationActionParamsModel(long group_id, bool no_cache) 12 | { 13 | this.group_id = group_id; 14 | this.no_cache = no_cache; 15 | } 16 | 17 | public long group_id { get; } 18 | public bool no_cache { get; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetGroupListActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 2 | { 3 | internal class CqGetGroupListActionParamsModel : CqActionParamsModel 4 | { 5 | public CqGetGroupListActionParamsModel(bool no_cache) 6 | { 7 | this.no_cache = no_cache; 8 | } 9 | 10 | public bool no_cache { get; } 11 | } 12 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetGroupMemberInformationActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 8 | { 9 | internal class CqGetGroupMemberInformationActionParamsModel : CqActionParamsModel 10 | { 11 | public CqGetGroupMemberInformationActionParamsModel(long group_id, long user_id, bool no_cache) 12 | { 13 | this.group_id = group_id; 14 | this.user_id = user_id; 15 | this.no_cache = no_cache; 16 | } 17 | 18 | public long group_id { get; } 19 | public long user_id { get; } 20 | public bool no_cache { get; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetGroupMemberListActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 2 | { 3 | internal class CqGetGroupMemberListActionParamsModel : CqActionParamsModel 4 | { 5 | public CqGetGroupMemberListActionParamsModel(long group_id, bool no_cache) 6 | { 7 | this.group_id = group_id; 8 | this.no_cache = no_cache; 9 | } 10 | 11 | public long group_id { get; } 12 | public bool no_cache { get; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetGroupRootFilesActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | 4 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 5 | { 6 | internal class CqGetGroupRootFilesActionParamsModel : CqActionParamsModel 7 | { 8 | public CqGetGroupRootFilesActionParamsModel(long group_id) 9 | { 10 | this.group_id = group_id; 11 | } 12 | 13 | public long group_id { get; } 14 | } 15 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetImageActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 4 | { 5 | internal class CqGetImageActionParamsModel : CqActionParamsModel 6 | { 7 | public CqGetImageActionParamsModel(string file) => this.file = file; 8 | 9 | public string file { get; } 10 | } 11 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetLoginInfomationActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 4 | { 5 | internal class CqGetLoginInformationActionParamsModel : CqActionParamsModel 6 | { 7 | // no param 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetMessageActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 4 | { 5 | internal class CqGetMessageActionParamsModel : CqActionParamsModel 6 | { 7 | public CqGetMessageActionParamsModel(long message_id) => this.message_id = message_id; 8 | 9 | public long message_id { get; } 10 | } 11 | 12 | //internal class 13 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetModelShowActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 2 | { 3 | internal class CqGetModelShowActionParamsModel : CqActionParamsModel 4 | { 5 | public CqGetModelShowActionParamsModel(string model) 6 | { 7 | this.model = model; 8 | } 9 | 10 | public string model { get; } 11 | } 12 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetOnlineClientsActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 8 | { 9 | internal class CqGetOnlineClientsActionParamsModel : CqActionParamsModel 10 | { 11 | public CqGetOnlineClientsActionParamsModel(bool no_cache) 12 | { 13 | this.no_cache = no_cache; 14 | } 15 | 16 | public bool no_cache { get; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetStrangerInfoActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 4 | { 5 | internal class CqGetStrangerInformationActionParamsModel : CqActionParamsModel 6 | { 7 | public CqGetStrangerInformationActionParamsModel(long user_id, bool no_cache) 8 | { 9 | this.user_id = user_id; 10 | this.no_cache = no_cache; 11 | } 12 | 13 | public long user_id { get; } 14 | public bool no_cache { get; } 15 | } 16 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetUnidirectionalFriendListActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 2 | { 3 | internal class CqGetUnidirectionalFriendListActionParamsModel : CqActionParamsModel 4 | { 5 | // no data 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetVersionInformationActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 8 | { 9 | internal class CqGetVersionInformationActionParamsModel : CqActionParamsModel 10 | { 11 | // no data 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGetWordSlicesActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 4 | { 5 | internal class CqGetWordSlicesActionParamsModel : CqActionParamsModel 6 | { 7 | public CqGetWordSlicesActionParamsModel(string content) 8 | { 9 | this.content = content; 10 | } 11 | 12 | public string content { get; } 13 | } 14 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqGroupSignInActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 4 | { 5 | internal class CqGroupSignInActionParamsModel : CqActionParamsModel 6 | { 7 | public CqGroupSignInActionParamsModel(long group_id) 8 | { 9 | this.group_id = group_id; 10 | } 11 | 12 | public long group_id { get; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqHandleFriendRequestActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 4 | { 5 | internal class CqHandleFriendRequestActionParamsModel : CqActionParamsModel 6 | { 7 | public CqHandleFriendRequestActionParamsModel(string flag, bool approve, string? remark) 8 | { 9 | this.flag = flag; 10 | this.approve = approve; 11 | this.remark = remark; 12 | } 13 | 14 | public string flag { get; } 15 | public bool approve { get; } 16 | public string? remark { get; } 17 | } 18 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqHandleGroupRequestActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 4 | { 5 | internal class CqHandleGroupRequestActionParamsModel : CqActionParamsModel 6 | { 7 | public CqHandleGroupRequestActionParamsModel(string flag, string type, bool approve, string? reason) 8 | { 9 | this.flag = flag; 10 | this.type = type; 11 | this.approve = approve; 12 | this.reason = reason; 13 | } 14 | 15 | public string flag { get; } 16 | public string type { get; } 17 | public bool approve { get; } 18 | public string? reason { get; } 19 | } 20 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqKickGroupMemberActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 4 | { 5 | internal class CqKickGroupMemberActionParamsModel : CqActionParamsModel 6 | { 7 | public CqKickGroupMemberActionParamsModel(long group_id, long user_id, bool reject_add_request) 8 | { 9 | this.group_id = group_id; 10 | this.user_id = user_id; 11 | this.reject_add_request = reject_add_request; 12 | } 13 | 14 | public long group_id { get; } 15 | public long user_id { get; } 16 | public bool reject_add_request { get; } 17 | } 18 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqLeaveGroupActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 4 | { 5 | internal class CqLeaveGroupActionParamsModel : CqActionParamsModel 6 | { 7 | public CqLeaveGroupActionParamsModel(long group_id, bool is_dismiss) 8 | { 9 | this.group_id = group_id; 10 | this.is_dismiss = is_dismiss; 11 | } 12 | 13 | public long group_id { get; } 14 | public bool is_dismiss { get; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqMarkMessageAsReadActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 4 | { 5 | internal class CqMarkMessageAsReadActionParamsModel : CqActionParamsModel 6 | { 7 | public long message_id { get; } 8 | 9 | public CqMarkMessageAsReadActionParamsModel(long message_id) 10 | { 11 | this.message_id = message_id; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqOcrImageActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 4 | { 5 | internal class CqOcrImageActionParamsModel : CqActionParamsModel 6 | { 7 | public string image { get; } 8 | 9 | public CqOcrImageActionParamsModel(string image) 10 | { 11 | this.image = image; 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqRecallMessageActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 4 | { 5 | internal class CqRecallMessageActionParamsModel : CqActionParamsModel 6 | { 7 | public CqRecallMessageActionParamsModel(long message_id) 8 | { 9 | this.message_id = message_id; 10 | } 11 | 12 | public long message_id { get; } 13 | } 14 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqReloadEventFilterActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 2 | { 3 | internal class CqReloadEventFilterActionParamsModel : CqActionParamsModel 4 | { 5 | public CqReloadEventFilterActionParamsModel(string file) 6 | { 7 | this.file = file; 8 | } 9 | 10 | public string file { get; } 11 | } 12 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqSendGroupForwardMessageActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Message.DataModel; 2 | 3 | #pragma warning disable IDE1006 // Naming Styles 4 | 5 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 6 | { 7 | internal class CqSendGroupForwardMessageActionParamsModel : CqActionParamsModel 8 | { 9 | public CqSendGroupForwardMessageActionParamsModel(long group_id, CqMsgModel[] messages) 10 | { 11 | this.group_id = group_id; 12 | this.messages = messages; 13 | } 14 | 15 | public long group_id { get; } 16 | 17 | /// 18 | /// CqMsgModel<CqForwardNodeMsgDataModel>[] 19 | /// 20 | public CqMsgModel[] messages { get; } 21 | } 22 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqSendGroupMsgActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Message.DataModel; 2 | using System.Text.Json.Serialization; 3 | 4 | #pragma warning disable IDE1006 // Naming Styles 5 | 6 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 7 | { 8 | internal class CqSendGroupMessageActionParamsModel : CqActionParamsModel 9 | { 10 | public CqSendGroupMessageActionParamsModel(long group_id, CqMsgModel[] message, bool auto_escape) 11 | { 12 | this.group_id = group_id; 13 | this.message = message; 14 | this.auto_escape = auto_escape; 15 | } 16 | 17 | public long group_id { get; } 18 | public CqMsgModel[] message { get; } 19 | 20 | [JsonIgnore] 21 | public bool auto_escape { get; } 22 | } 23 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqSendPrivateForwardMsgActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Message.DataModel; 2 | 3 | #pragma warning disable IDE1006 // Naming Styles 4 | 5 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 6 | { 7 | internal class CqSendPrivateForwardMsgActionParamsModel : CqActionParamsModel 8 | { 9 | public CqSendPrivateForwardMsgActionParamsModel(long user_id, CqMsgModel[] messages) 10 | { 11 | this.user_id = user_id; 12 | this.messages = messages; 13 | } 14 | 15 | public long user_id { get; } 16 | 17 | /// 18 | /// CqMsgModel<CqForwardNodeMsgDataModel>[] 19 | /// 20 | public CqMsgModel[] messages { get; } 21 | } 22 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqSendPrivateMessageActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Message.DataModel; 2 | using System.Text.Json.Serialization; 3 | 4 | #pragma warning disable IDE1006 // Naming Styles 5 | 6 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 7 | { 8 | internal class CqSendPrivateMessageActionParamsModel : CqActionParamsModel 9 | { 10 | public CqSendPrivateMessageActionParamsModel(long user_id, long? group_id, CqMsgModel[] message, bool auto_escape) 11 | { 12 | this.user_id = user_id; 13 | this.group_id = group_id; 14 | this.message = message; 15 | this.auto_escape = auto_escape; 16 | } 17 | 18 | public long user_id { get; } 19 | public long? group_id { get; } 20 | public CqMsgModel[] message { get; } 21 | 22 | [JsonIgnore] 23 | public bool auto_escape { get; } 24 | } 25 | 26 | //internal class 27 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqSetAccountProfileActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 8 | { 9 | internal class CqSetAccountProfileActionParamsModel : CqActionParamsModel 10 | { 11 | public CqSetAccountProfileActionParamsModel(string nickname, string company, string email, string college, string personal_note) 12 | { 13 | this.nickname = nickname; 14 | this.company = company; 15 | this.email = email; 16 | this.college = college; 17 | this.personal_note = personal_note; 18 | } 19 | 20 | public string nickname { get; } 21 | public string company { get; } 22 | public string email { get; } 23 | public string college { get; } 24 | public string personal_note { get; } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqSetEssenceMessageActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 2 | { 3 | internal class CqSetEssenceMessageActionParamsModel : CqActionParamsModel 4 | { 5 | public CqSetEssenceMessageActionParamsModel(long message_id) 6 | { 7 | this.message_id = message_id; 8 | } 9 | 10 | public long message_id { get; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqSetGroupAdministratorActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 4 | { 5 | internal class CqSetGroupAdministratorActionParamsModel : CqActionParamsModel 6 | { 7 | public CqSetGroupAdministratorActionParamsModel(long group_id, long user_id, bool enable) 8 | { 9 | this.group_id = group_id; 10 | this.user_id = user_id; 11 | this.enable = enable; 12 | } 13 | 14 | public long group_id { get; } 15 | public long user_id { get; } 16 | public bool enable { get; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqSetGroupAnonymousActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 4 | { 5 | internal class CqSetGroupAnonymousActionParamsModel : CqActionParamsModel 6 | { 7 | public CqSetGroupAnonymousActionParamsModel(long group_id, bool enable) 8 | { 9 | this.group_id = group_id; 10 | this.enable = enable; 11 | } 12 | 13 | public long group_id { get; } 14 | public bool enable { get; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqSetGroupAvatarActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 8 | { 9 | internal class CqSetGroupAvatarActionParamsModel : CqActionParamsModel 10 | { 11 | public CqSetGroupAvatarActionParamsModel(long group_id, string file, int cache) 12 | { 13 | this.group_id = group_id; 14 | this.file = file; 15 | this.cache = cache; 16 | } 17 | 18 | public long group_id { get; } 19 | public string file { get; } 20 | 21 | /// 22 | /// boolean to integer 23 | /// 24 | public int cache { get; } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqSetGroupNameActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 4 | { 5 | internal class CqSetGroupNameActionParamsModel : CqActionParamsModel 6 | { 7 | public CqSetGroupNameActionParamsModel(long group_id, string group_name) 8 | { 9 | this.group_id = group_id; 10 | this.group_name = group_name; 11 | } 12 | 13 | public long group_id { get; } 14 | public string group_name { get; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqSetGroupNicknameActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 4 | { 5 | internal class CqSetGroupNicknameActionParamsModel : CqActionParamsModel 6 | { 7 | public CqSetGroupNicknameActionParamsModel(long group_id, long user_id, string? card) 8 | { 9 | this.group_id = group_id; 10 | this.user_id = user_id; 11 | this.card = card; 12 | } 13 | 14 | public long group_id { get; } 15 | public long user_id { get; } 16 | public string? card { get; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqSetGroupSpecialTitleActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 4 | { 5 | internal class CqSetGroupSpecialTitleActionParamsModel : CqActionParamsModel 6 | { 7 | public CqSetGroupSpecialTitleActionParamsModel(long group_id, long user_id, string special_title, long duration) 8 | { 9 | this.group_id = group_id; 10 | this.user_id = user_id; 11 | this.special_title = special_title; 12 | this.duration = duration; 13 | } 14 | 15 | public long group_id { get; } 16 | public long user_id { get; } 17 | public string special_title { get; } 18 | public long duration { get; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqSetModelShowActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 2 | { 3 | internal class CqSetModelShowActionParamsModel : CqActionParamsModel 4 | { 5 | public CqSetModelShowActionParamsModel(string model, string? model_show) 6 | { 7 | this.model = model; 8 | this.model_show = model_show; 9 | } 10 | 11 | public string model { get; } 12 | public string? model_show { get; } 13 | } 14 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqUploadGroupFileActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | using System.Text.Json.Serialization; 4 | 5 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 6 | { 7 | internal class CqUploadGroupFileActionParamsModel : CqActionParamsModel 8 | { 9 | public CqUploadGroupFileActionParamsModel(long group_id, string file, string name, string? folder) 10 | { 11 | this.group_id = group_id; 12 | this.file = file; 13 | this.name = name; 14 | this.folder = folder; 15 | } 16 | 17 | public long group_id { get; } 18 | public string file { get; } = string.Empty; 19 | public string name { get; } = string.Empty; 20 | public string? folder { get; } = string.Empty; 21 | } 22 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/Params/CqUploadPrivateFileActionParamsModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable IDE1006 // Naming Styles 2 | 3 | 4 | namespace EleCho.GoCqHttpSdk.Action.Model.Params 5 | { 6 | internal class CqUploadPrivateFileActionParamsModel : CqActionParamsModel 7 | { 8 | public CqUploadPrivateFileActionParamsModel(long user_id, string file, string name) 9 | { 10 | this.user_id = user_id; 11 | this.file = file; 12 | this.name = name; 13 | } 14 | 15 | public long user_id { get; } 16 | public string file { get; } 17 | public string name { get; } 18 | } 19 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqBanGroupAllMembersActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.DataStructure.Model; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Text.Json.Serialization; 7 | using System.Threading.Tasks; 8 | 9 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 10 | { 11 | internal class CqBanGroupAllMembersActionResultDataModel : CqActionResultDataModel 12 | { 13 | // no data 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqBanGroupAnonymousMemberActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.DataStructure.Model; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Text.Json.Serialization; 7 | using System.Threading.Tasks; 8 | 9 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 10 | { 11 | internal class CqBanGroupAnonymousMemberActionResultDataModel : CqActionResultDataModel 12 | { 13 | // no data 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqBanGroupMemberActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 2 | { 3 | internal class CqBanGroupMemberActionResultDataModel : CqActionResultDataModel 4 | { 5 | // no data 6 | } 7 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqCanSendImageActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 4 | { 5 | internal class CqCanSendImageActionResultDataModel : CqActionResultDataModel 6 | { 7 | public bool yes { get; } 8 | 9 | [JsonConstructor] 10 | public CqCanSendImageActionResultDataModel(bool yes) 11 | { 12 | this.yes = yes; 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqCanSendRecordActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 4 | { 5 | internal class CqCanSendRecordActionResultDataModel : CqActionResultDataModel 6 | { 7 | public bool yes { get; } 8 | 9 | [JsonConstructor] 10 | public CqCanSendRecordActionResultDataModel(bool yes) 11 | { 12 | this.yes = yes; 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqCheckUrlSafetyActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Text.Json.Serialization; 6 | using System.Threading.Tasks; 7 | 8 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 9 | { 10 | internal class CqCheckUrlSafetyActionResultDataModel : CqActionResultDataModel 11 | { 12 | [JsonConstructor] 13 | public CqCheckUrlSafetyActionResultDataModel() 14 | { 15 | } 16 | 17 | public int level { get; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqCreateGroupFolderActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 2 | { 3 | internal class CqCreateGroupFolderActionResultDataModel : CqActionResultDataModel 4 | { 5 | // no data 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqDeleteEssenceMessageActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 8 | { 9 | internal class CqDeleteEssenceMessageActionResultDataModel : CqActionResultDataModel 10 | { 11 | // no data 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqDeleteFriendActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 8 | { 9 | internal class CqDeleteFriendActionResultDataModel : CqActionResultDataModel 10 | { 11 | // no data 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqDeleteGroupFileActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 2 | { 3 | internal class CqDeleteGroupFileActionResultDataModel : CqActionResultDataModel 4 | { 5 | // no data 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqDeleteGroupFolderActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 2 | { 3 | internal class CqDeleteGroupFolderActionResultDataModel : CqActionResultDataModel 4 | { 5 | // no data 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqDeleteUnidirectionalFriendActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 2 | { 3 | internal class CqDeleteUnidirectionalFriendActionResultDataModel : CqActionResultDataModel 4 | { 5 | // no data 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqDownloadFileActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Text.Json.Serialization; 6 | using System.Threading.Tasks; 7 | 8 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 9 | { 10 | internal class CqDownloadFileActionResultDataModel : CqActionResultDataModel 11 | { 12 | public string file { get; } 13 | 14 | [JsonConstructor] 15 | public CqDownloadFileActionResultDataModel(string file) 16 | { 17 | this.file = file; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqGetCookiesActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Text.Json.Serialization; 6 | using System.Threading.Tasks; 7 | 8 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 9 | { 10 | internal class CqGetCookiesActionResultDataModel : CqActionResultDataModel 11 | { 12 | [JsonConstructor] 13 | public CqGetCookiesActionResultDataModel(string cookies) 14 | { 15 | this.cookies = cookies; 16 | } 17 | 18 | public string cookies { get; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqGetCsrfTokenActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Text.Json.Serialization; 6 | using System.Threading.Tasks; 7 | 8 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 9 | { 10 | internal class CqGetCsrfTokenActionResultDataModel : CqActionResultDataModel 11 | { 12 | public int token { get; } 13 | 14 | [JsonConstructor] 15 | public CqGetCsrfTokenActionResultDataModel(int token) 16 | { 17 | this.token = token; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqGetForwardMessageActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.DataStructure.Model; 2 | using System.Text.Json.Serialization; 3 | 4 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 5 | { 6 | internal class CqGetForwardMessageActionResultDataModel : CqActionResultDataModel 7 | { 8 | [JsonConstructor] 9 | public CqGetForwardMessageActionResultDataModel(CqForwardMsgNodeDataModel[] messages) 10 | { 11 | this.messages = messages; 12 | } 13 | 14 | public CqForwardMsgNodeDataModel[] messages { get; } 15 | } 16 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqGetGroupFileSystemInformationActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 4 | { 5 | internal class CqGetGroupFileSystemInformationActionResultDataModel : CqActionResultDataModel 6 | { 7 | [JsonConstructor] 8 | public CqGetGroupFileSystemInformationActionResultDataModel(int file_count, int limit_count, long used_space, long total_space) 9 | { 10 | this.file_count = file_count; 11 | this.limit_count = limit_count; 12 | this.used_space = used_space; 13 | this.total_space = total_space; 14 | } 15 | 16 | public int file_count { get; } 17 | public int limit_count { get; } 18 | public long used_space { get; } 19 | public long total_space { get; } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqGetGroupFileUrlActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 4 | { 5 | internal class CqGetGroupFileUrlActionResultDataModel : CqActionResultDataModel 6 | { 7 | [JsonConstructor] 8 | public CqGetGroupFileUrlActionResultDataModel(string url) 9 | { 10 | this.url = url; 11 | } 12 | 13 | public string url { get; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqGetGroupFilesByFolderActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.DataStructure.Model; 2 | using System.Text.Json.Serialization; 3 | 4 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 5 | { 6 | internal class CqGetGroupFilesByFolderActionResultDataModel : CqActionResultDataModel 7 | { 8 | [JsonConstructor] 9 | public CqGetGroupFilesByFolderActionResultDataModel(CqGroupFileModel[] files, CqGroupFolderModel[] folders) 10 | { 11 | this.files = files; 12 | this.folders = folders; 13 | } 14 | 15 | public CqGroupFileModel[] files { get; } 16 | public CqGroupFolderModel[] folders { get; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqGetGroupRootFilesActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.DataStructure.Model; 2 | using System.Text.Json.Serialization; 3 | 4 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 5 | { 6 | internal class CqGetGroupRootFilesActionResultDataModel : CqActionResultDataModel 7 | { 8 | [JsonConstructor] 9 | public CqGetGroupRootFilesActionResultDataModel(CqGroupFileModel[] files, CqGroupFolderModel[] folders) 10 | { 11 | this.files = files; 12 | this.folders = folders; 13 | } 14 | 15 | public CqGroupFileModel[] files { get; } 16 | public CqGroupFolderModel[] folders { get; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqGetImageActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 4 | { 5 | internal class CqGetImageActionResultDataModel : CqActionResultDataModel 6 | { 7 | [JsonConstructor] 8 | public CqGetImageActionResultDataModel(int size, string filename, string url) 9 | { 10 | this.size = size; 11 | this.filename = filename; 12 | this.url = url; 13 | } 14 | 15 | public int size { get; } 16 | public string filename { get; } 17 | public string url { get; } 18 | } 19 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqGetLoginInformationActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Text.Json.Serialization; 6 | using System.Threading.Tasks; 7 | 8 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 9 | { 10 | internal class CqGetLoginInformationActionResultDataModel : CqActionResultDataModel 11 | { 12 | [JsonConstructor] 13 | public CqGetLoginInformationActionResultDataModel(long user_id, string nickname) 14 | { 15 | this.user_id = user_id; 16 | this.nickname = nickname; 17 | } 18 | 19 | public long user_id { get; } 20 | public string nickname { get; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqGetModelShowActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | using EleCho.GoCqHttpSdk.DataStructure.Model; 3 | 4 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 5 | { 6 | internal class CqGetModelShowActionResultDataModel : CqActionResultDataModel 7 | { 8 | [JsonConstructor] 9 | public CqGetModelShowActionResultDataModel(CqModelShowVariantModel[] variants) 10 | { 11 | this.variants = variants; 12 | } 13 | 14 | public CqModelShowVariantModel[] variants { get; } 15 | } 16 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqGetOnlineClientsActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.DataStructure.Model; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Text.Json.Serialization; 7 | using System.Threading.Tasks; 8 | 9 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 10 | { 11 | internal class CqGetOnlineClientsActionResultDataModel : CqActionResultDataModel 12 | { 13 | public CqDeviceModel[] clients { get; } 14 | 15 | [JsonConstructor] 16 | public CqGetOnlineClientsActionResultDataModel(CqDeviceModel[] clients) 17 | { 18 | this.clients = clients; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqGetWordSlicesActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 4 | { 5 | internal class CqGetWordSlicesActionResultDataModel : CqActionResultDataModel 6 | { 7 | public string[] slices { get; } 8 | 9 | [JsonConstructor] 10 | public CqGetWordSlicesActionResultDataModel(string[] slices) 11 | { 12 | this.slices = slices; 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqGroupSignInActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 8 | { 9 | internal class CqGroupSignInActionResultDataModel : CqActionResultDataModel 10 | { 11 | // no data 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqHandleFriendRequestActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 2 | { 3 | internal class CqHandleFriendRequestActionResultDataModel : CqActionResultDataModel 4 | { 5 | // no data 6 | } 7 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqHandleGroupRequestActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 2 | { 3 | internal class CqHandleGroupRequestActionResultDataModel : CqActionResultDataModel 4 | { 5 | // no data 6 | } 7 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqKickGroupMemberActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 2 | { 3 | internal class CqKickGroupMemberActionResultDataModel : CqActionResultDataModel 4 | { 5 | // no data 6 | } 7 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqLeaveGroupActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 8 | { 9 | internal class CqLeaveGroupActionResultDataModel : CqActionResultDataModel 10 | { 11 | // no data 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqMarkMessageAsReadActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 8 | { 9 | internal class CqMarkMessageAsReadActionResultDataModel : CqActionResultDataModel 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqOcrImageActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.DataStructure.Model; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 4 | { 5 | internal class CqOcrImageActionResultDataModel : CqActionResultDataModel 6 | { 7 | public CqOcrImageActionResultDataModel(CqTextDetectionModel[] texts, string language) 8 | { 9 | this.texts = texts; 10 | this.language = language; 11 | } 12 | 13 | public CqTextDetectionModel[] texts { get; } 14 | public string language { get; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqRecallMessageActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 2 | { 3 | internal class CqRecallMessageActionResultDataModel : CqActionResultDataModel 4 | { 5 | 6 | } 7 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqReloadEventFilterActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 2 | { 3 | internal class CqReloadEventFilterActionResultDataModel : CqActionResultDataModel 4 | { 5 | // no data 6 | } 7 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqSendGroupForwardMessageActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 4 | { 5 | internal class CqSendGroupForwardMessageActionResultDataModel : CqActionResultDataModel 6 | { 7 | [JsonConstructor] 8 | public CqSendGroupForwardMessageActionResultDataModel(long message_id, string forward_id) 9 | { 10 | this.message_id = message_id; 11 | this.forward_id = forward_id; 12 | } 13 | 14 | public long message_id { get; } 15 | public string forward_id { get; } 16 | } 17 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqSendGroupMessageActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 4 | { 5 | internal class CqSendGroupMessageActionResultDataModel : CqSendMessageActionResultDataModel 6 | { 7 | // 继承父类属性 8 | [JsonConstructor] 9 | public CqSendGroupMessageActionResultDataModel(long message_id) : base(message_id) 10 | { 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqSendMessageActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Message.DataModel; 2 | using EleCho.GoCqHttpSdk.Post; 3 | using System.Text.Json.Serialization; 4 | 5 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 6 | { 7 | /// 8 | /// 私聊消息和群聊消息的响应数据模型父类 9 | /// 10 | internal class CqSendMessageActionResultDataModel : CqActionResultDataModel 11 | { 12 | [JsonConstructor] 13 | public CqSendMessageActionResultDataModel(long message_id) 14 | { 15 | this.message_id = message_id; 16 | } 17 | 18 | public long message_id { get; } 19 | } 20 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqSendPrivateForwardMessageActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 4 | { 5 | internal class CqSendPrivateForwardMessageActionResultDataModel : CqActionResultDataModel 6 | { 7 | [JsonConstructor] 8 | public CqSendPrivateForwardMessageActionResultDataModel(long message_id, string forward_id) 9 | { 10 | this.message_id = message_id; 11 | this.forward_id = forward_id; 12 | } 13 | 14 | public long message_id { get; } 15 | public string forward_id { get; } 16 | } 17 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqSendPrivateMessageActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 4 | { 5 | internal class CqSendPrivateMessageActionResultDataModel : CqSendMessageActionResultDataModel 6 | { 7 | [JsonConstructor] 8 | public CqSendPrivateMessageActionResultDataModel(long message_id) : base(message_id) 9 | { 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqSetAccountProfileActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 8 | { 9 | internal class CqSetAccountProfileActionResultDataModel : CqActionResultDataModel 10 | { 11 | // no data 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqSetEssenceMessageActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 2 | { 3 | internal class CqSetEssenceMessageActionResultDataModel : CqActionResultDataModel 4 | { 5 | // no data 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqSetGroupAdministratorActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 8 | { 9 | internal class CqSetGroupAdministratorActionResultDataModel : CqActionResultDataModel 10 | { 11 | // no data 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqSetGroupAnonymousActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 8 | { 9 | internal class CqSetGroupAnonymousActionResultDataModel : CqActionResultDataModel 10 | { 11 | // no data 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqSetGroupAvatarActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 8 | { 9 | internal class CqSetGroupAvatarActionResultDataModel : CqActionResultDataModel 10 | { 11 | // no data, maybe? 12 | // TODO: check this 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqSetGroupNameActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 8 | { 9 | internal class CqSetGroupNameActionResultDataModel : CqActionResultDataModel 10 | { 11 | // no data 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqSetGroupNicknameActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 8 | { 9 | internal class CqSetGroupNicknameActionResultDataModel : CqActionResultDataModel 10 | { 11 | // no data 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqSetGroupSpecialTitleActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 8 | { 9 | internal class CqSetGroupSpecialTitleActionResultDataModel : CqActionResultDataModel 10 | { 11 | // no data 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqSetModelShowActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 2 | { 3 | internal class CqSetModelShowActionResultDataModel : CqActionResultDataModel 4 | { 5 | // no data 6 | } 7 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqUploadGroupFileActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 2 | { 3 | internal class CqUploadGroupFileActionResultDataModel : CqActionResultDataModel 4 | { 5 | // no data 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Model/ResultData/CqUploadPrivateFileActionResultDataModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Action.Model.ResultData 2 | { 3 | internal class CqUploadPrivateFileActionResultDataModel : CqActionResultDataModel 4 | { 5 | // no data 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqBanGroupAllMembersActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | using System; 3 | 4 | namespace EleCho.GoCqHttpSdk.Action 5 | { 6 | /// 7 | /// 8 | /// 9 | public record class CqBanGroupAllMembersActionResult : CqActionResult 10 | { 11 | internal CqBanGroupAllMembersActionResult() 12 | { } 13 | 14 | internal override void ReadDataModel(CqActionResultDataModel? model) 15 | { 16 | 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqBanGroupAnonymousMemberActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace EleCho.GoCqHttpSdk.Action 9 | { 10 | /// 11 | /// 12 | /// 13 | public record class CqBanGroupAnonymousMemberActionResult : CqActionResult 14 | { 15 | internal CqBanGroupAnonymousMemberActionResult() { } 16 | 17 | internal override void ReadDataModel(CqActionResultDataModel? model) 18 | { 19 | // no data 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqBanGroupMemberActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | using System; 3 | 4 | namespace EleCho.GoCqHttpSdk.Action 5 | { 6 | /// 7 | /// 8 | /// 9 | public record class CqBanGroupMemberActionResult : CqActionResult 10 | { 11 | internal CqBanGroupMemberActionResult() { } 12 | 13 | // no data 14 | 15 | internal override void ReadDataModel(CqActionResultDataModel? model) 16 | { 17 | 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqCanSendImageActionResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 3 | 4 | namespace EleCho.GoCqHttpSdk.Action 5 | { 6 | /// 7 | /// 判断能发送图片操作结果 8 | /// 9 | public record class CqCanSendImageActionResult : CqActionResult 10 | { 11 | internal CqCanSendImageActionResult() 12 | { } 13 | 14 | /// 15 | /// 是否 16 | /// 17 | public bool Yes { get; private set; } 18 | 19 | internal override void ReadDataModel(CqActionResultDataModel? model) 20 | { 21 | if (model is not CqCanSendImageActionResultDataModel _m) 22 | throw new Exception(); 23 | 24 | Yes = _m.yes; 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqCanSendRecordActionResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 3 | 4 | namespace EleCho.GoCqHttpSdk.Action 5 | { 6 | /// 7 | /// 判断能发送语音操作结果 8 | /// 9 | public record class CqCanSendRecordActionResult : CqActionResult 10 | { 11 | internal CqCanSendRecordActionResult() 12 | { } 13 | 14 | /// 15 | /// 是否 16 | /// 17 | public bool Yes { get; private set; } 18 | 19 | internal override void ReadDataModel(CqActionResultDataModel? model) 20 | { 21 | if (model is not CqCanSendRecordActionResultDataModel _m) 22 | throw new Exception(); 23 | 24 | Yes = _m.yes; 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqCheckUrlSafetyActionResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 3 | 4 | namespace EleCho.GoCqHttpSdk.Action 5 | { 6 | /// 7 | /// 8 | /// 9 | public record class CqCheckUrlSafetyActionResult : CqActionResult 10 | { 11 | internal CqCheckUrlSafetyActionResult() 12 | { 13 | } 14 | 15 | 16 | /// 17 | /// 安全等级 18 | /// 19 | public CqUrlSafetyLevel Level { get; private set; } 20 | 21 | internal override void ReadDataModel(CqActionResultDataModel? model) 22 | { 23 | if (model is not CqCheckUrlSafetyActionResultDataModel _m) 24 | throw new Exception(); 25 | 26 | Level = (CqUrlSafetyLevel)_m.level; 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqCreateGroupFolderActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 7 | /// 8 | public record class CqCreateGroupFolderActionResult : CqActionResult 9 | { 10 | internal CqCreateGroupFolderActionResult() 11 | { } 12 | 13 | internal override void ReadDataModel(CqActionResultDataModel? model) 14 | { 15 | 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqDeleteEssenceMessageActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 7 | /// 8 | public record class CqDeleteEssenceMessageActionResult : CqActionResult 9 | { 10 | internal CqDeleteEssenceMessageActionResult() 11 | { 12 | } 13 | 14 | internal override void ReadDataModel(CqActionResultDataModel? model) 15 | { 16 | // no data 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqDeleteFriendActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace EleCho.GoCqHttpSdk.Action 9 | { 10 | /// 11 | /// 12 | /// 13 | public record class CqDeleteFriendActionResult : CqActionResult 14 | { 15 | internal CqDeleteFriendActionResult() 16 | { 17 | } 18 | 19 | internal override void ReadDataModel(CqActionResultDataModel? model) 20 | { 21 | // no data 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqDeleteGroupFileActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 7 | /// 8 | public record class CqDeleteGroupFileActionResult : CqActionResult 9 | { 10 | internal CqDeleteGroupFileActionResult() 11 | { } 12 | 13 | internal override void ReadDataModel(CqActionResultDataModel? model) 14 | { 15 | 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqDeleteGroupFolderActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 7 | /// 8 | public record class CqDeleteGroupFolderActionResult : CqActionResult 9 | { 10 | internal CqDeleteGroupFolderActionResult() 11 | { } 12 | 13 | internal override void ReadDataModel(CqActionResultDataModel? model) 14 | { 15 | 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqDeleteUnidirectionalFriendActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 7 | /// 8 | public record class CqDeleteUnidirectionalFriendActionResult : CqActionResult 9 | { 10 | internal CqDeleteUnidirectionalFriendActionResult() 11 | { 12 | } 13 | 14 | internal override void ReadDataModel(CqActionResultDataModel? model) 15 | { 16 | // no data 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqDownloadFileActionResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 3 | 4 | namespace EleCho.GoCqHttpSdk.Action 5 | { 6 | /// 7 | /// 下载文件操作结果 8 | /// 9 | public record class CqDownloadFileActionResult : CqActionResult 10 | { 11 | internal CqDownloadFileActionResult() 12 | { 13 | } 14 | 15 | /// 16 | /// 文件 17 | /// 18 | public string File { get; private set; } = string.Empty; 19 | 20 | internal override void ReadDataModel(CqActionResultDataModel? model) 21 | { 22 | if (model is not CqDownloadFileActionResultDataModel _m) 23 | throw new Exception(); 24 | 25 | File = _m.file; 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqGetCookiesActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace EleCho.GoCqHttpSdk.Action 9 | { 10 | /// 11 | /// 获取 Cookies 操作结果 12 | /// 13 | public record class CqGetCookiesActionResult : CqActionResult 14 | { 15 | internal CqGetCookiesActionResult() 16 | { 17 | } 18 | 19 | /// 20 | /// Cookies 值 21 | /// 22 | public string Cookies { get; private set; } = string.Empty; 23 | 24 | internal override void ReadDataModel(CqActionResultDataModel? model) 25 | { 26 | if (model is not CqGetCookiesActionResultDataModel _m) 27 | throw new Exception(); 28 | 29 | Cookies = _m.cookies; 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqGetCsrfTokenActionResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 3 | 4 | namespace EleCho.GoCqHttpSdk.Action 5 | { 6 | /// 7 | /// 获取 CSRF 令牌操作结果 8 | /// 9 | public record class CqGetCsrfTokenActionResult : CqActionResult 10 | { 11 | internal CqGetCsrfTokenActionResult() 12 | { 13 | } 14 | 15 | /// 16 | /// 令牌 17 | /// 18 | public int Token { get; private set; } 19 | 20 | internal override void ReadDataModel(CqActionResultDataModel? model) 21 | { 22 | if (model is not CqGetCsrfTokenActionResultDataModel _m) 23 | throw new Exception(); 24 | 25 | Token = _m.token; 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqGetGroupFileUrlActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | using System; 3 | 4 | namespace EleCho.GoCqHttpSdk.Action 5 | { 6 | /// 7 | /// 获取群文件链接操作结果 8 | /// 9 | public record class CqGetGroupFileUrlActionResult : CqActionResult 10 | { 11 | internal CqGetGroupFileUrlActionResult() { } 12 | 13 | /// 14 | /// 文件链接 15 | /// 16 | public string Url { get; private set; } = string.Empty; 17 | 18 | internal override void ReadDataModel(CqActionResultDataModel? model) 19 | { 20 | if (model is not CqGetGroupFileUrlActionResultDataModel _m) 21 | throw new InvalidOperationException(); 22 | 23 | Url = _m.url; 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqGetModelShowActionResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 3 | 4 | namespace EleCho.GoCqHttpSdk.Action 5 | { 6 | /// 7 | /// 获取机型显示操作结果 8 | /// 9 | public record class CqGetModelShowActionResult : CqActionResult 10 | { 11 | internal CqGetModelShowActionResult() 12 | { 13 | Variants = Array.Empty(); 14 | } 15 | 16 | /// 17 | /// 机型可用变体 18 | /// 19 | public CqModelShowVariant[] Variants { get; private set; } 20 | 21 | internal override void ReadDataModel(CqActionResultDataModel? model) 22 | { 23 | if (model is not CqGetModelShowActionResultDataModel _m) 24 | throw new Exception(); 25 | 26 | Variants = Array.ConvertAll(_m.variants, variantmodel => new CqModelShowVariant(variantmodel)); 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqGetOnlineClientsActionResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 3 | 4 | namespace EleCho.GoCqHttpSdk.Action 5 | { 6 | /// 7 | /// 获取在线客户端操作结果 8 | /// 9 | public record class CqGetOnlineClientsActionResult : CqActionResult 10 | { 11 | internal CqGetOnlineClientsActionResult() 12 | { } 13 | 14 | /// 15 | /// 客户端 16 | /// 17 | public CqDevice[] Clients { get; private set; } = Array.Empty(); 18 | internal override void ReadDataModel(CqActionResultDataModel? model) 19 | { 20 | if (model is not CqGetOnlineClientsActionResultDataModel _m) 21 | throw new Exception(); 22 | 23 | Clients = Array.ConvertAll(_m.clients, m => new CqDevice(m)); 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqGetWordSlicesActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | using System; 3 | 4 | namespace EleCho.GoCqHttpSdk.Action 5 | { 6 | /// 7 | /// 获取分词操作结果 8 | /// 9 | public record class CqGetWordSlicesActionResult : CqActionResult 10 | { 11 | 12 | internal CqGetWordSlicesActionResult() { } 13 | 14 | /// 15 | /// 分词 16 | /// 17 | public string[] Slices { get; private set; } = Array.Empty(); 18 | 19 | internal override void ReadDataModel(CqActionResultDataModel? model) 20 | { 21 | if (model is not CqGetWordSlicesActionResultDataModel _m) 22 | throw new InvalidOperationException(); 23 | 24 | Slices = _m.slices; 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqGroupSignInActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace EleCho.GoCqHttpSdk.Action 9 | { 10 | /// 11 | /// 群签到操作结果 12 | /// 13 | public record class CqGroupSignInActionResult : CqActionResult 14 | { 15 | internal CqGroupSignInActionResult() { } 16 | 17 | internal override void ReadDataModel(CqActionResultDataModel? model) 18 | { 19 | // no data 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqHandleFriendRequestActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 处理好友请求操作结果 7 | /// 8 | public record class CqHandleFriendRequestActionResult : CqActionResult 9 | { 10 | internal CqHandleFriendRequestActionResult() { } 11 | 12 | // no data 13 | 14 | internal override void ReadDataModel(CqActionResultDataModel? model) 15 | { 16 | 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqHandleGroupRequestActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 处理群请求操作结果 7 | /// 8 | public record class CqHandleGroupRequestActionResult : CqActionResult 9 | { 10 | internal CqHandleGroupRequestActionResult() { } 11 | 12 | internal override void ReadDataModel(CqActionResultDataModel? model) 13 | { 14 | 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqKickGroupMemberActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 踢出群成员操作结果 7 | /// 8 | public record class CqKickGroupMemberActionResult : CqActionResult 9 | { 10 | internal CqKickGroupMemberActionResult() { } 11 | 12 | internal override void ReadDataModel(CqActionResultDataModel? model) 13 | { 14 | // no data 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqLeaveGroupActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace EleCho.GoCqHttpSdk.Action 9 | { 10 | /// 11 | /// 退群操作结果 12 | /// 13 | public record class CqLeaveGroupActionResult : CqActionResult 14 | { 15 | internal CqLeaveGroupActionResult() 16 | { 17 | } 18 | 19 | internal override void ReadDataModel(CqActionResultDataModel? model) 20 | { 21 | // no data 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqMarkMessageAsReadActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 标记消息已读操作结果 7 | /// 8 | public record class CqMarkMessageAsReadActionResult : CqActionResult 9 | { 10 | internal CqMarkMessageAsReadActionResult() 11 | { 12 | } 13 | 14 | internal override void ReadDataModel(CqActionResultDataModel? model) 15 | { 16 | // pass 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqRecallMessageActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 撤回消息操作结果 7 | /// 8 | public record class CqRecallMessageActionResult : CqActionResult 9 | { 10 | internal CqRecallMessageActionResult() 11 | { 12 | } 13 | 14 | internal override void ReadDataModel(CqActionResultDataModel? model) 15 | { } 16 | } 17 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqReloadEventFilterActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 重载事件过滤器操作结果 7 | /// 8 | public record class CqReloadEventFilterActionResult : CqActionResult 9 | { 10 | internal CqReloadEventFilterActionResult() 11 | { 12 | } 13 | 14 | internal override void ReadDataModel(CqActionResultDataModel? model) 15 | { 16 | // no data 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqSendGroupMessageActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 发送群消息操作结果 7 | /// 8 | public record class CqSendGroupMessageActionResult : CqSendMessageActionResult 9 | { 10 | internal CqSendGroupMessageActionResult() 11 | { 12 | } 13 | 14 | internal override void ReadDataModel(CqActionResultDataModel? model) 15 | { 16 | base.ReadDataModel(model); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqSendMessageActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 发送消息操作结果 7 | /// 8 | public record class CqSendMessageActionResult : CqActionResult 9 | { 10 | internal CqSendMessageActionResult() { } 11 | 12 | /// 13 | /// 消息 ID 14 | /// 15 | public long MessageId { get; private set; } 16 | 17 | internal override void ReadDataModel(CqActionResultDataModel? model) 18 | { 19 | if (model is CqSendMessageActionResultDataModel dataModel) 20 | { 21 | MessageId = dataModel.message_id; 22 | } 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqSendPrivateMessageActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 发送私聊消息操作结果 7 | /// 8 | public record class CqSendPrivateMessageActionResult : CqSendMessageActionResult 9 | { 10 | internal CqSendPrivateMessageActionResult() 11 | { 12 | } 13 | 14 | internal override void ReadDataModel(CqActionResultDataModel? model) 15 | { 16 | base.ReadDataModel(model); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqSetAccountProfileActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 设置账号资料操作结果 7 | /// 8 | public record class CqSetAccountProfileActionResult : CqActionResult 9 | { 10 | internal CqSetAccountProfileActionResult() 11 | { 12 | } 13 | 14 | internal override void ReadDataModel(CqActionResultDataModel? model) 15 | { 16 | // no data 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqSetEssenceMessageActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 设置精华消息操作结果 7 | /// 8 | public record class CqSetEssenceMessageActionResult : CqActionResult 9 | { 10 | internal CqSetEssenceMessageActionResult() 11 | { 12 | } 13 | 14 | internal override void ReadDataModel(CqActionResultDataModel? model) 15 | { 16 | // no data 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqSetGroupAdministratorActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace EleCho.GoCqHttpSdk.Action 9 | { 10 | /// 11 | /// 设置群管理员操作结果 12 | /// 13 | public record class CqSetGroupAdministratorActionResult : CqActionResult 14 | { 15 | internal CqSetGroupAdministratorActionResult() { } 16 | 17 | internal override void ReadDataModel(CqActionResultDataModel? model) 18 | { 19 | // no data 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqSetGroupAnonymousActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 设置群匿名操作结果 7 | /// 8 | public record class CqSetGroupAnonymousActionResult : CqActionResult 9 | { 10 | internal CqSetGroupAnonymousActionResult() { } 11 | 12 | internal override void ReadDataModel(CqActionResultDataModel? model) 13 | { 14 | // no data 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqSetGroupAvatarActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace EleCho.GoCqHttpSdk.Action 9 | { 10 | /// 11 | /// 设置群头像操作结果 12 | /// 13 | public record class CqSetGroupAvatarActionResult : CqActionResult 14 | { 15 | internal CqSetGroupAvatarActionResult() 16 | { 17 | } 18 | 19 | internal override void ReadDataModel(CqActionResultDataModel? model) 20 | { 21 | // todo: check this 22 | // no data? 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqSetGroupNameActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace EleCho.GoCqHttpSdk.Action 9 | { 10 | /// 11 | /// 设置群名操作结果 12 | /// 13 | public record class CqSetGroupNameActionResult : CqActionResult 14 | { 15 | internal CqSetGroupNameActionResult() { } 16 | 17 | internal override void ReadDataModel(CqActionResultDataModel? model) 18 | { 19 | // no data 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqSetGroupNicknameActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace EleCho.GoCqHttpSdk.Action 9 | { 10 | /// 11 | /// 设置群昵称操作结果 12 | /// 13 | public record class CqSetGroupNicknameActionResult : CqActionResult 14 | { 15 | internal CqSetGroupNicknameActionResult() { } 16 | 17 | internal override void ReadDataModel(CqActionResultDataModel? model) 18 | { 19 | // no data 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqSetGroupSpecialTitleActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 设置群荣誉操作结果 7 | /// 8 | public record class CqSetGroupSpecialTitleActionResult : CqActionResult 9 | { 10 | internal CqSetGroupSpecialTitleActionResult() { } 11 | 12 | internal override void ReadDataModel(CqActionResultDataModel? model) 13 | { 14 | // no data 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqSetModelShowActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 设置显示机型操作结果 7 | /// 8 | public record class CqSetModelShowActionResult : CqActionResult 9 | { 10 | internal CqSetModelShowActionResult() 11 | { 12 | } 13 | 14 | internal override void ReadDataModel(CqActionResultDataModel? model) 15 | { 16 | // no data 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqUploadGroupFileActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 7 | /// 8 | public record class CqUploadGroupFileActionResult : CqActionResult 9 | { 10 | internal CqUploadGroupFileActionResult() 11 | { } 12 | 13 | internal override void ReadDataModel(CqActionResultDataModel? model) 14 | { 15 | 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Action/Result/CqUploadPrivateFileActionResult.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action.Model.ResultData; 2 | 3 | namespace EleCho.GoCqHttpSdk.Action 4 | { 5 | /// 6 | /// 7 | /// 8 | public record class CqUploadPrivateFileActionResult : CqActionResult 9 | { 10 | internal CqUploadPrivateFileActionResult() 11 | { } 12 | 13 | internal override void ReadDataModel(CqActionResultDataModel? model) 14 | { 15 | 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/CqActionSender.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Action; 2 | using EleCho.GoCqHttpSdk.Post; 3 | using EleCho.GoCqHttpSdk.Post.Model; 4 | using System.Threading.Tasks; 5 | 6 | namespace EleCho.GoCqHttpSdk 7 | { 8 | /// 9 | /// 用于发送 CqAction 的抽象类 10 | /// 11 | public abstract class CqActionSender 12 | { 13 | /// 14 | /// 发送一个 CqAction 15 | /// 16 | /// 要发送的 Action 17 | /// 返回结果 18 | public abstract Task InvokeActionAsync(CqAction action); 19 | 20 | /// 21 | /// 处理一个 "快速操作" 22 | /// 23 | /// 上报上下文 24 | /// 上报模型 25 | /// 26 | internal abstract Task HandleQuickAction(CqPostContext context, CqPostModel postModel); 27 | } 28 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/CqHttpSessionOptions.cs: -------------------------------------------------------------------------------- 1 |  using System; 2 | 3 | namespace EleCho.GoCqHttpSdk 4 | { 5 | /// 6 | /// HTTP 会话选项 7 | /// 8 | public struct CqHttpSessionOptions 9 | { 10 | /// 11 | /// 基地址 12 | /// 13 | public Uri BaseUri { get; set; } 14 | 15 | /// 16 | /// 访问令牌 17 | /// 18 | public string? AccessToken { get; set; } 19 | } 20 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/CqPostMiddleware.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Message; 2 | using EleCho.GoCqHttpSdk.Post; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace EleCho.GoCqHttpSdk 10 | { 11 | /// 12 | /// 上报中间件 13 | /// 14 | public abstract class CqPostMiddleware 15 | { 16 | /// 17 | /// 执行 18 | /// 19 | /// 20 | /// 21 | /// 22 | public abstract Task Execute(CqPostContext context, Func next); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/CqRHttpSessionOptions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace EleCho.GoCqHttpSdk 4 | { 5 | /// 6 | /// 反向 HTTP 会话选项 7 | /// 8 | public struct CqRHttpSessionOptions 9 | { 10 | /// 11 | /// 基地址 12 | /// 13 | public Uri? BaseUri { get; set; } 14 | 15 | /// 16 | /// 密钥 17 | /// 18 | public string? Secret { get; set; } 19 | } 20 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/CqSession.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | 5 | namespace EleCho.GoCqHttpSdk 6 | { 7 | /// 8 | /// 表示一个 Go-CqHttp 会话 (抽象基类) 9 | /// 10 | public abstract class CqSession 11 | { 12 | } 13 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/DataStructure/CqFriend.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.DataStructure.Model; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace EleCho.GoCqHttpSdk 9 | { 10 | /// 11 | /// 好友信息 12 | /// 13 | public record class CqFriend 14 | { 15 | internal CqFriend(CqFriendModel model) 16 | { 17 | UserId = model.user_id; 18 | Nickname = model.nickname; 19 | Remark = model.remark; 20 | } 21 | 22 | /// 23 | /// 用户 QQ 24 | /// 25 | public long UserId { get; } 26 | 27 | /// 28 | /// 昵称 29 | /// 30 | public string Nickname { get; } 31 | 32 | /// 33 | /// 备注 34 | /// 35 | public string Remark { get; } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/DataStructure/CqTextDetection.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.DataStructure.Model; 2 | using System.Numerics; 3 | 4 | namespace EleCho.GoCqHttpSdk 5 | { 6 | /// 7 | /// 文本识别 8 | /// 9 | public record class CqTextDetection 10 | { 11 | /// 12 | /// 文本 13 | /// 14 | public string Text { get; } = string.Empty; 15 | 16 | /// 17 | /// 置信度 18 | /// 19 | public int Confidence { get; } 20 | 21 | /// 22 | /// 坐标 23 | /// 24 | public Vector2[] Coordinates { get; } 25 | 26 | internal CqTextDetection(CqTextDetectionModel model) 27 | { 28 | Text = model.text; 29 | Confidence = model.confidence; 30 | Coordinates = model.coordinates; 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/DataStructure/Model/CqAnonymousInformationModel.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | #pragma warning disable IDE1006 // Naming Styles 4 | 5 | namespace EleCho.GoCqHttpSdk.DataStructure.Model 6 | { 7 | internal record class CqAnonymousInformationModel 8 | { 9 | public CqAnonymousInformationModel(CqAnonymousInfomation srcData) 10 | { 11 | id = srcData.Id; 12 | name = srcData.Name; 13 | flag = srcData.Flag; 14 | } 15 | 16 | [JsonConstructor] 17 | public CqAnonymousInformationModel(long id, string name, string flag) 18 | { 19 | this.id = id; 20 | this.name = name; 21 | this.flag = flag; 22 | } 23 | 24 | public long id { get; set; } 25 | public string name { get; set; } 26 | public string flag { get; set; } 27 | } 28 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/DataStructure/Model/CqCurrentTalkativeModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Text.Json.Serialization; 6 | using System.Threading.Tasks; 7 | 8 | namespace EleCho.GoCqHttpSdk.DataStructure.Model 9 | { 10 | internal record class CqCurrentTalkativeModel 11 | { 12 | [JsonConstructor] 13 | public CqCurrentTalkativeModel(long user_id, string nickname, string avatar, int day_count) 14 | { 15 | this.user_id = user_id; 16 | this.nickname = nickname; 17 | this.avatar = avatar; 18 | this.day_count = day_count; 19 | } 20 | 21 | public long user_id { get; set; } 22 | public string nickname { get; set; } = string.Empty; 23 | public string avatar { get; set; } = string.Empty; 24 | public int day_count { get; set; } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/DataStructure/Model/CqDeviceModel.cs: -------------------------------------------------------------------------------- 1 | using System.Numerics; 2 | using System.Text.Json.Serialization; 3 | 4 | #pragma warning disable IDE1006 // Naming Styles 5 | 6 | namespace EleCho.GoCqHttpSdk.DataStructure.Model 7 | { 8 | internal record class CqDeviceModel 9 | { 10 | public CqDeviceModel(CqDevice srcData) 11 | { 12 | app_id = srcData.AppId; 13 | device_name = srcData.DeviceName; 14 | device_kind = srcData.DeviceKind; 15 | } 16 | 17 | [JsonConstructor] 18 | public CqDeviceModel(long app_id, string device_name, string device_kind) 19 | { 20 | this.app_id = app_id; 21 | this.device_name = device_name; 22 | this.device_kind = device_kind; 23 | } 24 | 25 | public long app_id { get; set; } 26 | public string device_name { get; set; } 27 | public string device_kind { get; set; } 28 | } 29 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/DataStructure/Model/CqFriendModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | #pragma warning disable IDE1006 // Naming Styles 8 | 9 | namespace EleCho.GoCqHttpSdk.DataStructure.Model 10 | { 11 | internal record class CqFriendModel 12 | { 13 | public CqFriendModel(long user_id, string nickname, string remark) 14 | { 15 | this.user_id = user_id; 16 | this.nickname = nickname; 17 | this.remark = remark; 18 | } 19 | 20 | public long user_id { get; } 21 | public string nickname { get; } 22 | public string remark { get; } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/DataStructure/Model/CqGroupHonorOwnerModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Text.Json.Serialization; 6 | using System.Threading.Tasks; 7 | 8 | namespace EleCho.GoCqHttpSdk.DataStructure.Model 9 | { 10 | internal record class CqGroupHonorOwnerModel 11 | { 12 | [JsonConstructor] 13 | public CqGroupHonorOwnerModel(long user_id, string nickname, string avatar, string description) 14 | { 15 | this.user_id = user_id; 16 | this.nickname = nickname; 17 | this.avatar = avatar; 18 | this.description = description; 19 | } 20 | 21 | public long user_id { get; } 22 | public string nickname { get; } = string.Empty; 23 | public string avatar { get; } = string.Empty; 24 | public string description { get; } = string.Empty; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/DataStructure/Model/CqGroupUploadedFileModel.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | #pragma warning disable IDE1006 // Naming Styles 4 | 5 | namespace EleCho.GoCqHttpSdk.DataStructure.Model 6 | { 7 | internal record class CqGroupUploadedFileModel 8 | { 9 | [JsonConstructor] 10 | public CqGroupUploadedFileModel(string id, string name, long size, long busid) 11 | { 12 | this.id = id; 13 | this.name = name; 14 | this.size = size; 15 | this.busid = busid; 16 | } 17 | 18 | public string id { get; } 19 | public string name { get; } 20 | public long size { get; } 21 | public long busid { get; } 22 | } 23 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/DataStructure/Model/CqMessageSenderModel.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace EleCho.GoCqHttpSdk.DataStructure.Model 4 | { 5 | internal record class CqMessageSenderModel 6 | { 7 | public CqMessageSenderModel(CqMessageSender srcData) 8 | { 9 | user_id = srcData.UserId; 10 | nickname = srcData.Nickname; 11 | sex = CqEnum.GetString(srcData.Gender) ?? string.Empty; 12 | age = srcData.Age; 13 | } 14 | 15 | [JsonConstructor] 16 | public CqMessageSenderModel(long user_id, string nickname, string sex, int age) 17 | { 18 | this.user_id = user_id; 19 | this.nickname = nickname; 20 | this.sex = sex; 21 | this.age = age; 22 | } 23 | 24 | public long user_id { get; } 25 | public string nickname { get; } 26 | public string sex { get; } 27 | public int age { get; } 28 | } 29 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/DataStructure/Model/CqModelShowVariantModel.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | #pragma warning disable IDE1006 // Naming Styles 4 | 5 | namespace EleCho.GoCqHttpSdk.DataStructure.Model 6 | { 7 | internal class CqModelShowVariantModel 8 | { 9 | public CqModelShowVariantModel(CqModelShowVariant srcData) 10 | { 11 | model_show = srcData.ModelShow; 12 | need_pay = srcData.NeedPay; 13 | } 14 | 15 | [JsonConstructor] 16 | public CqModelShowVariantModel(string model_show, bool need_pay) 17 | { 18 | this.model_show = model_show; 19 | this.need_pay = need_pay; 20 | } 21 | public string model_show { get; set; } 22 | public bool need_pay { get; set; } 23 | } 24 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/DataStructure/Model/CqOfflineFileModel.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace EleCho.GoCqHttpSdk.DataStructure.Model 4 | { 5 | internal record class CqOfflineFileModel 6 | { 7 | [JsonConstructor] 8 | public CqOfflineFileModel(string name, long size, string url) 9 | { 10 | this.name = name; 11 | this.size = size; 12 | this.url = url; 13 | } 14 | 15 | public string name { get; } 16 | public long size { get; } 17 | public string url { get; } 18 | } 19 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/DataStructure/Model/CqTextDetectionModel.cs: -------------------------------------------------------------------------------- 1 | using System.Numerics; 2 | using System.Text.Json.Serialization; 3 | 4 | #pragma warning disable IDE1006 // Naming Styles 5 | 6 | namespace EleCho.GoCqHttpSdk.DataStructure.Model 7 | { 8 | internal record class CqTextDetectionModel 9 | { 10 | [JsonConstructor] 11 | public CqTextDetectionModel(string text, int confidence, Vector2[] coordinates) 12 | { 13 | this.text = text; 14 | this.confidence = confidence; 15 | this.coordinates = coordinates; 16 | } 17 | 18 | public string text { get; set; } 19 | public int confidence { get; set; } 20 | public Vector2[] coordinates { get; set; } 21 | } 22 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqContactType.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// 联系人类型 5 | /// 6 | public enum CqContactType 7 | { 8 | /// 9 | /// 个人 10 | /// 11 | Person, 12 | 13 | /// 14 | /// 群聊 15 | /// 16 | Group, 17 | 18 | /// 19 | /// 未知 20 | /// 21 | Unknown = -1 22 | } 23 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqEssenceChangeType.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// 精华消息变更类型 5 | /// 6 | public enum CqEssenceChangeType 7 | { 8 | /// 9 | /// 添加 10 | /// 11 | Add, 12 | 13 | /// 14 | /// 删除 15 | /// 16 | Delete, 17 | 18 | /// 19 | /// 未知 20 | /// 21 | Unknown = -1 22 | } 23 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqEventType.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// 上报类型 5 | /// 6 | public enum CqPostType 7 | { 8 | /// 9 | /// 元事件 10 | /// 11 | MetaEvent, 12 | 13 | /// 14 | /// 请求 15 | /// 16 | Request, 17 | 18 | /// 19 | /// 消息 20 | /// 21 | Message, 22 | 23 | /// 24 | /// 通知 25 | /// 26 | Notice, 27 | } 28 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqGender.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// 性别 5 | /// 6 | public enum CqGender 7 | { 8 | /// 9 | /// 雄性 10 | /// 11 | Male, 12 | 13 | /// 14 | /// 雌性 15 | /// 16 | Female, 17 | 18 | /// 19 | /// 未知 / 其他 20 | /// 21 | Unknown 22 | } 23 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqGroupAdminChangeType.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// 管理员变更类型 5 | /// 6 | public enum CqGroupAdminChangeType 7 | { 8 | /// 9 | /// 设置 10 | /// 11 | Set, 12 | 13 | /// 14 | /// 取消设置 15 | /// 16 | UnSet, 17 | 18 | /// 19 | /// 未知 20 | /// 21 | Unknown = -1 22 | } 23 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqGroupBanChangeType.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// 群禁言变更类型 5 | /// 6 | public enum CqGroupBanChangeType 7 | { 8 | /// 9 | /// 禁言 10 | /// 11 | Ban, 12 | 13 | /// 14 | /// 取消禁言 15 | /// 16 | LiftBan, 17 | 18 | /// 19 | /// 未知 20 | /// 21 | Unknown = -1 22 | } 23 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqGroupDecreaseChangeType.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// 群成员减少的变更类型 5 | /// 6 | public enum CqGroupDecreaseChangeType 7 | { 8 | /// 9 | /// 踢出 10 | /// 11 | Kick, 12 | 13 | /// 14 | /// 退群 15 | /// 16 | Leave, 17 | 18 | /// 19 | /// 自己被踢出 20 | /// 21 | KickMe, 22 | 23 | /// 24 | /// 未知 25 | /// 26 | Unknown = -1 27 | } 28 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqGroupIncreaseChangeType.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// 群成员增加的变更类型 5 | /// 6 | public enum CqGroupIncreaseChangeType 7 | { 8 | /// 9 | /// 同意 10 | /// 11 | Approve, 12 | 13 | /// 14 | /// 邀请 15 | /// 16 | Invite, 17 | 18 | /// 19 | /// 未知 20 | /// 21 | Unknown = -1 22 | } 23 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqHonorType.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// 群荣誉类型 5 | /// 6 | public enum CqHonorType 7 | { 8 | /// 9 | /// 龙王 10 | /// 11 | TalkAtive, 12 | 13 | /// 14 | /// 群聊之火 15 | /// 16 | Performer, 17 | 18 | /// 19 | /// 快乐源泉 20 | /// 21 | Emotion, 22 | 23 | /// 24 | /// 未知 25 | /// 26 | Unknown = -1 27 | } 28 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqImageEffect.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 2 | 3 | 4 | namespace EleCho.GoCqHttpSdk 5 | { 6 | /// 7 | /// 图片效果 8 | /// 9 | public enum CqImageEffect 10 | { 11 | /// 12 | /// 普通 13 | /// 14 | Normal = 40000, 15 | 16 | /// 17 | /// 幻影 18 | /// 19 | Phantom = 40001, 20 | 21 | /// 22 | /// 抖动 23 | /// 24 | Shake = 40002, 25 | 26 | /// 27 | /// 生日 28 | /// 29 | Brithday = 40003, 30 | 31 | /// 32 | /// 爱你 33 | /// 34 | LoveYou = 40004, 35 | 36 | /// 37 | /// 交友 38 | /// 39 | MakeFriend = 40005 40 | } 41 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqImageType.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 2 | 3 | 4 | namespace EleCho.GoCqHttpSdk 5 | { 6 | /// 7 | /// 图片子类型 8 | /// 9 | public enum CqImageType 10 | { 11 | /// 12 | /// 普通图片 13 | /// 14 | Normal, 15 | /// 16 | /// 闪照 17 | /// 18 | Flash, 19 | 20 | /// 21 | /// 秀图 22 | /// 23 | Show, 24 | 25 | /// 26 | /// 未知 27 | /// 28 | Unknown = -1 29 | } 30 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqLifecycleType.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// 生命周期类型 5 | /// 6 | public enum CqLifecycleType 7 | { 8 | /// 9 | /// 启用 10 | /// 11 | Enable, 12 | 13 | /// 14 | /// 禁用 15 | /// 16 | Disable, 17 | 18 | /// 19 | /// 连接 20 | /// 21 | Connect, 22 | 23 | /// 24 | /// 未知 25 | /// 26 | Unknown = -1 27 | } 28 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqMessageGroupType.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// 群消息类型 5 | /// 6 | public enum CqMessageGroupType 7 | { 8 | /// 9 | /// 未知 10 | /// 11 | Unknown, 12 | 13 | /// 14 | /// 普通 15 | /// 16 | Normal, 17 | 18 | /// 19 | /// 匿名 20 | /// 21 | Anonymous, 22 | 23 | /// 24 | /// 通知 25 | /// 26 | Notice 27 | } 28 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqMessageType.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// 消息类型 5 | /// 6 | public enum CqMessageType 7 | { 8 | /// 9 | /// 私聊 10 | /// 11 | Private, 12 | 13 | /// 14 | /// 群聊 15 | /// 16 | Group, 17 | 18 | /// 19 | /// 未知 20 | /// 21 | Unknown = -1 22 | } 23 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqMetaEventType.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// 元事件类型 5 | /// 6 | public enum CqMetaEventType 7 | { 8 | /// 9 | /// 生命周期 10 | /// 11 | Lifecycle, 12 | 13 | /// 14 | /// 心跳包 15 | /// 16 | Heartbeat 17 | } 18 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqMusicType.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// 音乐类型 5 | /// 6 | public enum CqMusicType 7 | { 8 | /// 9 | /// 未知 10 | /// 11 | Unknown = 0, 12 | 13 | /// 14 | /// QQ 音乐 15 | /// 16 | QQ, 17 | 18 | /// 19 | /// 网易云音乐 20 | /// 21 | Netease, 22 | 23 | /// 24 | /// 虾米音乐 25 | /// 26 | XiaMi, 27 | 28 | /// 29 | /// 自定义 30 | /// 31 | Custom, 32 | } 33 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqNotifyType.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// 群通知类型 5 | /// 6 | public enum CqNotifyType 7 | { 8 | /// 9 | /// 拍一拍 10 | /// 11 | Poke, 12 | 13 | /// 14 | /// 红包幸运王 15 | /// 16 | LuckyKing, 17 | 18 | /// 19 | /// 群荣誉 20 | /// 21 | Honor, 22 | 23 | /// 24 | /// 群名片 25 | /// 26 | Title 27 | } 28 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqPrivateMessageType.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// 私聊消息类型 5 | /// 6 | public enum CqPrivateMessageType 7 | { 8 | /// 9 | /// 好友 10 | /// 11 | Friend, 12 | 13 | /// 14 | /// 群 15 | /// 16 | Group, 17 | 18 | /// 19 | /// 群自身发送 20 | /// 21 | GroupSelf, 22 | 23 | /// 24 | /// 其他 25 | /// 26 | Other, 27 | 28 | /// 29 | /// 未知 30 | /// 31 | Unknown, 32 | } 33 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqRequestGroupType.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// 群请求类型 5 | /// 6 | public enum CqGroupRequestType 7 | { 8 | /// 9 | /// 加群 10 | /// 11 | Add = 0, 12 | 13 | /// 14 | /// 邀请群 15 | /// 16 | Invite, 17 | 18 | /// 19 | /// 未知 20 | /// 21 | Unknown = -1, 22 | } 23 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqRequestType.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// 请求类型 5 | /// 6 | public enum CqRequestType 7 | { 8 | /// 9 | /// 好友 10 | /// 11 | Friend, 12 | 13 | /// 14 | /// 群 15 | /// 16 | Group 17 | } 18 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqRole.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// 角色 5 | /// 6 | public enum CqRole 7 | { 8 | /// 9 | /// 成员 10 | /// 11 | Member = 0b0000, 12 | 13 | /// 14 | /// 管理员 (群管理员) 15 | /// 16 | Admin = 0b0001, 17 | 18 | /// 19 | /// 所有者 (群主) 20 | /// 21 | Owner = 0b0011, 22 | 23 | /// 24 | /// 未知 25 | /// 26 | Unknown = -1 27 | } 28 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Enumeration/CqUrlSafetyLevel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// URL 安全等级 5 | /// 6 | public enum CqUrlSafetyLevel 7 | { 8 | /// 9 | /// 安全 10 | /// 11 | Safe = 1, 12 | 13 | /// 14 | /// 未知 15 | /// 16 | Unknown = 2, 17 | 18 | /// 19 | /// 危险 20 | /// 21 | Dangerous = 3 22 | } 23 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/ICqActionSession.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// 可发送 Action 的 Session 5 | /// 6 | public interface ICqActionSession 7 | { 8 | /// 9 | /// 操作发送 10 | /// 11 | CqActionSender ActionSender { get; } 12 | } 13 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/ICqPostSession.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk 2 | { 3 | /// 4 | /// 可处理上报的 Session 5 | /// 6 | public interface ICqPostSession 7 | { 8 | /// 9 | /// 上报管线 10 | /// 11 | CqPostPipeline PostPipeline { get; } 12 | } 13 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/CqAnonymousMsg.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Message.DataModel; 2 | using EleCho.GoCqHttpSdk.Utils; 3 | using System; 4 | 5 | namespace EleCho.GoCqHttpSdk.Message 6 | { 7 | /// 8 | /// 匿名发消息 9 | /// 提示: 当收到匿名消息时, 需要通过 消息事件的群消息 的 anonymous 字段判断 10 | /// 11 | [Obsolete(CqMsg.NotSupportedCqCodeTip)] 12 | public record class CqAnonymousMsg : CqMsg 13 | { 14 | /// 15 | /// 消息段类型: 匿名消息 16 | /// 17 | public override string MsgType => Consts.MsgType.Anonymous; 18 | 19 | /// 20 | /// 说明: 可选, 表示无法匿名时是否继续发送 21 | /// 可能的值: 0, 1 22 | /// 23 | public int? Ignore { get; set; } 24 | 25 | internal override CqMsgDataModel? GetDataModel() => new CqAnonymousMsgDataModel(); 26 | 27 | internal override void ReadDataModel(CqMsgDataModel? model) 28 | { } 29 | } 30 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/CqDiceMsg.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Message.DataModel; 2 | using EleCho.GoCqHttpSdk.Utils; 3 | using System; 4 | 5 | namespace EleCho.GoCqHttpSdk.Message 6 | { 7 | /// 8 | /// 掷骰子魔法表情消息段 9 | /// 10 | [Obsolete(CqMsg.NotSupportedCqCodeTip)] 11 | public record class CqDiceMsg : CqMsg 12 | { 13 | /// 14 | /// 构建掷骰子魔法表情消息段 15 | /// 16 | public CqDiceMsg() 17 | { 18 | } 19 | 20 | /// 21 | /// 消息段类型: 掷骰子魔法表情 22 | /// 23 | public override string MsgType => Consts.MsgType.Dice; 24 | 25 | internal override CqMsgDataModel? GetDataModel() => null; 26 | 27 | internal override void ReadDataModel(CqMsgDataModel? model) 28 | { } 29 | } 30 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/CqForwardMessage.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace EleCho.GoCqHttpSdk.Message 4 | { 5 | /// 6 | /// 一个完整的转发消息 (包含许多节点) 7 | /// 8 | public class CqForwardMessage : List 9 | { 10 | /// 11 | /// 实例化空的转发消息 12 | /// 13 | public CqForwardMessage() 14 | { 15 | } 16 | 17 | /// 18 | /// 根据指定节点实例化转发消息 19 | /// 20 | /// 一些消息节点 21 | public CqForwardMessage(IEnumerable collection) : base(collection) 22 | { 23 | } 24 | 25 | /// 26 | /// 根据指定的容器容量初始化转发消息 27 | /// 28 | /// 容量 29 | public CqForwardMessage(int capacity) : base(capacity) 30 | { 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/CqRpsMsg.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Message.DataModel; 2 | using EleCho.GoCqHttpSdk.Utils; 3 | using System; 4 | 5 | namespace EleCho.GoCqHttpSdk.Message 6 | { 7 | /// 8 | /// 猜拳魔法表情消息段 9 | /// 10 | [Obsolete(CqMsg.NotSupportedCqCodeTip)] 11 | public record class CqRpsMsg : CqMsg 12 | { 13 | /// 14 | /// 构建猜拳魔法表情消息段 15 | /// 16 | public CqRpsMsg() 17 | { 18 | } 19 | 20 | /// 21 | /// 消息类型: 猜拳魔法表情 22 | /// 23 | public override string MsgType => Consts.MsgType.Rps; 24 | 25 | internal override CqMsgDataModel? GetDataModel() => null; 26 | 27 | internal override void ReadDataModel(CqMsgDataModel? model) 28 | { } 29 | } 30 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/CqShakeMsg.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Message.DataModel; 2 | using EleCho.GoCqHttpSdk.Utils; 3 | using System; 4 | 5 | namespace EleCho.GoCqHttpSdk.Message 6 | { 7 | /// 8 | /// 窗口抖动(戳一戳
9 | /// 相当于戳一戳最基本类型的快捷方式 10 | ///
11 | [Obsolete(CqMsg.NotSupportedCqCodeTip)] 12 | public record class CqShakeMsg : CqMsg 13 | { 14 | /// 15 | /// 消息段类型: 窗口抖动 16 | /// 17 | public override string MsgType => Consts.MsgType.Shake; 18 | 19 | internal override CqMsgDataModel? GetDataModel() => new CqShakeMsgDataModel(); 20 | 21 | internal override void ReadDataModel(CqMsgDataModel? model) 22 | { } 23 | } 24 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/DataModel/CqAnonymousMsgDataModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 2 | 3 | 4 | namespace EleCho.GoCqHttpSdk.Message.DataModel 5 | { 6 | internal record class CqAnonymousMsgDataModel : CqMsgDataModel 7 | { 8 | public static CqAnonymousMsgDataModel FromCqCode(CqCode code) 9 | { 10 | return new CqAnonymousMsgDataModel(); 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/DataModel/CqAtMsgDataModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 2 | 3 | namespace EleCho.GoCqHttpSdk.Message.DataModel 4 | { 5 | internal record class CqAtMsgDataModel : CqMsgDataModel 6 | { 7 | public CqAtMsgDataModel() 8 | { 9 | } 10 | 11 | public CqAtMsgDataModel(string qq, string? name) 12 | { 13 | this.qq = qq; 14 | this.name = name; 15 | } 16 | 17 | public string qq { get; set; } 18 | public string? name { get; set; } 19 | 20 | public static CqAtMsgDataModel FromCqCode(CqCode code) 21 | { 22 | return new CqAtMsgDataModel( 23 | code.GetString(nameof(qq))!, 24 | code.GetString(nameof(name))); 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/DataModel/CqContactMsgDataModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 2 | 3 | namespace EleCho.GoCqHttpSdk.Message.DataModel 4 | { 5 | internal record class CqContactMsgDataModel : CqMsgDataModel 6 | { 7 | public CqContactMsgDataModel() 8 | { 9 | } 10 | 11 | public CqContactMsgDataModel(string type, long id) 12 | { 13 | this.type = type; 14 | this.id = id; 15 | } 16 | 17 | public string type { get; set; } 18 | public long id { get; set; } 19 | 20 | public static CqContactMsgDataModel FromCqCode(CqCode code) 21 | { 22 | return new CqContactMsgDataModel( 23 | code.GetString(nameof(type))!, 24 | code.GetLong(nameof(id)).GetValueOrDefault(0)); 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/DataModel/CqDiceMsgDataModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 2 | 3 | 4 | namespace EleCho.GoCqHttpSdk.Message.DataModel 5 | { 6 | internal record class CqDiceMsgDataModel : CqMsgDataModel 7 | { 8 | public static CqDiceMsgDataModel FromCqCode(CqCode code) 9 | { 10 | return new CqDiceMsgDataModel(); 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/DataModel/CqFaceMsgDataModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 2 | 3 | namespace EleCho.GoCqHttpSdk.Message.DataModel 4 | { 5 | internal record class CqFaceMsgDataModel : CqMsgDataModel 6 | { 7 | public CqFaceMsgDataModel() 8 | { 9 | } 10 | 11 | public CqFaceMsgDataModel(int id) => this.id = id; 12 | 13 | public int id { get; set; } 14 | 15 | public static CqFaceMsgDataModel FromCqCode(CqCode code) 16 | { 17 | return new CqFaceMsgDataModel(code.GetInt(nameof(id)).GetValueOrDefault(0)); 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/DataModel/CqForwardMsgDataModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 2 | 3 | namespace EleCho.GoCqHttpSdk.Message.DataModel 4 | { 5 | internal record class CqForwardMsgDataModel : CqMsgDataModel 6 | { 7 | public string id { get; set; } 8 | 9 | public CqForwardMsgDataModel() 10 | { } 11 | 12 | public CqForwardMsgDataModel(string id) => this.id = id; 13 | 14 | public static CqForwardMsgDataModel FromCqCode(CqCode code) 15 | { 16 | return new CqForwardMsgDataModel(code.GetString(nameof(id))!); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/DataModel/CqGiftMsgDataModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 2 | 3 | namespace EleCho.GoCqHttpSdk.Message.DataModel 4 | { 5 | internal record class CqGiftMsgDataModel : CqMsgDataModel 6 | { 7 | public CqGiftMsgDataModel() 8 | { } 9 | 10 | public CqGiftMsgDataModel(long qq, int id) 11 | { 12 | this.qq = qq; 13 | this.id = id; 14 | } 15 | 16 | public long qq { get; set; } 17 | public int id { get; set; } 18 | 19 | public static CqGiftMsgDataModel FromCqCode(CqCode code) 20 | { 21 | return new CqGiftMsgDataModel( 22 | code.GetLong(nameof(qq)).GetValueOrDefault(0), 23 | code.GetInt(nameof(id)).GetValueOrDefault(0)); 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/DataModel/CqJsonMsgDataModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 2 | 3 | namespace EleCho.GoCqHttpSdk.Message.DataModel 4 | { 5 | internal record class CqJsonMsgDataModel : CqMsgDataModel 6 | { 7 | public string data { get; set; } 8 | public int resid { get; set; } 9 | 10 | internal CqJsonMsgDataModel() 11 | { } 12 | 13 | public CqJsonMsgDataModel(string data, int resid) 14 | { 15 | this.data = data; 16 | this.resid = resid; 17 | } 18 | 19 | public static CqJsonMsgDataModel FromCqCode(CqCode code) 20 | { 21 | return new CqJsonMsgDataModel( 22 | code.GetString(nameof(data))!, 23 | code.GetInt(nameof(resid)).GetValueOrDefault(0)); 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/DataModel/CqMsgDataModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 2 | 3 | namespace EleCho.GoCqHttpSdk.Message.DataModel 4 | { 5 | internal abstract record class CqMsgDataModel 6 | { 7 | } 8 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/DataModel/CqMsgModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 2 | #pragma warning disable IDE1006 3 | 4 | namespace EleCho.GoCqHttpSdk.Message.DataModel 5 | { 6 | internal record class CqMsgModel 7 | { 8 | public CqMsgModel(string type, CqMsgDataModel? data) 9 | { 10 | this.type = type; 11 | this.data = data; 12 | } 13 | 14 | public string type { get; set; } 15 | public CqMsgDataModel? data { get; set; } 16 | } 17 | 18 | internal record class CqMsgModel : CqMsgModel where TData : CqMsgDataModel 19 | { 20 | public CqMsgModel(string type, TData? data) : base(type, data) 21 | { 22 | this.type = type; 23 | this.data = data; 24 | } 25 | 26 | public new TData? data { get => base.data as TData; set => base.data = value; } 27 | } 28 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/DataModel/CqMusicMsgDataModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 2 | 3 | namespace EleCho.GoCqHttpSdk.Message.DataModel 4 | { 5 | internal record class CqMusicMsgDataModel : CqMsgDataModel 6 | { 7 | public CqMusicMsgDataModel() 8 | { } 9 | 10 | public CqMusicMsgDataModel(string type, long id) 11 | { 12 | this.type = type; 13 | this.id = id; 14 | } 15 | 16 | public string type { get; set; } 17 | public long id { get; set; } 18 | 19 | public static CqMusicMsgDataModel FromCqCode(CqCode code) 20 | { 21 | return new CqMusicMsgDataModel( 22 | code.GetString(nameof(type))!, 23 | code.GetLong(nameof(id)).GetValueOrDefault(0)); 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/DataModel/CqPokeMsgDataModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 2 | 3 | namespace EleCho.GoCqHttpSdk.Message.DataModel 4 | { 5 | internal record class CqPokeMsgDataModel : CqMsgDataModel 6 | { 7 | public long qq { get; set; } 8 | 9 | internal CqPokeMsgDataModel() 10 | { } 11 | 12 | public CqPokeMsgDataModel(long qq) => this.qq = qq; 13 | 14 | public static CqPokeMsgDataModel FromCqCode(CqCode code) 15 | { 16 | return new CqPokeMsgDataModel( 17 | code.GetLong(nameof(qq)).GetValueOrDefault(0)); 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/DataModel/CqRedEnvelopeMsgDataModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 2 | 3 | namespace EleCho.GoCqHttpSdk.Message.DataModel 4 | { 5 | internal record class CqRedEnvelopeMsgDataModel : CqMsgDataModel 6 | { 7 | public string title { get; set; } 8 | 9 | public CqRedEnvelopeMsgDataModel() 10 | { } 11 | 12 | public CqRedEnvelopeMsgDataModel(string title) => this.title = title; 13 | 14 | public static CqRedEnvelopeMsgDataModel FromCqCode(CqCode code) 15 | { 16 | return new CqRedEnvelopeMsgDataModel( 17 | code.GetString(nameof(title))!); 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/DataModel/CqRpsMsgDataModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Message.DataModel 2 | { 3 | internal record class CqRpsMsgDataModel : CqMsgDataModel 4 | { 5 | public static CqRpsMsgDataModel FromCqCode(CqCode code) 6 | { 7 | return new CqRpsMsgDataModel(); 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/DataModel/CqShakeMsgDataModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Message.DataModel 2 | { 3 | internal record class CqShakeMsgDataModel : CqMsgDataModel 4 | { 5 | public static CqShakeMsgDataModel FromCqCode(CqCode code) 6 | { 7 | return new CqShakeMsgDataModel(); 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/DataModel/CqTextMsgDataModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 2 | 3 | 4 | namespace EleCho.GoCqHttpSdk.Message.DataModel 5 | { 6 | internal record class CqTextMsgDataModel : CqMsgDataModel 7 | { 8 | public string text { get; set; } 9 | 10 | public CqTextMsgDataModel() 11 | { } 12 | 13 | public CqTextMsgDataModel(string text) 14 | { 15 | this.text = text; 16 | } 17 | 18 | public static CqTextMsgDataModel FromCqCode(CqCode code) 19 | { 20 | return new CqTextMsgDataModel( 21 | code.GetString(nameof(text))!); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/DataModel/CqTtsMsgDataModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace EleCho.GoCqHttpSdk.Message.DataModel 8 | { 9 | internal record class CqTtsMsgDataModel : CqMsgDataModel 10 | { 11 | public CqTtsMsgDataModel() 12 | { 13 | } 14 | 15 | public CqTtsMsgDataModel(string text) 16 | { 17 | this.text = text; 18 | } 19 | 20 | public string text { get; set; } = string.Empty; 21 | 22 | public static CqTtsMsgDataModel FromCqCode(CqCode code) 23 | { 24 | return new CqTtsMsgDataModel( 25 | code.GetString(nameof(text))!); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/DataModel/CqVideoMsgDataModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 2 | 3 | 4 | namespace EleCho.GoCqHttpSdk.Message.DataModel 5 | { 6 | internal record class CqVideoMsgDataModel : CqMsgDataModel 7 | { 8 | public CqVideoMsgDataModel() 9 | { } 10 | 11 | public CqVideoMsgDataModel(string file, string? cover, int? c) 12 | { 13 | this.file = file; 14 | this.cover = cover; 15 | this.c = c; 16 | } 17 | 18 | public string file { get; set; } 19 | public string? cover { get; set; } 20 | public int? c { get; set; } 21 | 22 | public static CqVideoMsgDataModel FromCqCode(CqCode code) 23 | { 24 | return new CqVideoMsgDataModel( 25 | code.GetString(nameof(file))!, 26 | code.GetString(nameof(cover)), 27 | code.GetInt(nameof(c))); 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Message/DataModel/CqXmlMsgDataModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 2 | 3 | 4 | namespace EleCho.GoCqHttpSdk.Message.DataModel 5 | { 6 | internal record class CqXmlMsgDataModel : CqMsgDataModel 7 | { 8 | public string data { get; set; } 9 | public string? resid { get; set; } 10 | 11 | public CqXmlMsgDataModel() 12 | { } 13 | 14 | public CqXmlMsgDataModel(string data, string? resid) 15 | { 16 | this.data = data; 17 | this.resid = resid; 18 | } 19 | 20 | public static CqXmlMsgDataModel FromCqCode(CqCode code) 21 | { 22 | return new CqXmlMsgDataModel( 23 | code.GetString(nameof(data))!, 24 | code.GetString(nameof(resid))); 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Model/CqWsDataModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Model 2 | { 3 | /// 4 | /// WebSocket 数据模型的基类 5 | /// 6 | internal abstract class CqWsDataModel 7 | { 8 | 9 | } 10 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Base/CqMetaEventPostContext.cs: -------------------------------------------------------------------------------- 1 |  2 | 3 | namespace EleCho.GoCqHttpSdk.Post 4 | { 5 | /// 6 | /// 元事件上报上下文 7 | /// 8 | public abstract record class CqMetaEventPostContext : CqPostContext 9 | { 10 | /// 11 | /// 上报类型: 元事件 12 | /// 13 | public override CqPostType PostType => CqPostType.MetaEvent; 14 | 15 | /// 16 | /// 元事件类型 17 | /// 18 | public abstract CqMetaEventType MetaEventType { get; } 19 | } 20 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Base/CqNoticePostContext.cs: -------------------------------------------------------------------------------- 1 |  2 | using EleCho.GoCqHttpSdk.Post.Model; 3 | 4 | namespace EleCho.GoCqHttpSdk.Post 5 | { 6 | /// 7 | /// 通知上报上下文 8 | /// 9 | public abstract record class CqNoticePostContext : CqPostContext 10 | { 11 | /// 12 | /// 上报类型: 通知 13 | /// 14 | public override CqPostType PostType => CqPostType.Notice; 15 | 16 | /// 17 | /// 通知类型 18 | /// 19 | public abstract CqNoticeType NoticeType { get; } 20 | } 21 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Base/CqNotifyNoticeContext.cs: -------------------------------------------------------------------------------- 1 |  2 | 3 | namespace EleCho.GoCqHttpSdk.Post 4 | { 5 | /// 6 | /// 群通知上报上下文 7 | /// 8 | public abstract record class CqNotifyNoticePostContext : CqNoticePostContext 9 | { 10 | /// 11 | /// 通知类型: 群通知 12 | /// 13 | public override CqNoticeType NoticeType => CqNoticeType.Notify; 14 | 15 | /// 16 | /// 群通知类型 17 | /// 18 | public abstract CqNotifyType NotifyType { get; } 19 | } 20 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Base/CqRequestPostContext.cs: -------------------------------------------------------------------------------- 1 |  2 | 3 | namespace EleCho.GoCqHttpSdk.Post 4 | { 5 | /// 6 | /// 请求上报上下文 7 | /// 8 | public abstract record class CqRequestPostContext : CqPostContext 9 | { 10 | /// 11 | /// 上报类型: 请求 12 | /// 13 | public override CqPostType PostType => CqPostType.Request; 14 | 15 | /// 16 | /// 请求类型 17 | /// 18 | public abstract CqRequestType RequestType { get; } 19 | } 20 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Interface/IGroupPostContext.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Post.Interface 2 | { 3 | /// 4 | /// 群聊上报标记(其实就是能读GroupId 5 | /// 6 | public interface IGroupPostContext 7 | { 8 | /// 9 | /// 群号 10 | /// 11 | public long GroupId { get; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/Base/CqMessagePostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | using EleCho.GoCqHttpSdk.Message.DataModel; 5 | 6 | namespace EleCho.GoCqHttpSdk.Post.Model 7 | { 8 | internal abstract class CqMessagePostModel : CqPostModel 9 | { 10 | public override string post_type => "message"; 11 | public abstract string message_type { get; } 12 | 13 | public string sub_type { get; set; } 14 | public long message_id { get; set; } 15 | public long user_id { get; set; } 16 | public CqMsgModel[] message { get; set; } 17 | public string raw_message { get; set; } 18 | public int font { get; set; } 19 | } 20 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/Base/CqMetaPostModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Post.Model 2 | { 3 | internal abstract class CqMetaPostModel : CqPostModel 4 | { 5 | public override string post_type => "meta_event"; 6 | public abstract string meta_event_type { get; } 7 | } 8 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/Base/CqNoticePostModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Post.Model 2 | { 3 | internal abstract class CqNoticePostModel : CqPostModel 4 | { 5 | public override string post_type => "notice"; 6 | public abstract string notice_type { get; } 7 | } 8 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/Base/CqPostModel.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Model; 2 | 3 | namespace EleCho.GoCqHttpSdk.Post.Model 4 | { 5 | internal abstract class CqPostModel : CqWsDataModel 6 | { 7 | public abstract string post_type { get; } 8 | 9 | public long time { get; set; } 10 | public long self_id { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/Base/CqRequestPostModel.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Post.Model 2 | { 3 | internal abstract class CqRequestPostModel : CqPostModel 4 | { 5 | public override string post_type => "request"; 6 | public abstract string request_type { get; } 7 | } 8 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/Base/CqSelfMessagePostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | using EleCho.GoCqHttpSdk.Message.DataModel; 5 | 6 | namespace EleCho.GoCqHttpSdk.Post.Model 7 | { 8 | internal abstract class CqSelfMessagePostModel : CqPostModel 9 | { 10 | public override string post_type => "message_sent"; 11 | public abstract string message_type { get; } 12 | 13 | public string sub_type { get; set; } 14 | public long message_id { get; set; } 15 | public long user_id { get; set; } 16 | public CqMsgModel[] message { get; set; } 17 | public string raw_message { get; set; } 18 | public int font { get; set; } 19 | } 20 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqGroupMessagePostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | using EleCho.GoCqHttpSdk.DataStructure.Model; 5 | 6 | namespace EleCho.GoCqHttpSdk.Post.Model 7 | { 8 | internal class CqGroupMessagePostModel : CqMessagePostModel 9 | { 10 | public override string message_type => "group"; 11 | 12 | public long group_id { get; set; } 13 | public CqAnonymousInformationModel? anonymous { get; set; } 14 | public CqGroupMessageSenderModel sender { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqGroupSelfMessagePostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | using EleCho.GoCqHttpSdk.DataStructure.Model; 5 | 6 | namespace EleCho.GoCqHttpSdk.Post.Model 7 | { 8 | internal class CqGroupSelfMessagePostModel : CqSelfMessagePostModel 9 | { 10 | public override string message_type => "group"; 11 | 12 | public long group_id { get; set; } 13 | public CqAnonymousInformationModel? anonymous { get; set; } 14 | public CqGroupMessageSenderModel sender { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqMetaHeartbeatPostModel.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.DataStructure.Model; 2 | using EleCho.GoCqHttpSdk.Utils; 3 | 4 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 5 | #pragma warning disable IDE1006 // Naming Styles 6 | 7 | namespace EleCho.GoCqHttpSdk.Post.Model 8 | { 9 | internal class CqMetaHeartbeatPostModel : CqMetaPostModel 10 | { 11 | public override string meta_event_type => Consts.MetaEventType.Heartbeat; 12 | 13 | public CqStatusModel status { get; set; } 14 | 15 | /// 16 | /// ms 17 | /// 18 | public long interval { get; set; } 19 | } 20 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqMetaLifecyclePostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | using System.Text.Json.Serialization; 5 | 6 | namespace EleCho.GoCqHttpSdk.Post.Model 7 | { 8 | internal class CqMetaLifecyclePostModel : CqMetaPostModel 9 | { 10 | public override string meta_event_type => "lifecycle"; 11 | public string sub_type { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqNoticeClientStatusPostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | using EleCho.GoCqHttpSdk.DataStructure.Model; 5 | 6 | namespace EleCho.GoCqHttpSdk.Post.Model 7 | { 8 | internal class CqNoticeClientStatusPostModel : CqNoticePostModel 9 | { 10 | public override string notice_type => "client_status"; 11 | 12 | public bool online { get; set; } 13 | public CqDeviceModel client { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqNoticeEssencePostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | 5 | 6 | namespace EleCho.GoCqHttpSdk.Post.Model 7 | { 8 | internal class CqNoticeEssencePostModel : CqNoticePostModel 9 | { 10 | public override string notice_type => "essence"; 11 | 12 | /// 13 | /// 14 | /// 15 | public string sub_type { get; set; } 16 | 17 | public long sender_id { get; set; } 18 | public long operator_id { get; set; } 19 | public long message_id { get; set; } 20 | public long group_id { get; set; } 21 | } 22 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqNoticeFriendAddPostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | using EleCho.GoCqHttpSdk.Utils; 5 | 6 | namespace EleCho.GoCqHttpSdk.Post.Model 7 | { 8 | internal class CqNoticeFriendAddPostModel : CqNoticePostModel 9 | { 10 | public override string notice_type => Consts.NoticeType.FriendAdd; 11 | 12 | public long user_id { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqNoticeFriendRecallPostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | namespace EleCho.GoCqHttpSdk.Post.Model 5 | { 6 | internal class CqNoticeFriendRecallPostModel : CqNoticePostModel 7 | { 8 | public override string notice_type => "friend_recall"; 9 | 10 | public long user_id { get; set; } 11 | public long message_id { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqNoticeGroupAdminPostModel.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Utils; 2 | 3 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 4 | #pragma warning disable IDE1006 // Naming Styles 5 | 6 | 7 | namespace EleCho.GoCqHttpSdk.Post.Model 8 | { 9 | internal class CqNoticeGroupAdminPostModel : CqNoticePostModel 10 | { 11 | public override string notice_type => Consts.NoticeType.GroupAdmin; 12 | 13 | /// 14 | /// 15 | /// 16 | public string sub_type { get; set; } 17 | 18 | public long group_id { get; set; } 19 | 20 | public long user_id { get; set; } 21 | } 22 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqNoticeGroupBanPostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | namespace EleCho.GoCqHttpSdk.Post.Model 5 | { 6 | internal class CqNoticeGroupBanPostModel : CqNoticePostModel 7 | { 8 | public override string notice_type => "group_ban"; 9 | 10 | /// 11 | /// 12 | /// 13 | public string sub_type { get; set; } 14 | 15 | public long group_id { get; set; } 16 | public long operator_id { get; set; } 17 | public long user_id { get; set; } 18 | public long duration { get; set; } 19 | } 20 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqNoticeGroupCardPostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | namespace EleCho.GoCqHttpSdk.Post.Model 5 | { 6 | internal class CqNoticeGroupCardPostModel : CqNoticePostModel 7 | { 8 | public override string notice_type => "group_card"; 9 | 10 | public long group_id { get; set; } 11 | public long user_id { get; set; } 12 | public string card_new { get; set; } 13 | public string card_old { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqNoticeGroupDecreasePostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | namespace EleCho.GoCqHttpSdk.Post.Model 5 | { 6 | internal class CqNoticeGroupDecreasePostModel : CqNoticePostModel 7 | { 8 | public override string notice_type => "group_decrease"; 9 | 10 | public string sub_type { get; set; } 11 | public long group_id { get; set; } 12 | public long operator_id { get; set; } 13 | public long user_id { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqNoticeGroupIncreasePostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | namespace EleCho.GoCqHttpSdk.Post.Model 5 | { 6 | internal class CqNoticeGroupIncreasePostModel : CqNoticePostModel 7 | { 8 | public override string notice_type => "group_increase"; 9 | 10 | /// 11 | /// 12 | /// 13 | public string sub_type { get; set; } 14 | 15 | public long group_id { get; set; } 16 | public long operator_id { get; set; } 17 | public long user_id { get; set; } 18 | } 19 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqNoticeGroupRecallPostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | namespace EleCho.GoCqHttpSdk.Post.Model 5 | { 6 | internal class CqNoticeGroupRecallPostModel : CqNoticePostModel 7 | { 8 | public override string notice_type => "group_recall"; 9 | 10 | public long group_id { get; set; } 11 | public long user_id { get; set; } 12 | public long operator_id { get; set; } 13 | public long message_id { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqNoticeGroupUploadPostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | using EleCho.GoCqHttpSdk.DataStructure.Model; 5 | 6 | namespace EleCho.GoCqHttpSdk.Post.Model 7 | { 8 | internal class CqNoticeGroupUploadPostModel : CqNoticePostModel 9 | { 10 | public override string notice_type => "group_upload"; 11 | 12 | public long group_id { get; set; } 13 | public long user_id { get; set; } 14 | public CqGroupUploadedFileModel file { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqNoticeHonorPostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | namespace EleCho.GoCqHttpSdk.Post.Model 5 | { 6 | internal class CqNoticeHonorPostModel : CqNoticeNotifyPostModel 7 | { 8 | public override string sub_type => "honor"; 9 | 10 | public long group_id { get; set; } 11 | public long user_id { get; set; } 12 | 13 | /// 14 | /// 15 | /// 16 | public string honor_type { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqNoticeLuckyKingPostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | namespace EleCho.GoCqHttpSdk.Post.Model 5 | { 6 | internal class CqNoticeLuckyKingPostModel : CqNoticeNotifyPostModel 7 | { 8 | public override string sub_type => "lucky_king"; 9 | 10 | public long group_id { get; set; } 11 | public long user_id { get; set; } 12 | public long target_id { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqNoticeNotifyPostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | namespace EleCho.GoCqHttpSdk.Post.Model 5 | { 6 | internal abstract class CqNoticeNotifyPostModel : CqNoticePostModel 7 | { 8 | public override string notice_type => "notify"; 9 | public abstract string sub_type { get; } 10 | } 11 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqNoticeOfflineFilePostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | using EleCho.GoCqHttpSdk.DataStructure.Model; 5 | 6 | namespace EleCho.GoCqHttpSdk.Post.Model 7 | { 8 | internal class CqNoticeOfflineFilePostModel : CqNoticePostModel 9 | { 10 | public override string notice_type => "offline_file"; 11 | 12 | public long user_id { get; set; } 13 | public CqOfflineFileModel file { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqNoticePokePostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | namespace EleCho.GoCqHttpSdk.Post.Model 5 | { 6 | internal class CqNoticePokePostModel : CqNoticeNotifyPostModel 7 | { 8 | public override string sub_type => "poke"; 9 | 10 | public long? group_id { get; set; } 11 | public long sender_id { get; set; } 12 | public long user_id { get; set; } 13 | public long target_id { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqNoticeTitlePostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | namespace EleCho.GoCqHttpSdk.Post.Model 5 | { 6 | internal class CqNoticeTitlePostModel : CqNoticeNotifyPostModel 7 | { 8 | public override string sub_type => "title"; 9 | 10 | public long group_id { get; set; } 11 | 12 | public long user_id { get; set; } 13 | 14 | public string title { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqPrivateMessagePostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | using EleCho.GoCqHttpSdk.DataStructure.Model; 5 | 6 | namespace EleCho.GoCqHttpSdk.Post.Model 7 | { 8 | internal class CqPrivateMessagePostModel : CqMessagePostModel 9 | { 10 | public override string message_type => "private"; 11 | 12 | /// 13 | /// 14 | /// 15 | public int temp_source { get; set; } 16 | public CqMessageSenderModel sender { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqPrivateSelfMessagePostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | using EleCho.GoCqHttpSdk.DataStructure.Model; 5 | 6 | namespace EleCho.GoCqHttpSdk.Post.Model 7 | { 8 | internal class CqPrivateSelfMessagePostModel : CqSelfMessagePostModel 9 | { 10 | public override string message_type => "private"; 11 | 12 | /// 13 | /// 14 | /// 15 | public int temp_source { get; set; } 16 | public CqMessageSenderModel sender { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqRequestFriendPostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | namespace EleCho.GoCqHttpSdk.Post.Model 5 | { 6 | internal class CqRequestFriendPostModel : CqRequestPostModel 7 | { 8 | public override string request_type => "friend"; 9 | 10 | public long user_id { get; set; } 11 | public string comment { get; set; } 12 | public string flag { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/Model/CqRequestGroupPostModel.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. 2 | #pragma warning disable IDE1006 // Naming Styles 3 | 4 | namespace EleCho.GoCqHttpSdk.Post.Model 5 | { 6 | internal class CqRequestGroupPostModel : CqRequestPostModel 7 | { 8 | public override string request_type => "group"; 9 | 10 | /// 11 | /// 12 | /// 13 | public string sub_type { get; set; } 14 | 15 | public long group_id { get; set; } 16 | public long user_id { get; set; } 17 | public string comment { get; set; } 18 | public string flag { get; set; } 19 | } 20 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/QuickOperation/CqFriendRequestPostQuickOperation.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Post 2 | { 3 | /// 4 | /// 家好友请求上报快速操作 5 | /// 6 | public class CqFriendRequestPostQuickOperation : CqPostQuickOperation 7 | { 8 | /// 9 | /// 同意 10 | /// 11 | public bool? Approve { get; set; } 12 | 13 | /// 14 | /// 备注 15 | /// 16 | public string? Remark { get; set; } 17 | 18 | internal override object? GetModel() 19 | { 20 | if (Approve != null) 21 | return null; 22 | 23 | return new 24 | { 25 | approve = Approve, 26 | remark = Remark 27 | }; 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/QuickOperation/CqGroupRequestPostQuickOperation.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Post 2 | { 3 | /// 4 | /// 加群请求快速操作 5 | /// 6 | public class CqGroupRequestPostQuickOperation : CqPostQuickOperation 7 | { 8 | /// 9 | /// 同意 10 | /// 11 | public bool? Approve { get; set; } 12 | 13 | /// 14 | /// 备注 15 | /// 16 | public string? Remark { get; set; } 17 | 18 | internal override object? GetModel() 19 | { 20 | if (Approve == null) 21 | return null; 22 | 23 | return new 24 | { 25 | approve = Approve, 26 | remark = Remark 27 | }; 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/QuickOperation/CqMessagePostQuickOperation.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Message; 2 | using System; 3 | 4 | namespace EleCho.GoCqHttpSdk.Post 5 | { 6 | /// 7 | /// 消息上报快速操作 8 | /// 9 | public abstract class CqMessagePostQuickOperation : CqPostQuickOperation 10 | { 11 | /// 12 | /// 回复消息 13 | /// 14 | public CqMessage? Reply { get; set; } 15 | /// 16 | /// 因为内部不使用 CQ 码, 所以无用 17 | /// 18 | [Obsolete("在本 SDK 中此字段无用")] 19 | public bool AutoEscape { get; set; } 20 | 21 | } 22 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/QuickOperation/CqPostQuickOperation.cs: -------------------------------------------------------------------------------- 1 | namespace EleCho.GoCqHttpSdk.Post 2 | { 3 | /// 4 | /// 上报快速操作 5 | /// 6 | public abstract class CqPostQuickOperation 7 | { 8 | internal abstract object? GetModel(); 9 | } 10 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Post/QuickOperation/CqPrivateMessagePostQuickOperation.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk.Message; 2 | using EleCho.GoCqHttpSdk.Message.DataModel; 3 | using EleCho.GoCqHttpSdk.Post; 4 | using EleCho.GoCqHttpSdk.Utils; 5 | using System; 6 | using System.Linq; 7 | 8 | namespace EleCho.GoCqHttpSdk.Post 9 | { 10 | 11 | /// 12 | /// 私聊消息上报快速操作 13 | /// 14 | public class CqPrivateMessagePostQuickOperation : CqMessagePostQuickOperation 15 | { 16 | internal override object? GetModel() 17 | { 18 | if (Reply == null) 19 | return null; 20 | 21 | return new 22 | { 23 | reply = Reply == null ? null : Reply.Select(CqMsg.ToModel).ToArray() 24 | // auto_escape // 字段无用, 不传 25 | }; 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Utils/GlobalConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | using System.Text; 4 | 5 | namespace EleCho.GoCqHttpSdk.Utils 6 | { 7 | internal static class GlobalConfig 8 | { 9 | public static TimeSpan WaitTimeout = TimeSpan.FromSeconds(5); 10 | public static int WebSocketBufferSize = 1024; 11 | public static Encoding TextEncoding = Encoding.UTF8; 12 | } 13 | } -------------------------------------------------------------------------------- /src/EleCho.GoCqHttpSdk/Utils/UnixTime.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace EleCho.GoCqHttpSdk.Utils 4 | { 5 | internal static class UnixTime 6 | { 7 | public static long DateToUnix(DateTime time) 8 | { 9 | return new DateTimeOffset(time).ToUnixTimeSeconds(); 10 | } 11 | 12 | public static DateTime DateFromUnix(long unixTime) 13 | { 14 | return DateTimeOffset.FromUnixTimeSeconds(unixTime).DateTime; 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /src/TestConsole/ApiTest.cs: -------------------------------------------------------------------------------- 1 | using EleCho.GoCqHttpSdk; 2 | using EleCho.GoCqHttpSdk.Message; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Text.Json; 8 | using System.Threading.Tasks; 9 | 10 | namespace TestConsole 11 | { 12 | internal static class ApiTest 13 | { 14 | const long TestGroupId = 609116135; 15 | const long TestUserId = 3257726229; 16 | 17 | public static async Task RunAsync(ICqActionSession session) 18 | { 19 | var url = "https://bing.com"; 20 | 21 | var safety = await session.CheckUrlSafetyAsync(url); 22 | await session.SendGroupMessageAsync(TestGroupId, new CqMessage($"连接安全性: {url} {safety.Level}")); 23 | 24 | var versionInfo = await session.GetVersionInformationAsync(); 25 | await session.SendGroupMessageAsync(TestGroupId, new CqMessage(JsonSerializer.Serialize(versionInfo))); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/build.props: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OrgEleCho/EleCho.GoCqHttpSdk/e3dbb9edd7fed81e3270455507322dd6c5dcc1ff/src/build.props --------------------------------------------------------------------------------