implemented unregister in json-rpc mode

see #774
This commit is contained in:
Bernhard B 2026-01-13 22:21:20 +01:00
parent 0650451a02
commit 354df7472c

View File

@ -761,9 +761,30 @@ func (s *SignalClient) RegisterNumber(number string, useVoice bool, captcha stri
func (s *SignalClient) UnregisterNumber(number string, deleteAccount bool, deleteLocalData bool) error {
if s.signalCliMode == JsonRpc {
return errors.New("This functionality is only available in normal/native mode!")
type Request struct {
DeleteAccount bool `json:"delete-account,omitempty"`
}
req := Request{}
if deleteAccount {
req.DeleteAccount = true
}
jsonRpc2Client, err := s.getJsonRpc2Client()
if err != nil {
return err
}
_, err = jsonRpc2Client.getRaw("unregister", &number, req)
if err != nil {
return err
}
if deleteLocalData {
return s.DeleteLocalAccountData(number, false)
}
return nil
} else {
command := []string{"--config", s.signalCliConfig, "-a", number, "unregister"}
if deleteAccount {
command = append(command, "--delete-account")
@ -783,6 +804,7 @@ func (s *SignalClient) UnregisterNumber(number string, deleteAccount bool, delet
return err
}
}
func (s *SignalClient) DeleteLocalAccountData(number string, ignoreRegistered bool) error {
if s.signalCliMode == JsonRpc {