@@ -772,22 +772,10 @@ func (s *Session) GuildMember(guildID, userID string) (st *Member, err error) {
772
772
}
773
773
774
774
// GuildMemberAdd force joins a user to the guild.
775
- // accessToken : Valid access_token for the user.
776
775
// guildID : The ID of a Guild.
777
776
// userID : The ID of a User.
778
- // nick : Value to set users nickname to
779
- // roles : A list of role ID's to set on the member.
780
- // mute : If the user is muted.
781
- // deaf : If the user is deafened.
782
- func (s * Session ) GuildMemberAdd (accessToken , guildID , userID , nick string , roles []string , mute , deaf bool ) (err error ) {
783
-
784
- data := struct {
785
- AccessToken string `json:"access_token"`
786
- Nick string `json:"nick,omitempty"`
787
- Roles []string `json:"roles,omitempty"`
788
- Mute bool `json:"mute,omitempty"`
789
- Deaf bool `json:"deaf,omitempty"`
790
- }{accessToken , nick , roles , mute , deaf }
777
+ // data : Parameters of the user to add.
778
+ func (s * Session ) GuildMemberAdd (guildID , userID string , data * GuildMemberAddParams ) (err error ) {
791
779
792
780
_ , err = s .RequestWithBucketID ("PUT" , EndpointGuildMember (guildID , userID ), data , EndpointGuildMember (guildID , "" ))
793
781
if err != nil {
@@ -820,25 +808,11 @@ func (s *Session) GuildMemberDeleteWithReason(guildID, userID, reason string) (e
820
808
return
821
809
}
822
810
823
- // GuildMemberEdit edits the roles of a member.
824
- // guildID : The ID of a Guild.
825
- // userID : The ID of a User.
826
- // roles : A list of role ID's to set on the member.
827
- func (s * Session ) GuildMemberEdit (guildID , userID string , roles []string ) (err error ) {
828
-
829
- data := struct {
830
- Roles []string `json:"roles"`
831
- }{roles }
832
-
833
- _ , err = s .RequestWithBucketID ("PATCH" , EndpointGuildMember (guildID , userID ), data , EndpointGuildMember (guildID , "" ))
834
- return
835
- }
836
-
837
- // GuildMemberEditComplex edits the nickname and roles of a member.
811
+ // GuildMemberEdit edits and returns updated member.
838
812
// guildID : The ID of a Guild.
839
813
// userID : The ID of a User.
840
- // data : A GuildMemberEditData struct with the new nickname and roles
841
- func (s * Session ) GuildMemberEditComplex (guildID , userID string , data GuildMemberParams ) (st * Member , err error ) {
814
+ // data : Updated GuildMember data.
815
+ func (s * Session ) GuildMemberEdit (guildID , userID string , data * GuildMemberParams ) (st * Member , err error ) {
842
816
var body []byte
843
817
body , err = s .RequestWithBucketID ("PATCH" , EndpointGuildMember (guildID , userID ), data , EndpointGuildMember (guildID , "" ))
844
818
if err != nil {
@@ -849,6 +823,15 @@ func (s *Session) GuildMemberEditComplex(guildID, userID string, data GuildMembe
849
823
return
850
824
}
851
825
826
+ // GuildMemberEditComplex edits the nickname and roles of a member.
827
+ // NOTE: deprecated, use GuildMemberEdit instead.
828
+ // guildID : The ID of a Guild.
829
+ // userID : The ID of a User.
830
+ // data : A GuildMemberEditData struct with the new nickname and roles
831
+ func (s * Session ) GuildMemberEditComplex (guildID , userID string , data * GuildMemberParams ) (st * Member , err error ) {
832
+ return s .GuildMemberEdit (guildID , userID , data )
833
+ }
834
+
852
835
// GuildMemberMove moves a guild member from one voice channel to another/none
853
836
// guildID : The ID of a Guild.
854
837
// userID : The ID of a User.
@@ -1043,11 +1026,11 @@ func (s *Session) GuildRoles(guildID string) (st []*Role, err error) {
1043
1026
return // TODO return pointer
1044
1027
}
1045
1028
1046
- // GuildRoleCreate returns a new Guild Role.
1047
- // guildID: The ID of a Guild.
1048
- func ( s * Session ) GuildRoleCreate ( guildID string ) ( st * Role , err error ) {
1049
-
1050
- body , err := s .RequestWithBucketID ("POST" , EndpointGuildRoles (guildID ), nil , EndpointGuildRoles (guildID ))
1029
+ // GuildRoleCreate creates a new Guild Role and returns it .
1030
+ // guildID : The ID of a Guild.
1031
+ // data : New Role parameters.
1032
+ func ( s * Session ) GuildRoleCreate ( guildID string , data * RoleParams ) ( st * Role , err error ) {
1033
+ body , err := s .RequestWithBucketID ("POST" , EndpointGuildRoles (guildID ), data , EndpointGuildRoles (guildID ))
1051
1034
if err != nil {
1052
1035
return
1053
1036
}
@@ -1057,30 +1040,17 @@ func (s *Session) GuildRoleCreate(guildID string) (st *Role, err error) {
1057
1040
return
1058
1041
}
1059
1042
1060
- // GuildRoleEdit updates an existing Guild Role with new values
1043
+ // GuildRoleEdit updates an existing Guild Role and returns updated Role data.
1061
1044
// guildID : The ID of a Guild.
1062
1045
// roleID : The ID of a Role.
1063
- // name : The name of the Role.
1064
- // color : The color of the role (decimal, not hex).
1065
- // hoist : Whether to display the role's users separately.
1066
- // perm : The permissions for the role.
1067
- // mention : Whether this role is mentionable
1068
- func (s * Session ) GuildRoleEdit (guildID , roleID , name string , color int , hoist bool , perm int64 , mention bool ) (st * Role , err error ) {
1046
+ // data : Updated Role data.
1047
+ func (s * Session ) GuildRoleEdit (guildID , roleID string , data * RoleParams ) (st * Role , err error ) {
1069
1048
1070
1049
// Prevent sending a color int that is too big.
1071
- if color > 0xFFFFFF {
1072
- err = fmt .Errorf ("color value cannot be larger than 0xFFFFFF" )
1073
- return nil , err
1050
+ if data .Color != nil && * data .Color > 0xFFFFFF {
1051
+ return nil , fmt .Errorf ("color value cannot be larger than 0xFFFFFF" )
1074
1052
}
1075
1053
1076
- data := struct {
1077
- Name string `json:"name"` // The role's name (overwrites existing)
1078
- Color int `json:"color"` // The color the role should have (as a decimal, not hex)
1079
- Hoist bool `json:"hoist"` // Whether to display the role's users separately
1080
- Permissions int64 `json:"permissions,string"` // The overall permissions number of the role (overwrites existing)
1081
- Mentionable bool `json:"mentionable"` // Whether this role is mentionable
1082
- }{name , color , hoist , perm , mention }
1083
-
1084
1054
body , err := s .RequestWithBucketID ("PATCH" , EndpointGuildRole (guildID , roleID ), data , EndpointGuildRole (guildID , "" ))
1085
1055
if err != nil {
1086
1056
return
@@ -1298,12 +1268,10 @@ func (s *Session) GuildEmbed(guildID string) (st *GuildEmbed, err error) {
1298
1268
return
1299
1269
}
1300
1270
1301
- // GuildEmbedEdit returns the embed for a Guild.
1271
+ // GuildEmbedEdit edits the embed of a Guild.
1302
1272
// guildID : The ID of a Guild.
1303
- func (s * Session ) GuildEmbedEdit (guildID string , enabled bool , channelID string ) (err error ) {
1304
-
1305
- data := GuildEmbed {enabled , channelID }
1306
-
1273
+ // data : New GuildEmbed data.
1274
+ func (s * Session ) GuildEmbedEdit (guildID string , data * GuildEmbed ) (err error ) {
1307
1275
_ , err = s .RequestWithBucketID ("PATCH" , EndpointGuildEmbed (guildID ), data , EndpointGuildEmbed (guildID ))
1308
1276
return
1309
1277
}
@@ -1371,19 +1339,10 @@ func (s *Session) GuildEmoji(guildID, emojiID string) (emoji *Emoji, err error)
1371
1339
return
1372
1340
}
1373
1341
1374
- // GuildEmojiCreate creates a new emoji
1342
+ // GuildEmojiCreate creates a new Emoji.
1375
1343
// guildID : The ID of a Guild.
1376
- // name : The Name of the Emoji.
1377
- // image : The base64 encoded emoji image, has to be smaller than 256KB.
1378
- // roles : The roles for which this emoji will be whitelisted, can be nil.
1379
- func (s * Session ) GuildEmojiCreate (guildID , name , image string , roles []string ) (emoji * Emoji , err error ) {
1380
-
1381
- data := struct {
1382
- Name string `json:"name"`
1383
- Image string `json:"image"`
1384
- Roles []string `json:"roles,omitempty"`
1385
- }{name , image , roles }
1386
-
1344
+ // data : New Emoji data.
1345
+ func (s * Session ) GuildEmojiCreate (guildID string , data * EmojiParams ) (emoji * Emoji , err error ) {
1387
1346
body , err := s .RequestWithBucketID ("POST" , EndpointGuildEmojis (guildID ), data , EndpointGuildEmojis (guildID ))
1388
1347
if err != nil {
1389
1348
return
@@ -1393,18 +1352,11 @@ func (s *Session) GuildEmojiCreate(guildID, name, image string, roles []string)
1393
1352
return
1394
1353
}
1395
1354
1396
- // GuildEmojiEdit modifies an emoji
1355
+ // GuildEmojiEdit modifies and returns updated Emoji.
1397
1356
// guildID : The ID of a Guild.
1398
1357
// emojiID : The ID of an Emoji.
1399
- // name : The Name of the Emoji.
1400
- // roles : The roles for which this emoji will be whitelisted, if nil or empty the roles will be reset.
1401
- func (s * Session ) GuildEmojiEdit (guildID , emojiID , name string , roles []string ) (emoji * Emoji , err error ) {
1402
-
1403
- data := struct {
1404
- Name string `json:"name"`
1405
- Roles []string `json:"roles"`
1406
- }{name , roles }
1407
-
1358
+ // data : Updated Emoji data.
1359
+ func (s * Session ) GuildEmojiEdit (guildID , emojiID string , data * EmojiParams ) (emoji * Emoji , err error ) {
1408
1360
body , err := s .RequestWithBucketID ("PATCH" , EndpointGuildEmoji (guildID , emojiID ), data , EndpointGuildEmojis (guildID ))
1409
1361
if err != nil {
1410
1362
return
@@ -1470,16 +1422,9 @@ func (s *Session) GuildTemplates(guildID string) (st []*GuildTemplate, err error
1470
1422
}
1471
1423
1472
1424
// GuildTemplateCreate creates a template for the guild
1473
- // guildID: The ID of the guild
1474
- // name: The name of the template (1-100 characters)
1475
- // description: The description for the template (0-120 characters)
1476
- func (s * Session ) GuildTemplateCreate (guildID , name , description string ) (st * GuildTemplate ) {
1477
-
1478
- data := struct {
1479
- Name string `json:"name"`
1480
- Description string `json:"description"`
1481
- }{name , description }
1482
-
1425
+ // guildID : The ID of the guild
1426
+ // data : Template metadata
1427
+ func (s * Session ) GuildTemplateCreate (guildID string , data * GuildTemplateParams ) (st * GuildTemplate ) {
1483
1428
body , err := s .RequestWithBucketID ("POST" , EndpointGuildTemplates (guildID ), data , EndpointGuildTemplates (guildID ))
1484
1429
if err != nil {
1485
1430
return
@@ -1499,16 +1444,10 @@ func (s *Session) GuildTemplateSync(guildID, templateCode string) (err error) {
1499
1444
}
1500
1445
1501
1446
// GuildTemplateEdit modifies the template's metadata
1502
- // guildID: The ID of the guild
1503
- // templateCode: The code of the template
1504
- // name: The name of the template (1-100 characters)
1505
- // description: The description for the template (0-120 characters)
1506
- func (s * Session ) GuildTemplateEdit (guildID , templateCode , name , description string ) (st * GuildTemplate , err error ) {
1507
-
1508
- data := struct {
1509
- Name string `json:"name,omitempty"`
1510
- Description string `json:"description,omitempty"`
1511
- }{name , description }
1447
+ // guildID : The ID of the guild
1448
+ // templateCode : The code of the template
1449
+ // data : New template metadata
1450
+ func (s * Session ) GuildTemplateEdit (guildID , templateCode string , data * GuildTemplateParams ) (st * GuildTemplate , err error ) {
1512
1451
1513
1452
body , err := s .RequestWithBucketID ("PATCH" , EndpointGuildTemplateSync (guildID , templateCode ), data , EndpointGuildTemplateSync (guildID , "" ))
1514
1453
if err != nil {
@@ -1544,26 +1483,26 @@ func (s *Session) Channel(channelID string) (st *Channel, err error) {
1544
1483
return
1545
1484
}
1546
1485
1547
- // ChannelEdit edits the given channel
1548
- // channelID : The ID of a Channel
1549
- // name : The new name to assign the channel.
1550
- func (s * Session ) ChannelEdit (channelID , name string ) (* Channel , error ) {
1551
- return s .ChannelEditComplex (channelID , & ChannelEdit {
1552
- Name : name ,
1553
- })
1554
- }
1555
-
1556
- // ChannelEditComplex edits an existing channel, replacing the parameters entirely with ChannelEdit struct
1557
- // channelID : The ID of a Channel
1558
- // data : The channel struct to send
1559
- func (s * Session ) ChannelEditComplex (channelID string , data * ChannelEdit ) (st * Channel , err error ) {
1486
+ // ChannelEdit edits the given channel and returns the updated Channel data.
1487
+ // channelID : The ID of a Channel.
1488
+ // data : New Channel data.
1489
+ func (s * Session ) ChannelEdit (channelID string , data * ChannelEdit ) (st * Channel , err error ) {
1560
1490
body , err := s .RequestWithBucketID ("PATCH" , EndpointChannel (channelID ), data , EndpointChannel (channelID ))
1561
1491
if err != nil {
1562
1492
return
1563
1493
}
1564
1494
1565
1495
err = unmarshal (body , & st )
1566
1496
return
1497
+
1498
+ }
1499
+
1500
+ // ChannelEditComplex edits an existing channel, replacing the parameters entirely with ChannelEdit struct
1501
+ // NOTE: deprecated, use ChannelEdit instead
1502
+ // channelID : The ID of a Channel
1503
+ // data : The channel struct to send
1504
+ func (s * Session ) ChannelEditComplex (channelID string , data * ChannelEdit ) (st * Channel , err error ) {
1505
+ return s .ChannelEdit (channelID , data )
1567
1506
}
1568
1507
1569
1508
// ChannelDelete deletes the given channel
0 commit comments