message: move Media function from context

pull/452/head
Demian 2 years ago
parent 61dabe90ab
commit 10b70148f7

@ -22,9 +22,6 @@ type Context interface {
// Message returns stored message if such presented.
Message() *Message
// Media returns message media if such presented.
Media() Media
// Callback returns stored callback if such presented.
Callback() *Callback
@ -192,29 +189,6 @@ func (c *nativeContext) Message() *Message {
}
}
func (c *nativeContext) Media() Media {
m := c.Message()
switch {
case m.Photo != nil:
return m.Photo
case m.Voice != nil:
return m.Voice
case m.Audio != nil:
return m.Audio
case m.Animation != nil:
return m.Animation
case m.Document != nil:
return m.Document
case m.Video != nil:
return m.Video
case m.VideoNote != nil:
return m.VideoNote
default:
return nil
}
}
func (c *nativeContext) Callback() *Callback {
return c.u.Callback
}

@ -367,3 +367,26 @@ func (m *Message) EntityText(e MessageEntity) string {
return string(utf16.Decode(a[off:end]))
}
// Media returns the message's media if it contains either photo,
// voice, audio, animation, document, video or video note.
func (m *Message) Media() Media {
switch {
case m.Photo != nil:
return m.Photo
case m.Voice != nil:
return m.Voice
case m.Audio != nil:
return m.Audio
case m.Animation != nil:
return m.Animation
case m.Document != nil:
return m.Document
case m.Video != nil:
return m.Video
case m.VideoNote != nil:
return m.VideoNote
default:
return nil
}
}

Loading…
Cancel
Save