mirror of
https://github.com/AsamK/signal-cli
synced 2025-09-01 20:10:39 +00:00
Added Quit group option
This commit is contained in:
parent
be31eed294
commit
11baf18fae
2 changed files with 19 additions and 7 deletions
|
@ -403,7 +403,7 @@ public class Main {
|
||||||
if (ns.getString("group") != null) {
|
if (ns.getString("group") != null) {
|
||||||
groupId = decodeGroupId(ns.getString("group"));
|
groupId = decodeGroupId(ns.getString("group"));
|
||||||
}
|
}
|
||||||
byte[] newGroupId = m.sendUpdateGroupMessage(groupId, ns.getString("name"), ns.<String>getList("member"), ns.getString("avatar"));
|
byte[] newGroupId = m.sendUpdateGroupMessage(groupId, ns.getString("name"), ns.<String>getList("member"), ns.getString("avatar"), ns.getString("quit")!=null);
|
||||||
if (groupId == null) {
|
if (groupId == null) {
|
||||||
System.out.println("Creating new group \"" + Base64.encodeBytes(newGroupId) + "\" …");
|
System.out.println("Creating new group \"" + Base64.encodeBytes(newGroupId) + "\" …");
|
||||||
}
|
}
|
||||||
|
@ -504,7 +504,7 @@ public class Main {
|
||||||
.help("Show package version.")
|
.help("Show package version.")
|
||||||
.action(Arguments.version());
|
.action(Arguments.version());
|
||||||
parser.addArgument("--config")
|
parser.addArgument("--config")
|
||||||
.help("Set the path, where to store the config (Default: $HOME/.config/signal-cli).");
|
.help("Set the path, where to store the config (Default: $HOME/.config/signal).");
|
||||||
|
|
||||||
MutuallyExclusiveGroup mut = parser.addMutuallyExclusiveGroup();
|
MutuallyExclusiveGroup mut = parser.addMutuallyExclusiveGroup();
|
||||||
mut.addArgument("-u", "--username")
|
mut.addArgument("-u", "--username")
|
||||||
|
@ -550,7 +550,7 @@ public class Main {
|
||||||
|
|
||||||
Subparser parserSend = subparsers.addParser("send");
|
Subparser parserSend = subparsers.addParser("send");
|
||||||
parserSend.addArgument("-g", "--group")
|
parserSend.addArgument("-g", "--group")
|
||||||
.help("Specify the recipient group ID.");
|
.help("Specify the recipient group ID. If '-m' parameter is not present the messag is read from STDIN and yuo have to type <ENTER>CTRL+D<ENTER> (aka EOF) in order to stop reading and sending the content");
|
||||||
parserSend.addArgument("recipient")
|
parserSend.addArgument("recipient")
|
||||||
.help("Specify the recipients' phone number.")
|
.help("Specify the recipients' phone number.")
|
||||||
.nargs("*");
|
.nargs("*");
|
||||||
|
@ -575,6 +575,9 @@ public class Main {
|
||||||
.help("Specify the new group name.");
|
.help("Specify the new group name.");
|
||||||
parserUpdateGroup.addArgument("-a", "--avatar")
|
parserUpdateGroup.addArgument("-a", "--avatar")
|
||||||
.help("Specify a new group avatar image file");
|
.help("Specify a new group avatar image file");
|
||||||
|
parserUpdateGroup.addArgument("-q", "--quit")
|
||||||
|
.help("Quit from the group")
|
||||||
|
.action(Arguments.storeTrue());
|
||||||
parserUpdateGroup.addArgument("-m", "--member")
|
parserUpdateGroup.addArgument("-m", "--member")
|
||||||
.nargs("*")
|
.nargs("*")
|
||||||
.help("Specify one or more members to add to the group");
|
.help("Specify one or more members to add to the group");
|
||||||
|
|
|
@ -63,8 +63,16 @@ import java.util.concurrent.TimeUnit;
|
||||||
import java.util.concurrent.TimeoutException;
|
import java.util.concurrent.TimeoutException;
|
||||||
|
|
||||||
class Manager implements Signal {
|
class Manager implements Signal {
|
||||||
private final static String URL = "https://textsecure-service.whispersystems.org";
|
// private final static String URL = "https://10.1.4.252:8080";
|
||||||
private final static TrustStore TRUST_STORE = new WhisperTrustStore();
|
// private final static TrustStore TRUST_STORE = new TenOneFourTwohundredfiftyfourTrustStore();
|
||||||
|
|
||||||
|
// private final static String URL = "https://127.0.0.1:8080";
|
||||||
|
// private final static TrustStore TRUST_STORE = new LoopbackTrustStore();
|
||||||
|
|
||||||
|
private final static String URL = "https://signal.sinesy.it:8080";
|
||||||
|
private final static TrustStore TRUST_STORE = new SinesyTrustStore();
|
||||||
|
//private final static String URL = "https://textsecure-service.whispersystems.org";
|
||||||
|
//private final static TrustStore TRUST_STORE = new WhisperTrustStore();
|
||||||
|
|
||||||
public final static String PROJECT_NAME = Manager.class.getPackage().getImplementationTitle();
|
public final static String PROJECT_NAME = Manager.class.getPackage().getImplementationTitle();
|
||||||
public final static String PROJECT_VERSION = Manager.class.getPackage().getImplementationVersion();
|
public final static String PROJECT_VERSION = Manager.class.getPackage().getImplementationVersion();
|
||||||
|
@ -456,7 +464,7 @@ class Manager implements Signal {
|
||||||
sendMessage(message, g.members);
|
sendMessage(message, g.members);
|
||||||
}
|
}
|
||||||
|
|
||||||
public byte[] sendUpdateGroupMessage(byte[] groupId, String name, Collection<String> members, String avatarFile) throws IOException, EncapsulatedExceptions, GroupNotFoundException, AttachmentInvalidException, UntrustedIdentityException {
|
public byte[] sendUpdateGroupMessage(byte[] groupId, String name, Collection<String> members, String avatarFile, boolean quit) throws IOException, EncapsulatedExceptions, GroupNotFoundException, AttachmentInvalidException, UntrustedIdentityException {
|
||||||
GroupInfo g;
|
GroupInfo g;
|
||||||
if (groupId == null) {
|
if (groupId == null) {
|
||||||
// Create new group
|
// Create new group
|
||||||
|
@ -482,11 +490,12 @@ class Manager implements Signal {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SignalServiceGroup.Builder group = SignalServiceGroup.newBuilder(SignalServiceGroup.Type.UPDATE)
|
SignalServiceGroup.Builder group = SignalServiceGroup.newBuilder(quit?SignalServiceGroup.Type.QUIT:SignalServiceGroup.Type.UPDATE)
|
||||||
.withId(g.groupId)
|
.withId(g.groupId)
|
||||||
.withName(g.name)
|
.withName(g.name)
|
||||||
.withMembers(new ArrayList<>(g.members));
|
.withMembers(new ArrayList<>(g.members));
|
||||||
|
|
||||||
|
|
||||||
if (avatarFile != null) {
|
if (avatarFile != null) {
|
||||||
try {
|
try {
|
||||||
group.withAvatar(createAttachment(avatarFile));
|
group.withAvatar(createAttachment(avatarFile));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue