This repository was archived by the owner on Jun 9, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +62
-0
lines changed
src/main/java/com/mewna/catnip/rest Expand file tree Collapse file tree 2 files changed +62
-0
lines changed Original file line number Diff line number Diff line change
1
+ package com .mewna .catnip .rest .guild ;
2
+
3
+ import com .grack .nanojson .JsonArray ;
4
+ import com .grack .nanojson .JsonObject ;
5
+ import com .mewna .catnip .util .JsonConvertible ;
6
+ import lombok .Getter ;
7
+ import lombok .Setter ;
8
+ import lombok .experimental .Accessors ;
9
+
10
+ import javax .annotation .CheckReturnValue ;
11
+ import javax .annotation .Nonnull ;
12
+ import java .util .List ;
13
+
14
+ @ Accessors (fluent = true )
15
+ @ Getter
16
+ @ Setter
17
+ public class MemberAddOptions implements JsonConvertible {
18
+
19
+ private String accessToken ;
20
+ private String nickname ;
21
+ private List <String > roles ;
22
+ private Boolean mute ;
23
+ private Boolean deaf ;
24
+
25
+ @ Nonnull
26
+ @ CheckReturnValue
27
+ public static MemberAddOptions create () {
28
+ return new MemberAddOptions ();
29
+ }
30
+
31
+ @ Nonnull
32
+ @ Override
33
+ public JsonObject toJson () {
34
+ final JsonObject object = new JsonObject ();
35
+ object .put ("access_token" , accessToken );
36
+ if (roles != null ) {
37
+ final JsonArray array = new JsonArray ();
38
+ array .addAll (roles );
39
+ object .put ("roles" , array );
40
+ }
41
+ if (nickname != null ) {
42
+ object .put ("nick" , nickname );
43
+ }
44
+ if (mute != null ) {
45
+ object .put ("mute" , mute );
46
+ }
47
+ if (deaf != null ) {
48
+ object .put ("deaf" , deaf );
49
+ }
50
+ return object ;
51
+ }
52
+ }
Original file line number Diff line number Diff line change @@ -75,6 +75,16 @@ public RestGuild(final CatnipImpl catnip) {
75
75
super (catnip );
76
76
}
77
77
78
+ @ Nonnull
79
+ @ CheckReturnValue
80
+ public Observable <Member > addGuildMember (@ Nonnull final String guildId , @ Nonnull final String memberId ,
81
+ @ Nonnull final MemberAddOptions options ) {
82
+ return catnip ().requester ()
83
+ .queue (new OutboundRequest (Routes .ADD_GUILD_MEMBER .withMajorParam (guildId ),
84
+ Map .of ("user" , memberId ), options .toJson ()))
85
+ .map (payload -> entityBuilder ().createMember (guildId , payload .object ()));
86
+ }
87
+
78
88
@ Nonnull
79
89
@ CheckReturnValue
80
90
public Completable modifyGuildMember (@ Nonnull final String guildId , @ Nonnull final String memberId ,
You can’t perform that action at this time.
0 commit comments