diff --git a/bot.go b/bot.go index 3e750b1..1c6356c 100644 --- a/bot.go +++ b/bot.go @@ -487,6 +487,8 @@ func (b *Bot) handleMedia(m *Message) bool { b.handle(OnLocation, m) case m.Venue != nil: b.handle(OnVenue, m) + case m.Dice != nil: + b.handle(OnDice, m) default: return false } diff --git a/media.go b/media.go index 771c5c3..eba4c19 100644 --- a/media.go +++ b/media.go @@ -210,3 +210,8 @@ type Venue struct { FoursquareID string `json:"foursquare_id,omitempty"` FoursquareType string `json:"foursquare_type,omitempty"` } + +type Dice struct { + Type DiceType `json:"emoji"` + Value int `json:"value"` +} diff --git a/message.go b/message.go index 5adefa5..9e2d178 100644 --- a/message.go +++ b/message.go @@ -191,6 +191,8 @@ type Message struct { // Inline keyboard attached to the message. ReplyMarkup InlineKeyboardMarkup `json:"reply_markup"` + + Dice *Dice `json:"dice"` } // MessageEntity object represents "special" parts of text messages, diff --git a/sendable.go b/sendable.go index 806835f..04cc2ef 100644 --- a/sendable.go +++ b/sendable.go @@ -353,3 +353,19 @@ func (p *Poll) Send(b *Bot, to Recipient, opt *SendOptions) (*Message, error) { return extractMessage(data) } + +// Send delivers dice through bot b to recipient +func (d *Dice) Send(b *Bot, to Recipient, opt *SendOptions) (*Message, error) { + params := map[string]string{ + "chat_id": to.Recipient(), + "emoji": string(d.Type), + } + embedSendOptions(params, opt) + + data, err := b.Raw("sendDice", params) + if err != nil { + return nil, err + } + + return extractMessage(data) +} diff --git a/telebot.go b/telebot.go index f785594..d48e13c 100644 --- a/telebot.go +++ b/telebot.go @@ -58,7 +58,7 @@ const ( OnPinned = "\apinned" OnChannelPost = "\achan_post" OnEditedChannelPost = "\achan_edited_post" - + OnDice = "\adice" // Will fire when bot is added to a group. OnAddedToGroup = "\aadded_to_group" // Group events: @@ -200,3 +200,10 @@ const ( ) const DefaultApiURL = "https://api.telegram.org" + +type DiceType string + +var ( + Cube = &Dice{Type: "🎲"} + Dart = &Dice{Type: "🎯"} +)