Skip to content

Commit 3521a3b

Browse files
committed
add /remove and /removeadmin commands
1 parent a6d7954 commit 3521a3b

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

main.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,9 +414,11 @@ func PrintHelp() {
414414
fmt.Fprintln(textView, "[-::-]Groups[-::-]")
415415
fmt.Fprintln(textView, "[::b] "+cmdPrefix+"leave[::-] = Leave group")
416416
fmt.Fprintln(textView, "[::b] "+cmdPrefix+"create[::-] [user-id[] [user-id[] Group Subject = Create group with users")
417+
fmt.Fprintln(textView, "[::b] "+cmdPrefix+"subject[::-] New Subject = Change subject of group")
417418
fmt.Fprintln(textView, "[::b] "+cmdPrefix+"add[::-] [user-id[] = Add user to group")
419+
fmt.Fprintln(textView, "[::b] "+cmdPrefix+"remove[::-] [user-id[] = Remove user from group")
418420
fmt.Fprintln(textView, "[::b] "+cmdPrefix+"admin[::-] [user-id[] = Set admin role for user in group")
419-
fmt.Fprintln(textView, "[::b] "+cmdPrefix+"subject[::-] New Subject = Change subject of group")
421+
fmt.Fprintln(textView, "[::b] "+cmdPrefix+"removeadmin[::-] [user-id[] = Remove admin role for user in group")
420422
fmt.Fprintln(textView, "Use[::b]", config.Config.Keymap.CommandCopyuser, "[::-]to copy a selected user id")
421423
fmt.Fprintln(textView, "")
422424
fmt.Fprintln(textView, "Configuration:")

messages/session_manager.go

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -610,6 +610,40 @@ func (sm *SessionManager) execCommand(command Command) {
610610
sm.uiHandler.PrintText("added new members for " + groupId)
611611
}
612612
sm.uiHandler.PrintError(err)
613+
case "remove":
614+
groupId := sm.currentReceiver
615+
if strings.Index(groupId, GROUPSUFFIX) < 0 {
616+
sm.uiHandler.PrintText("not a group")
617+
return
618+
}
619+
if !checkParam(command.Params, 1) {
620+
sm.printCommandUsage("remove", "[user-id[]")
621+
return
622+
}
623+
wac := sm.getConnection()
624+
var err error
625+
_, err = wac.RemoveMember(groupId, command.Params)
626+
if err == nil {
627+
sm.uiHandler.PrintText("removed from " + groupId)
628+
}
629+
sm.uiHandler.PrintError(err)
630+
case "removeadmin":
631+
groupId := sm.currentReceiver
632+
if strings.Index(groupId, GROUPSUFFIX) < 0 {
633+
sm.uiHandler.PrintText("not a group")
634+
return
635+
}
636+
if !checkParam(command.Params, 1) {
637+
sm.printCommandUsage("removeadmin", "[user-id[]")
638+
return
639+
}
640+
wac := sm.getConnection()
641+
var err error
642+
_, err = wac.RemoveAdmin(groupId, command.Params)
643+
if err == nil {
644+
sm.uiHandler.PrintText("removed admin for " + groupId)
645+
}
646+
sm.uiHandler.PrintError(err)
613647
case "admin":
614648
groupId := sm.currentReceiver
615649
if strings.Index(groupId, GROUPSUFFIX) < 0 {

0 commit comments

Comments
 (0)