diff --git a/boost.go b/boost.go index 4cc7dbe2..cc3b8378 100644 --- a/boost.go +++ b/boost.go @@ -102,10 +102,12 @@ func (b *Bot) UserBoosts(chat, user Recipient) ([]Boost, error) { } var resp struct { - Result []Boost `json:"boosts"` + Result struct { + Boosts []Boost `json:"boosts"` + } } if err := json.Unmarshal(data, &resp); err != nil { - return nil, wrapError(err) + return nil, err } - return resp.Result, nil + return resp.Result.Boosts, nil } diff --git a/context.go b/context.go index f0ef1ff5..9eb34e4f 100644 --- a/context.go +++ b/context.go @@ -301,6 +301,20 @@ func (c *nativeContext) Sender() *User { return c.u.ChatMember.Sender case c.u.ChatJoinRequest != nil: return c.u.ChatJoinRequest.Sender + case c.u.Boost != nil: + b := c.u.Boost + if b.Boost == nil && b.Boost.Source == nil { + return nil + } + + return b.Boost.Source.Booster + case c.u.BoostRemoved != nil: + src := c.u.BoostRemoved.Source + if src == nil { + return nil + } + + return src.Booster default: return nil }