Merge pull request #4 from eli-l/develop
Add Set message reaction helpers.
This commit is contained in:
commit
f2ac05970f
4 changed files with 76 additions and 3 deletions
2
.github/workflows/unit_tests.yml
vendored
2
.github/workflows/unit_tests.yml
vendored
|
@ -4,8 +4,6 @@ on:
|
|||
push:
|
||||
branches:
|
||||
- '**'
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Test
|
||||
|
|
12
bot.go
12
bot.go
|
@ -746,3 +746,15 @@ func EscapeText(parseMode string, text string) string {
|
|||
|
||||
return replacer.Replace(text)
|
||||
}
|
||||
|
||||
func (bot *BotAPI) SendReaction(config SetMessageReactionConfig) (Message, error) {
|
||||
resp, err := bot.Request(config)
|
||||
if err != nil {
|
||||
return Message{}, err
|
||||
}
|
||||
|
||||
var message Message
|
||||
err = json.Unmarshal(resp.Result, &message)
|
||||
|
||||
return message, err
|
||||
}
|
||||
|
|
|
@ -1141,3 +1141,31 @@ func ValidateWebAppData(token, telegramInitData string) (bool, error) {
|
|||
|
||||
return true, nil
|
||||
}
|
||||
|
||||
func NewSetMessageReactionType(chatID int64, messageID int, reaction ReactionType, isBig bool) SetMessageReactionConfig {
|
||||
return SetMessageReactionConfig{
|
||||
BaseChatMessage: BaseChatMessage{
|
||||
ChatConfig: ChatConfig{
|
||||
ChatID: chatID,
|
||||
},
|
||||
MessageID: messageID,
|
||||
},
|
||||
Reaction: []ReactionType{reaction},
|
||||
IsBig: isBig,
|
||||
}
|
||||
}
|
||||
|
||||
func NewSetMessageReactionEmoji(chatID int64, messageID int, reaction string, isBig bool) SetMessageReactionConfig {
|
||||
return SetMessageReactionConfig{
|
||||
BaseChatMessage: BaseChatMessage{
|
||||
ChatConfig: ChatConfig{
|
||||
ChatID: chatID,
|
||||
},
|
||||
MessageID: messageID,
|
||||
},
|
||||
Reaction: []ReactionType{
|
||||
{Type: "emoji", Emoji: reaction},
|
||||
},
|
||||
IsBig: isBig,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -845,7 +845,6 @@ func TestCommands(t *testing.T) {
|
|||
require.Equal(t, "a private command", commands[0].Description)
|
||||
}
|
||||
|
||||
// TODO: figure out why test is failing
|
||||
func TestEditMessageMedia(t *testing.T) {
|
||||
bot, err := getBot(t)
|
||||
require.NoError(t, err)
|
||||
|
@ -872,3 +871,39 @@ func TestEditMessageMedia(t *testing.T) {
|
|||
require.NoError(t, err)
|
||||
require.NotNil(t, res)
|
||||
}
|
||||
|
||||
func TestSetReaction(t *testing.T) {
|
||||
bot, err := getBot(t)
|
||||
require.NoError(t, err)
|
||||
|
||||
t.Run("set reaction using reaction type", func(t *testing.T) {
|
||||
msg := tgbotapi.NewMessage(ChatID, "An initial message to test reaction type")
|
||||
msg.ParseMode = tgbotapi.ModeMarkdown
|
||||
m, err := bot.Send(msg)
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, m)
|
||||
|
||||
reaction := tgbotapi.NewSetMessageReactionType(ChatID, m.MessageID, tgbotapi.ReactionType{
|
||||
Type: "emoji",
|
||||
Emoji: "👍",
|
||||
}, true)
|
||||
|
||||
res, err := bot.Request(reaction)
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, res)
|
||||
})
|
||||
|
||||
t.Run("set reaction using reaction emoji", func(t *testing.T) {
|
||||
msg := tgbotapi.NewMessage(ChatID, "An initial message to test reaction emoji")
|
||||
msg.ParseMode = tgbotapi.ModeMarkdown
|
||||
m, err := bot.Send(msg)
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, m)
|
||||
|
||||
reaction := tgbotapi.NewSetMessageReactionEmoji(ChatID, m.MessageID, "👀", true)
|
||||
|
||||
res, err := bot.Request(reaction)
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, res)
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue