github.com/keybase/client/go@v0.0.0-20240309051027-028f7c731f8b/chat/commands/leave.go (about) 1 package commands 2 3 import ( 4 "context" 5 6 "github.com/keybase/client/go/chat/globals" 7 "github.com/keybase/client/go/protocol/chat1" 8 "github.com/keybase/client/go/protocol/gregor1" 9 ) 10 11 type Leave struct { 12 *baseCommand 13 } 14 15 func NewLeave(g *globals.Context) *Leave { 16 return &Leave{ 17 baseCommand: newBaseCommand(g, "leave", "", "Leave the current team channel", false), 18 } 19 } 20 21 func (h *Leave) Execute(ctx context.Context, uid gregor1.UID, convID chat1.ConversationID, 22 tlfName, text string, replyTo *chat1.MessageID) (err error) { 23 defer h.Trace(ctx, &err, "Leave")() 24 if !h.Match(ctx, text) { 25 return ErrInvalidCommand 26 } 27 return h.G().ChatHelper.LeaveConversation(ctx, uid, convID) 28 }