diff --git a/channel.go b/channel.go index 0953709..2e2d9ed 100644 --- a/channel.go +++ b/channel.go @@ -118,3 +118,23 @@ func (c Channel) FetchMessages(options map[string]interface{}) (*FetchedMessages return fetchedMsgs, nil } + +// Fetch a message from channel by Id. +func (c Channel) FetchMessage(id string) (*Message, error) { + msg := &Message{} + + resp, err := c.Client.Request("GET", "/channels/"+c.Id+"/messages/"+id, []byte{}) + + if err != nil { + return msg, err + } + + err = json.Unmarshal(resp, msg) + + if err != nil { + return msg, err + } + + msg.Client = c.Client + return msg, nil +}