Skip to content

Commit 862c673

Browse files
author
Maxim Martyanov
committed
Rollback for backward compatibility, added NewInlineQueryResultArticleMarkdown and NewInlineQueryResultArticleHTML
1 parent 0a1b57c commit 862c673

File tree

3 files changed

+121
-5
lines changed

3 files changed

+121
-5
lines changed

bot_test.go

Lines changed: 69 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -501,7 +501,75 @@ func ExampleAnswerInlineQuery() {
501501
continue
502502
}
503503

504-
article := tgbotapi.NewInlineQueryResultArticle(update.InlineQuery.ID, "Echo", update.InlineQuery.Query, "Markdown")
504+
article := tgbotapi.NewInlineQueryResultArticle(update.InlineQuery.ID, "Echo", update.InlineQuery.Query)
505+
article.Description = update.InlineQuery.Query
506+
507+
inlineConf := tgbotapi.InlineConfig{
508+
InlineQueryID: update.InlineQuery.ID,
509+
IsPersonal: true,
510+
CacheTime: 0,
511+
Results: []interface{}{article},
512+
}
513+
514+
if _, err := bot.AnswerInlineQuery(inlineConf); err != nil {
515+
log.Println(err)
516+
}
517+
}
518+
}
519+
520+
func ExampleAnswerInlineQueryMarkdown() {
521+
bot, err := tgbotapi.NewBotAPI("MyAwesomeBotToken") // create new bot
522+
if err != nil {
523+
log.Panic(err)
524+
}
525+
526+
log.Printf("Authorized on account %s", bot.Self.UserName)
527+
528+
u := tgbotapi.NewUpdate(0)
529+
u.Timeout = 60
530+
531+
updates, err := bot.GetUpdatesChan(u)
532+
533+
for update := range updates {
534+
if update.InlineQuery == nil { // if no inline query, ignore it
535+
continue
536+
}
537+
538+
article := tgbotapi.NewInlineQueryResultArticleMarkdown(update.InlineQuery.ID, "Echo", update.InlineQuery.Query)
539+
article.Description = update.InlineQuery.Query
540+
541+
inlineConf := tgbotapi.InlineConfig{
542+
InlineQueryID: update.InlineQuery.ID,
543+
IsPersonal: true,
544+
CacheTime: 0,
545+
Results: []interface{}{article},
546+
}
547+
548+
if _, err := bot.AnswerInlineQuery(inlineConf); err != nil {
549+
log.Println(err)
550+
}
551+
}
552+
}
553+
554+
func ExampleAnswerInlineQueryHTML() {
555+
bot, err := tgbotapi.NewBotAPI("MyAwesomeBotToken") // create new bot
556+
if err != nil {
557+
log.Panic(err)
558+
}
559+
560+
log.Printf("Authorized on account %s", bot.Self.UserName)
561+
562+
u := tgbotapi.NewUpdate(0)
563+
u.Timeout = 60
564+
565+
updates, err := bot.GetUpdatesChan(u)
566+
567+
for update := range updates {
568+
if update.InlineQuery == nil { // if no inline query, ignore it
569+
continue
570+
}
571+
572+
article := tgbotapi.NewInlineQueryResultArticleHTML(update.InlineQuery.ID, "Echo", update.InlineQuery.Query)
505573
article.Description = update.InlineQuery.Query
506574

507575
inlineConf := tgbotapi.InlineConfig{

helpers.go

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -317,14 +317,39 @@ func NewWebhookWithCert(link string, file interface{}) WebhookConfig {
317317
}
318318

319319
// NewInlineQueryResultArticle creates a new inline query article.
320-
func NewInlineQueryResultArticle(id, title, messageText string, parseMode string) InlineQueryResultArticle {
320+
func NewInlineQueryResultArticle(id, title, messageText string) InlineQueryResultArticle {
321321
return InlineQueryResultArticle{
322322
Type: "article",
323323
ID: id,
324324
Title: title,
325325
InputMessageContent: InputTextMessageContent{
326326
Text: messageText,
327-
ParseMode: parseMode,
327+
},
328+
}
329+
}
330+
331+
// NewInlineQueryResultArticleMarkdown creates a new inline query article with Markdown parsing.
332+
func NewInlineQueryResultArticleMarkdown(id, title, messageText string) InlineQueryResultArticle {
333+
return InlineQueryResultArticle{
334+
Type: "article",
335+
ID: id,
336+
Title: title,
337+
InputMessageContent: InputTextMessageContent{
338+
Text: messageText,
339+
ParseMode: "Markdown",
340+
},
341+
}
342+
}
343+
344+
// NewInlineQueryResultArticleHTML creates a new inline query article with HTML parsing.
345+
func NewInlineQueryResultArticleHTML(id, title, messageText string) InlineQueryResultArticle {
346+
return InlineQueryResultArticle{
347+
Type: "article",
348+
ID: id,
349+
Title: title,
350+
InputMessageContent: InputTextMessageContent{
351+
Text: messageText,
352+
ParseMode: "HTML",
328353
},
329354
}
330355
}

helpers_test.go

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,40 @@ import (
66
)
77

88
func TestNewInlineQueryResultArticle(t *testing.T) {
9-
result := tgbotapi.NewInlineQueryResultArticle("id", "title", "message", "Markdown")
9+
result := tgbotapi.NewInlineQueryResultArticle("id", "title", "message")
1010

1111
if result.Type != "article" ||
1212
result.ID != "id" ||
1313
result.Title != "title" ||
14-
result.InputMessageContent.(tgbotapi.InputTextMessageContent).Text != "message" ||
14+
result.InputMessageContent.(tgbotapi.InputTextMessageContent).Text != "message" {
15+
t.Fail()
16+
}
17+
}
18+
19+
func TestNewInlineQueryResultArticleMarkdown(t *testing.T) {
20+
result := tgbotapi.NewInlineQueryResultArticleMarkdown("id", "title", "*message*")
21+
22+
if result.Type != "article" ||
23+
result.ID != "id" ||
24+
result.Title != "title" ||
25+
result.InputMessageContent.(tgbotapi.InputTextMessageContent).Text != "*message*" ||
1526
result.InputMessageContent.(tgbotapi.InputTextMessageContent).ParseMode != "Markdown" {
1627
t.Fail()
1728
}
1829
}
1930

31+
func TestNewInlineQueryResultArticleHTML(t *testing.T) {
32+
result := tgbotapi.NewInlineQueryResultArticleHTML("id", "title", "<b>message</b>")
33+
34+
if result.Type != "article" ||
35+
result.ID != "id" ||
36+
result.Title != "title" ||
37+
result.InputMessageContent.(tgbotapi.InputTextMessageContent).Text != "<b>message</b>" ||
38+
result.InputMessageContent.(tgbotapi.InputTextMessageContent).ParseMode != "HTML" {
39+
t.Fail()
40+
}
41+
}
42+
2043
func TestNewInlineQueryResultGIF(t *testing.T) {
2144
result := tgbotapi.NewInlineQueryResultGIF("id", "google.com")
2245

0 commit comments

Comments
 (0)