From 01e6fd26dd0cb3f3614caa8508cae9f0c6a57d8e Mon Sep 17 00:00:00 2001 From: quenbyako Date: Tue, 2 Feb 2021 15:38:41 +0300 Subject: [PATCH] Added more methods to Updates --- types.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/types.go b/types.go index 97872ba..443ad31 100644 --- a/types.go +++ b/types.go @@ -99,6 +99,30 @@ func (u *Update) SentFrom() *User { } } +func (u *Update) CallbackData() string { + if u.CallbackQuery != nil { + return u.CallbackQuery.Data + } + return "" +} + +func (u *Update) FromChat() *Chat { + switch { + case u.Message != nil: + return u.Message.Chat + case u.EditedMessage != nil: + return u.EditedMessage.Chat + case u.ChannelPost != nil: + return u.ChannelPost.Chat + case u.EditedChannelPost != nil: + return u.EditedChannelPost.Chat + case u.CallbackQuery != nil: + return u.CallbackQuery.Message.Chat + default: + return nil + } +} + // UpdatesChannel is the channel for getting updates. type UpdatesChannel <-chan Update