Add Pin and Unpin methods to Chat

This commit is contained in:
Sam
2019-09-21 11:20:56 -04:00
parent 798f98f679
commit 9dbf3b1664
2 changed files with 33 additions and 0 deletions

31
chat.go
View File

@ -332,3 +332,34 @@ func (c Chat) LoadFlip(messageID int, conversationID string, flipConversationID
} }
return r, nil return r, nil
} }
// Pin pins a message to a channel
func (c Chat) Pin(messageID int) (ChatAPI, error) {
m := ChatAPI{
Params: &params{},
}
m.Method = "pin"
m.Params.Options.Channel = c.Channel
m.Params.Options.MessageID = messageID
r, err := chatAPIOut(c.keybase, m)
if err != nil {
return ChatAPI{}, err
}
return r, nil
}
// Unpin clears any pinned messages from a channel
func (c Chat) Unpin() (ChatAPI, error) {
m := ChatAPI{
Params: &params{},
}
m.Method = "unpin"
m.Params.Options.Channel = c.Channel
r, err := chatAPIOut(c.keybase, m)
if err != nil {
return ChatAPI{}, err
}
return r, nil
}

View File

@ -468,6 +468,8 @@ type chat interface {
Upload(title string, filepath string) (ChatAPI, error) Upload(title string, filepath string) (ChatAPI, error)
Download(messageID int, filepath string) (ChatAPI, error) Download(messageID int, filepath string) (ChatAPI, error)
LoadFlip(messageID int, conversationID string, flipConversationID string, gameID string) (ChatAPI, error) LoadFlip(messageID int, conversationID string, flipConversationID string, gameID string) (ChatAPI, error)
Pin(messageID int) (ChatAPI, error)
Unpin() (ChatAPI, error)
} }
type chatAPI interface { type chatAPI interface {