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) {
7575 super (catnip );
7676 }
7777
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+
7888 @ Nonnull
7989 @ CheckReturnValue
8090 public Completable modifyGuildMember (@ Nonnull final String guildId , @ Nonnull final String memberId ,
You can’t perform that action at this time.
0 commit comments