diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/mappers/TikTokMapper.java b/API/src/main/java/io/github/jwdeveloper/tiktok/mappers/TikTokMapper.java index d7db822..268831c 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/mappers/TikTokMapper.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/mappers/TikTokMapper.java @@ -1,3 +1,25 @@ +/* + * Copyright (c) 2023-2023 jwdeveloper jacekwoln@gmail.com + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ package io.github.jwdeveloper.tiktok.mappers; import com.google.protobuf.GeneratedMessageV3; diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/utils/ProtoBufferFileGenerator.java b/API/src/main/java/io/github/jwdeveloper/tiktok/utils/ProtoBufferFileGenerator.java index 2f2cdff..44ee0bd 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/utils/ProtoBufferFileGenerator.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/utils/ProtoBufferFileGenerator.java @@ -1,3 +1,25 @@ +/* + * Copyright (c) 2023-2023 jwdeveloper jacekwoln@gmail.com + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ package io.github.jwdeveloper.tiktok.utils; import java.nio.file.Path; diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/utils/ProtoBufferJsonGenerator.java b/API/src/main/java/io/github/jwdeveloper/tiktok/utils/ProtoBufferJsonGenerator.java index aac6609..db7b008 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/utils/ProtoBufferJsonGenerator.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/utils/ProtoBufferJsonGenerator.java @@ -1,3 +1,25 @@ +/* + * Copyright (c) 2023-2023 jwdeveloper jacekwoln@gmail.com + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ package io.github.jwdeveloper.tiktok.utils; import com.google.gson.GsonBuilder; diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/utils/ProtoBufferObject.java b/API/src/main/java/io/github/jwdeveloper/tiktok/utils/ProtoBufferObject.java index 98fd757..bec5473 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/utils/ProtoBufferObject.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/utils/ProtoBufferObject.java @@ -1,3 +1,25 @@ +/* + * Copyright (c) 2023-2023 jwdeveloper jacekwoln@gmail.com + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ package io.github.jwdeveloper.tiktok.utils; import lombok.AllArgsConstructor; diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/utils/ProtocolUtils.java b/API/src/main/java/io/github/jwdeveloper/tiktok/utils/ProtocolUtils.java index e5a4273..48a5e51 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/utils/ProtocolUtils.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/utils/ProtocolUtils.java @@ -1,3 +1,25 @@ +/* + * Copyright (c) 2023-2023 jwdeveloper jacekwoln@gmail.com + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ package io.github.jwdeveloper.tiktok.utils; import com.google.protobuf.ByteString; diff --git a/API/src/main/proto/data.proto b/API/src/main/proto/data.proto index 3a1b7c6..934e8d5 100644 --- a/API/src/main/proto/data.proto +++ b/API/src/main/proto/data.proto @@ -1000,7 +1000,7 @@ message LinkerCreateContent { message LinkerEnterContent { repeated User LinkedUsersList = 1; - //LinkmicMultiLiveEnum AnchorMultiLiveEnum = 2; + // LinkmicMultiLiveEnum AnchorMultiLiveEnum = 2; // Data.LinkmicUserSettingInfo AnchorSettingInfo = 3; } @@ -1129,4 +1129,388 @@ message LinkerUpdateUserSettingContent { message LinkerWaitingListChangeContent { +} + + +message LinkmicUserSettingInfo { + int64 userId = 1; + int64 layout = 2; // @warning Enum not found, should be Layout + int64 fixMicNum = 3; // @warning Enum not found, should be FixMicNum + int64 allowRequestFromUser = 4; // @warning Enum not found, should be AllowRequestFromUser + int64 allowRequestFromFollowerOnly = 5; // @warning Enum not found, should be AllowRequestFromFollowerOnly + LinkmicApplierSortSetting applierSortSetting = 7; // Enum +} + + +message Player { + int64 roomId = 1; + int64 userId = 2; +} + +message AllListUser { + repeated LinkLayerListUser linkedList = 2; + repeated LinkLayerListUser appliedList = 3; + repeated LinkLayerListUser invitedList = 4; + repeated LinkLayerListUser readyList = 5; +} + +message LinkLayerListUser { + User user = 1; + string linkmicId = 2; + Position pos = 3; + int64 linkedTimeNano = 4; + string appVersion = 5; +} + +message Position { + int32 type = 1; + LinkPosition link = 2; +} + +message LinkPosition { + int32 position = 1; + int32 opt = 2; +} + +message GroupPlayer { + int64 channelId = 1; + User user = 2; +} + +message DSLConfig { + int32 sceneVersion = 1; + string layoutId = 2; +} + +message GroupChannelAllUser { + int64 groupChannelId = 1; + repeated GroupChannelUser userList = 2; +} + +message GroupChannelUser { + int64 channelId = 1; + GroupStatus status = 2; // Enum + TextType type = 3; // Enum + AllListUser allUser = 4; + int64 joinTime = 5; + int64 linkedTime = 6; + GroupPlayer ownerUser = 7; +} + +message RTCExtraInfo { + RTCEngineConfig liveRtcEngineConfig = 1; + repeated RTCLiveVideoParam liveRtcVideoParamList = 2; + RTCBitrateMap rtcBitrateMap = 3; + int32 rtcFps = 4; + string rtcBusinessId = 8; + int32 interactClientType = 10; + + message RTCEngineConfig { + string rtcAppId = 1; + string rtcUserId = 2; + string rtcToken = 3; + int64 rtcChannelId = 4; + } + + message RTCLiveVideoParam { + int32 strategyId = 1; + RTCVideoParam params = 2; + } + + message RTCVideoParam { + int32 width = 1; + int32 height = 2; + int32 fps = 3; + int32 bitrateKbps = 4; + } + + message RTCBitrateMap { + int32 xx1 = 1; + int32 xx2 = 2; + int32 xx3 = 3; + int32 xx4 = 4; + } +} + +message CreateChannelContent { + Player owner = 1; + string ownerLinkMicId = 2; +} + +message ListChangeContent { + TextType type = 1; // Enum + AllListUser list = 2; +} + +message MultiLiveContent { + InviteBizContent inviteBizContent = 2; + ReplyBizContent replyBizContent = 3; + PermitBizContent permitBizContent = 4; + KickOutBizContent kickOutBizContent = 6; + + + message InviteBizContent { + LinkmicUserSettingInfo anchorSettingInfo = 1; + int64 inviteSource = 2; // @warning Enum not found, should be InviteSource + User operatorUserInfo = 3; + int64 operatorLinkAdminType = 4; // @warning Enum not found, should be OperatorLinkAdminType + User inviteeUserInfo = 5; + } + + + message ReplyBizContent { + int32 linkType = 1; + int32 isTurnOffInvitation = 2; + User replyUserInfo = 3; + } + + message PermitBizContent { + LinkmicUserSettingInfo anchorSettingInfo = 1; + int64 expireTimestamp = 2; + User operatorUserInfo = 3; + int64 operatorLinkAdminType = 4; // @warning Enum not found, should be OperatorLinkAdminType + } + + message KickOutBizContent { + User operatorUserInfo = 1; + int64 operatorLinkAdminType = 2; // @warning Enum not found, should be OperatorLinkAdminType + User kickPlayerUserInfo = 3; + } + +} + + +message InviteContent { + Player invitor = 1; + RTCExtraInfo inviteeRtcExtInfo = 2; + string invitorLinkMicId = 3; + string inviteeLinkMicId = 4; + bool isOwner = 5; + Position pos = 6; + DSLConfig dsl = 7; + User invitee = 8; + User operator = 9; +} + + +// @ApplyContent +// proto.webcast.im +// C:\Users\ja\RiderProjects\TikTokProBufferGenerator\Application\output\sources\test.js +message ApplyContent { + Player applier = 1; + string applierLinkMicId = 2; +} + + +// @PermitApplyContent +// proto.webcast.im +// C:\Users\ja\RiderProjects\TikTokProBufferGenerator\Application\output\sources\test.js +message PermitApplyContent { + Player permiter = 1; + string permiterLinkMicId = 2; + Position applierPos = 3; + ReplyStatus replyStatus = 4; // Enum + DSLConfig dsl = 5; + User applier = 6; + User operator = 7; + string applierLinkMicId = 8; +} + + +// @ReplyInviteContent +// proto.webcast.im +// C:\Users\ja\RiderProjects\TikTokProBufferGenerator\Application\output\sources\test.js +message ReplyInviteContent { + Player invitee = 1; + ReplyStatus replyStatus = 2; // Enum + string inviteeLinkMicId = 3; + Position inviteePos = 4; + Player inviteOperatorUser = 5; +} + + +// @KickOutContent +// proto.webcast.im +// C:\Users\ja\RiderProjects\TikTokProBufferGenerator\Application\output\sources\test.js +message KickOutContent { + Player offliner = 1; + KickoutReason kickoutReason = 2; // Enum +} + + +// @CancelApplyContent +// proto.webcast.im +// C:\Users\ja\RiderProjects\TikTokProBufferGenerator\Application\output\sources\test.js +message CancelApplyContent { + Player applier = 1; + string applierLinkMicId = 2; +} + + +// @CancelInviteContent +// proto.webcast.im +// C:\Users\ja\RiderProjects\TikTokProBufferGenerator\Application\output\sources\test.js +message CancelInviteContent { + Player invitor = 1; + string invitorLinkMicId = 2; + string inviteeLinkMicId = 3; + int64 inviteSeqId = 4; + Player invitee = 5; +} + + +// @LeaveContent +// proto.webcast.im +// C:\Users\ja\RiderProjects\TikTokProBufferGenerator\Application\output\sources\test.js +message LeaveContent { + Player leaver = 1; + int64 leaveReason = 2; +} + + +// @FinishChannelContent +// proto.webcast.im +// C:\Users\ja\RiderProjects\TikTokProBufferGenerator\Application\output\sources\test.js +message FinishChannelContent { + Player owner = 1; + int64 finishReason = 2; +} + + +// @JoinDirectContent +// proto.webcast.im +// C:\Users\ja\RiderProjects\TikTokProBufferGenerator\Application\output\sources\test.js +message JoinDirectContent { + LinkLayerListUser joiner = 1; + AllListUser allUsers = 2; +} + + +// @LeaveJoinGroupContent +// proto.webcast.im +// C:\Users\ja\RiderProjects\TikTokProBufferGenerator\Application\output\sources\test.js +message LeaveJoinGroupContent { + GroupPlayer operator = 1; + int64 groupChannelId = 2; + string leaveSource = 3; +} + + +// @PermitJoinGroupContent +// proto.webcast.im +message PermitJoinGroupContent { + GroupPlayer approver = 1; + AgreeStatus agreeStatus = 2; // Enum + TextType type = 3; // Enum + repeated RTCExtraInfo groupExtInfoList = 4; + GroupChannelAllUser groupUser = 5; +} + + +// @CancelJoinGroupContent +// proto.webcast.im +message CancelJoinGroupContent { + repeated GroupPlayer leaverList = 1; + GroupPlayer operator = 2; + TextType type = 3; // Enum +} + + + +message P2PGroupChangeContent { + repeated RTCExtraInfo groupExtInfoList = 1; + GroupChannelAllUser groupUser = 2; +} + + +message BusinessContent { + int64 overLength = 1; + MultiLiveContent multiLiveContent = 100; + CohostContent cohostContent = 200; + + message CohostContent { + JoinGroupBizContent joinGroupBizContent = 1; + + } + + message JoinGroupBizContent { + int32 fromRoomAgeRestricted = 1; + Tag fromTag = 2; + PerceptionDialogInfo dialog = 3; + PunishEventInfo punishInfo = 4; + JoinGroupMessageExtra joinGroupMsgExtra = 101; + } + + message Tag { + int32 tagType = 1; + string tagValue = 2; + string tagText = 3; + } + + message PerceptionDialogInfo { + int64 iconType = 1; // @warning Enum not found, should be IconType + Text title = 2; + Text subTitle = 3; + Text adviceActionText = 4; + Text defaultActionText = 5; + string violationDetailUrl = 6; + int32 scene = 7; + int64 targetUserId = 8; + int64 targetRoomId = 9; + int64 countDownTime = 10; + bool showFeedback = 11; + repeated PerceptionFeedbackOption feedbackOptionsList = 12; + int64 policyTip = 13; + } + + message PerceptionFeedbackOption { + int64 id = 1; + string contentKey = 2; + } + + message JoinGroupMessageExtra { + int64 sourceType = 1; + RivalExtra extra = 2; + repeated RivalExtra otherUsersList = 3; + + + // @RivalExtra + // proto.webcast.im.JoinGroupMessageExtra + // C:\Users\ja\RiderProjects\TikTokProBufferGenerator\Application\output\sources\test.js + message RivalExtra { + int64 userCount = 4; + Image avatarThumb = 5; + string displayId = 6; + AuthenticationInfo authenticationInfo = 7; + string nickname = 8; + int64 followStatus = 9; + Hashtag hashtag = 10; + TopHostInfo topHostInfo = 11; + int64 userId = 12; + bool isBestTeammate = 13; + + message AuthenticationInfo { + string customVerify = 1; + string enterpriseVerifyReason = 2; + Image authenticationBadge = 3; + } + } + } + message Hashtag { + int64 id = 1; + string title = 2; + Image image = 3; + HashtagNamespace namespace = 4; // Enum + } + + message TopHostInfo { + string rankType = 1; + int64 topIndex = 2; + } +} + +message JoinGroupContent { + GroupChannelAllUser groupUser = 1; + GroupPlayer joinUser = 2; + TextType type = 3; // Enum } \ No newline at end of file diff --git a/API/src/main/proto/enums.proto b/API/src/main/proto/enums.proto index a16be68..707db6e 100644 --- a/API/src/main/proto/enums.proto +++ b/API/src/main/proto/enums.proto @@ -25,6 +25,85 @@ enum EmotePrivateType { EMOTE_PRIVATE_TYPE_SUB_WAVE = 1; } +enum TextType { + DISPLAY_TEXT = 0; + CONTENT = 1; +} + +enum LinkmicApplierSortSetting { + LINKMIC_APPLIER_SORT_SETTING_NONE = 0; + LINKMIC_APPLIER_SORT_SETTING_BY_GIFT_SCORE = 1; +} + +enum HashtagNamespace { + GLOBAL = 0; + GAMING = 1; +} + +enum AgreeStatus { + AGREE_UNKNOWN = 0; + AGREE = 1; + REJECT = 2; +} + +enum KickoutReason { + KICKOUT_REASON_UNKNOWN = 0; + KICKOUT_REASON_FIRST_FRAME_TIMEOUT = 1; + KICKOUT_REASON_BY_HOST = 2; + KICKOUT_REASON_RTC_LOST_CONNECTION = 3; + KICKOUT_REASON_BY_PUNISH = 4; + KICKOUT_REASON_BY_ADMIN = 5; + KICKOUT_REASON_HOST_REMOVE_ALL_GUESTS = 6; +} + + +enum GroupStatus { + GROUP_STATUS_UNKNOWN = 0; + GROUP_STATUS_WAITING = 1; + GROUP_STATUS_LINKED = 3; +} + +enum BusinessCase { + BUSINESS_NOT_SET = 0; + APPLY_BIZ_CONTENT = 1; + INVITE_BIZ_CONTENT = 2; + REPLY_BIZ_CONTENT = 3; + PERMIT_BIZ_CONTENT = 4; + JOIN_DIRECT_BIZ_CONTENT = 5; + KICK_OUT_BIZ_CONTENT = 6; + LIST_CHANGE_BIZ_CONTENT = 11; + MULTI_LIVE_CONTENT = 100; + COHOST_CONTENT = 200; +} + +enum ReplyStatus { + REPLY_STATUS_UNKNOWN = 0; + REPLY_STATUS_AGREE = 1; + REPLY_STATUS_REFUSE_PERSONALLY = 2; + REPLY_STATUS_REFUSE_TYPE_NOT_SUPPORT = 3; + REPLY_STATUS_REFUSE_PROCESSING_INVITATION = 4; + REPLY_STATUS_REFUSE_BY_TIMEOUT = 5; + REPLY_STATUS_REFUSE_EXCEPTION = 6; + REPLY_STATUS_REFUSE_SYSTEM_NOT_SUPPORTED = 7; + REPLY_STATUS_REFUSE_SUBTYPE_DIFFERENCE = 8; + REPLY_STATUS_REFUSE_IN_MICROOM = 9; + REPLY_STATUS_REFUSE_NOT_LOAD_PLUGIN = 10; + REPLY_STATUS_REFUSE_IN_MULTI_GUEST = 11; + REPLY_STATUS_REFUSE_PAUSE_LIVE = 12; + REPLY_STATUS_REFUSE_OPEN_CAMERA_DIALOG_SHOWING = 13; + REPLY_STATUS_REFUSE_DRAW_GUESSING = 14; + REPLY_STATUS_REFUSE_RANDOM_MATCHING = 15; + REPLY_STATUS_REFUSE_IN_MATCH_PROCESSING = 16; + REPLY_STATUS_REFUSE_IN_MICROOM_FOR_MULTI_COHOST = 17; + REPLY_STATUS_REFUSE_COHOST_FINISHED = 18; + REPLY_STATUS_REFUSE_NOT_CONNECTED = 19; + REPLY_STATUS_REFUSE_LINKMIC_FULL = 20; + REPLY_STATUS_REFUSE_ARC_INCOMPATIBLE = 21; + REPLY_STATUS_REFUSE_PROCESSING_OTHER_INVITE = 22; + REPLY_STATUS_REFUSE_PROCESSING_OTHER_APPLY = 23; + REPLY_STATUS_REFUSE_IN_ANCHOR_COHOST = 24; + REPLY_STATUS_REFUSE_TOPIC_PAIRING = 25; +} enum SubscribeType { SUBSCRIBETYPE_ONCE = 0; @@ -136,4 +215,51 @@ enum EnvelopeDisplay EnvelopeDisplayUnknown = 0; EnvelopeDisplayNew = 1; EnvelopeDisplayHide = 2; +} + + +enum CommonContentCase { + COMMON_CONTENT_NOT_SET = 0; + CREATE_CHANNEL_CONTENT = 100; + LIST_CHANGE_CONTENT = 102; + INVITE_CONTENT = 103; + APPLY_CONTENT = 104; + PERMIT_APPLY_CONTENT = 105; + REPLY_INVITE_CONTENT = 106; + KICK_OUT_CONTENT = 107; + CANCEL_APPLY_CONTENT = 108; + CANCEL_INVITE_CONTENT = 109; + LEAVE_CONTENT = 110; + FINISH_CONTENT = 111; + JOIN_DIRECT_CONTENT = 112; + JOIN_GROUP_CONTENT = 113; + PERMIT_GROUP_CONTENT = 114; + CANCEL_GROUP_CONTENT = 115; + LEAVE_GROUP_CONTENT = 116; + P2P_GROUP_CHANGE_CONTENT = 117; + GROUP_CHANGE_CONTENT = 118; +} + + + +enum MessageType { + MESSAGETYPE_SUBSUCCESS = 0; + MESSAGETYPE_ANCHORREMINDER = 1; + MESSAGETYPE_ENTERROOMEXPIRESOON = 2; + MESSAGETYPE_SUBGOALCREATETOANCHOR = 3; + MESSAGETYPE_SUBGOALCOMPLETETOAUDIENCE = 4; + MESSAGETYPE_SUBGOALCOMPLETETOANCHOR = 5; + MESSAGETYPE_SUBGIFTTIKTOK2USERNOTICE = 6; + MESSAGETYPE_SUBGIFTTIKTOK2ANCHORNOTICE = 7; + MESSAGETYPE_SUBGIFTTRECEIVESENDNOTICE = 8; + MESSAGETYPE_SUBGIFTSENDSUCCEEDROOMMESSAGE = 9; + MESSAGETYPE_SUBGIFTSENDSUCCEEDANCHORNOTICE = 10; + MESSAGETYPE_SUBGIFTLOWVERSIONUPGRADENOTICE = 11; + MESSAGETYPE_SUBGIFTUSERBUYAUTHNOTICE = 12; +} + +enum Scene { + SCENE_UNKNOWN = 0; + SCENE_CO_HOST = 2; + SCENE_MULTI_LIVE = 4; } \ No newline at end of file diff --git a/API/src/main/proto/webcast.proto b/API/src/main/proto/webcast.proto index 90a9139..576c954 100644 --- a/API/src/main/proto/webcast.proto +++ b/API/src/main/proto/webcast.proto @@ -442,7 +442,7 @@ message WebcastMemberMessage { //@WebcastPollMessage message WebcastPollMessage { Common common = 1; - int32 messageType = 2; + MessageType messageType = 2; int64 pollId = 3; PollStartContent startContent = 4; PollEndContent endContent = 5; @@ -576,7 +576,7 @@ message WebcastLinkMicFanTicketMethod { //@WebcastLinkMicMethod message WebcastLinkMicMethod { Common common = 1; - int64 messageType = 2; + MessageType messageType = 2; string accessKey = 3; int64 anchorLinkmicId = 4; int64 userId = 5; @@ -683,9 +683,9 @@ message WebcastSystemMessage { //@WebcastLinkMessage message WebcastLinkMessage { Common common = 1; - int64 MessageType = 2; + MessageType MessageType = 2; int64 LinkerId = 3; - int64 Scene = 4; + Scene Scene = 4; LinkerInviteContent InviteContent = 5; LinkerReplyContent ReplyContent = 6; LinkerCreateContent CreateContent = 7; @@ -712,14 +712,34 @@ message WebcastLinkMessage { string TransferExtra = 202; } -//@WebcastLinkLayerMessage + +// @WebcastLinkLayerMessage message WebcastLinkLayerMessage { Common common = 1; - LinkLayerMessageType messageType = 2; + MessageType messageType = 2; // Enum int64 channelId = 3; + Scene scene = 4; // Enum + CreateChannelContent createChannelContent = 100; + ListChangeContent listChangeContent = 102; + InviteContent inviteContent = 103; + ApplyContent applyContent = 104; + PermitApplyContent permitApplyContent = 105; + ReplyInviteContent replyInviteContent = 106; + KickOutContent kickOutContent = 107; + CancelApplyContent cancelApplyContent = 108; + CancelInviteContent cancelInviteContent = 109; + LeaveContent leaveContent = 110; + FinishChannelContent finishContent = 111; + JoinDirectContent joinDirectContent = 112; + JoinGroupContent joinGroupContent = 113; + PermitJoinGroupContent permitGroupContent = 114; + CancelJoinGroupContent cancelGroupContent = 115; + LeaveJoinGroupContent leaveGroupContent = 116; + P2PGroupChangeContent p2pGroupChangeContent = 117; + BusinessContent businessContent = 200; } - +// @RoomVerifyMessage message RoomVerifyMessage { Common common = 1; int32 action = 2; diff --git a/Client/src/main/java/io/github/jwdeveloper/tiktok/mappers/TikTokLiveMapper.java b/Client/src/main/java/io/github/jwdeveloper/tiktok/mappers/TikTokLiveMapper.java index a6df11a..1231e82 100644 --- a/Client/src/main/java/io/github/jwdeveloper/tiktok/mappers/TikTokLiveMapper.java +++ b/Client/src/main/java/io/github/jwdeveloper/tiktok/mappers/TikTokLiveMapper.java @@ -1,3 +1,25 @@ +/* + * Copyright (c) 2023-2023 jwdeveloper jacekwoln@gmail.com + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ package io.github.jwdeveloper.tiktok.mappers; import com.google.protobuf.GeneratedMessageV3; diff --git a/Client/src/main/java/io/github/jwdeveloper/tiktok/mappers/events/TikTokCommonEventHandler.java b/Client/src/main/java/io/github/jwdeveloper/tiktok/mappers/events/TikTokCommonEventHandler.java index fa40c26..7873ec1 100644 --- a/Client/src/main/java/io/github/jwdeveloper/tiktok/mappers/events/TikTokCommonEventHandler.java +++ b/Client/src/main/java/io/github/jwdeveloper/tiktok/mappers/events/TikTokCommonEventHandler.java @@ -1,3 +1,25 @@ +/* + * Copyright (c) 2023-2023 jwdeveloper jacekwoln@gmail.com + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ package io.github.jwdeveloper.tiktok.mappers.events; import io.github.jwdeveloper.tiktok.data.events.*; diff --git a/Examples/src/main/java/io/github/jwdeveloper/tiktok/CustomMappingExample.java b/Examples/src/main/java/io/github/jwdeveloper/tiktok/CustomMappingExample.java index 7ac34d9..325da05 100644 --- a/Examples/src/main/java/io/github/jwdeveloper/tiktok/CustomMappingExample.java +++ b/Examples/src/main/java/io/github/jwdeveloper/tiktok/CustomMappingExample.java @@ -1,3 +1,25 @@ +/* + * Copyright (c) 2023-2023 jwdeveloper jacekwoln@gmail.com + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ package io.github.jwdeveloper.tiktok; import io.github.jwdeveloper.tiktok.data.events.TikTokErrorEvent; diff --git a/Examples/src/main/java/io/github/jwdeveloper/tiktok/Examplee.java b/Examples/src/main/java/io/github/jwdeveloper/tiktok/Examplee.java new file mode 100644 index 0000000..43601be --- /dev/null +++ b/Examples/src/main/java/io/github/jwdeveloper/tiktok/Examplee.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2023-2023 jwdeveloper jacekwoln@gmail.com + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +package io.github.jwdeveloper.tiktok; + +public class Examplee +{ + public static void main(String[] args) + { + TikTokLive.newClient("skullchefasmr") + .onGift((liveClient, event) -> + { + System.out.println("Dzięki za gifta "+event.getGift().getName()); + }).buildAndConnect(); + } +}