mirror of
https://github.com/bbernhard/signal-cli-rest-api.git
synced 2026-05-19 13:34:19 +00:00
Add support for setting group member label
This commit is contained in:
parent
db63fd15e0
commit
f07c587309
@ -115,6 +115,16 @@ e.g:
|
|||||||
|
|
||||||
`curl -X GET -H "Content-Type: application/json" 'http://127.0.0.1:8080/v1/groups/+431212131491291'`
|
`curl -X GET -H "Content-Type: application/json" 'http://127.0.0.1:8080/v1/groups/+431212131491291'`
|
||||||
|
|
||||||
|
- Update your group member label
|
||||||
|
|
||||||
|
Updates the member label for the registered number in the given group. The group id can be obtained via the "List groups" REST call.
|
||||||
|
|
||||||
|
`curl -X PUT -H "Content-Type: application/json" -d '{"member_label": "<label>", "member_label_emoji": "<emoji>"}' 'http://127.0.0.1:8080/v1/groups/<number>/<group id>'`
|
||||||
|
|
||||||
|
e.g:
|
||||||
|
|
||||||
|
`curl -X PUT -H "Content-Type: application/json" -d '{"member_label": "Dad", "member_label_emoji": "👨👧"}' 'http://127.0.0.1:8080/v1/groups/+431212131491291/<group id>'`
|
||||||
|
|
||||||
- Delete a group
|
- Delete a group
|
||||||
|
|
||||||
Delete the group with the given group id. The group id can be obtained via the "List groups" REST call.
|
Delete the group with the given group id. The group id can be obtained via the "List groups" REST call.
|
||||||
|
|||||||
@ -48,12 +48,14 @@ type CreateGroupRequest struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type UpdateGroupRequest struct {
|
type UpdateGroupRequest struct {
|
||||||
Base64Avatar *string `json:"base64_avatar,omitempty"`
|
Base64Avatar *string `json:"base64_avatar,omitempty"`
|
||||||
Description *string `json:"description,omitempty"`
|
Description *string `json:"description,omitempty"`
|
||||||
Name *string `json:"name,omitempty"`
|
Name *string `json:"name,omitempty"`
|
||||||
ExpirationTime *int `json:"expiration_time,omitempty"`
|
MemberLabel *string `json:"member_label,omitempty"`
|
||||||
GroupLinkState *string `json:"group_link,omitempty" enums:"disabled,enabled,enabled-with-approval"`
|
MemberLabelEmoji *string `json:"member_label_emoji,omitempty"`
|
||||||
Permissions *ds.GroupPermissions `json:"permissions,omitempty"`
|
ExpirationTime *int `json:"expiration_time,omitempty"`
|
||||||
|
GroupLinkState *string `json:"group_link,omitempty" enums:"disabled,enabled,enabled-with-approval"`
|
||||||
|
Permissions *ds.GroupPermissions `json:"permissions,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type PinMessageInGroupRequest struct {
|
type PinMessageInGroupRequest struct {
|
||||||
@ -1860,7 +1862,7 @@ func (a *Api) UpdateGroup(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
err = a.signalClient.UpdateGroup(number, internalGroupId, req.Base64Avatar, req.Description, req.Name, req.ExpirationTime, groupLinkState,
|
err = a.signalClient.UpdateGroup(number, internalGroupId, req.Base64Avatar, req.Description, req.Name, req.ExpirationTime, groupLinkState,
|
||||||
editGroupPermission, addMembersPermission, sendMessagesPermission)
|
editGroupPermission, addMembersPermission, sendMessagesPermission, req.MemberLabel, req.MemberLabelEmoji)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.JSON(400, Error{Msg: err.Error()})
|
c.JSON(400, Error{Msg: err.Error()})
|
||||||
return
|
return
|
||||||
|
|||||||
@ -2053,7 +2053,8 @@ func (s *SignalClient) QuitGroup(number string, groupId string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *SignalClient) UpdateGroup(number string, groupId string, base64Avatar *string, groupDescription *string, groupName *string, expirationTime *int,
|
func (s *SignalClient) UpdateGroup(number string, groupId string, base64Avatar *string, groupDescription *string, groupName *string, expirationTime *int,
|
||||||
groupLinkState *GroupLinkState, editGroupPermission GroupPermission, addMembersPermission GroupPermission, sendMessagesPermission GroupPermission) error {
|
groupLinkState *GroupLinkState, editGroupPermission GroupPermission, addMembersPermission GroupPermission, sendMessagesPermission GroupPermission,
|
||||||
|
memberLabel *string, memberLabelEmoji *string) error {
|
||||||
var err error
|
var err error
|
||||||
var avatarTmpPath string = ""
|
var avatarTmpPath string = ""
|
||||||
if base64Avatar != nil {
|
if base64Avatar != nil {
|
||||||
@ -2102,6 +2103,8 @@ func (s *SignalClient) UpdateGroup(number string, groupId string, base64Avatar *
|
|||||||
EditGroupPermissions string `json:"setPermissionEditDetails,omitempty"`
|
EditGroupPermissions string `json:"setPermissionEditDetails,omitempty"`
|
||||||
AddMembersPermissions string `json:"setPermissionAddMember,omitempty"`
|
AddMembersPermissions string `json:"setPermissionAddMember,omitempty"`
|
||||||
SendMessagesPermissions string `json:"setPermissionSendMessages,omitempty"`
|
SendMessagesPermissions string `json:"setPermissionSendMessages,omitempty"`
|
||||||
|
MemberLabel *string `json:"memberLabel,omitempty"`
|
||||||
|
MemberLabelEmoji *string `json:"memberLabelEmoji,omitempty"`
|
||||||
}
|
}
|
||||||
request := Request{GroupId: groupId}
|
request := Request{GroupId: groupId}
|
||||||
|
|
||||||
@ -2132,6 +2135,9 @@ func (s *SignalClient) UpdateGroup(number string, groupId string, base64Avatar *
|
|||||||
request.SendMessagesPermissions = sendMessagesPermission.String()
|
request.SendMessagesPermissions = sendMessagesPermission.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
request.MemberLabel = memberLabel
|
||||||
|
request.MemberLabelEmoji = memberLabelEmoji
|
||||||
|
|
||||||
jsonRpc2Client, err := s.getJsonRpc2Client()
|
jsonRpc2Client, err := s.getJsonRpc2Client()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -2171,6 +2177,14 @@ func (s *SignalClient) UpdateGroup(number string, groupId string, base64Avatar *
|
|||||||
cmd = append(cmd, []string{"--set-permission-send-messages", sendMessagesPermission.String()}...)
|
cmd = append(cmd, []string{"--set-permission-send-messages", sendMessagesPermission.String()}...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if memberLabelEmoji != nil {
|
||||||
|
cmd = append(cmd, []string{"--member-label-emoji", *memberLabelEmoji}...)
|
||||||
|
}
|
||||||
|
|
||||||
|
if memberLabel != nil {
|
||||||
|
cmd = append(cmd, []string{"--member-label", *memberLabel}...)
|
||||||
|
}
|
||||||
|
|
||||||
_, err = s.cliClient.Execute(true, cmd, "")
|
_, err = s.cliClient.Execute(true, cmd, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -3353,6 +3353,12 @@ const docTemplate = `{
|
|||||||
"enabled-with-approval"
|
"enabled-with-approval"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"member_label": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"member_label_emoji": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"name": {
|
"name": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -3350,6 +3350,12 @@
|
|||||||
"enabled-with-approval"
|
"enabled-with-approval"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"member_label": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"member_label_emoji": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"name": {
|
"name": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
@ -3835,4 +3841,4 @@
|
|||||||
"name": "Sticker Packs"
|
"name": "Sticker Packs"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -438,6 +438,10 @@ definitions:
|
|||||||
- enabled
|
- enabled
|
||||||
- enabled-with-approval
|
- enabled-with-approval
|
||||||
type: string
|
type: string
|
||||||
|
member_label:
|
||||||
|
type: string
|
||||||
|
member_label_emoji:
|
||||||
|
type: string
|
||||||
name:
|
name:
|
||||||
type: string
|
type: string
|
||||||
permissions:
|
permissions:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user