87 lines
2.1 KiB
Go
87 lines
2.1 KiB
Go
|
package nechotron
|
||
|
|
||
|
import "github.com/NicoNex/echotron/v3"
|
||
|
|
||
|
type OptionsBuilder struct {
|
||
|
caption string
|
||
|
replyMarkup echotron.ReplyMarkup
|
||
|
parseMode echotron.ParseMode
|
||
|
entities []echotron.MessageEntity
|
||
|
messageThreadID int64
|
||
|
replyToMessageID int
|
||
|
disableWebPagePreview bool
|
||
|
disableNotification bool
|
||
|
protectContent bool
|
||
|
allowSendingWithoutReply bool
|
||
|
hasSpoiler bool
|
||
|
}
|
||
|
|
||
|
func (o *OptionsBuilder) Caption(text string) *OptionsBuilder {
|
||
|
o.caption = text
|
||
|
return o
|
||
|
}
|
||
|
|
||
|
func (o *OptionsBuilder) ReplyMarkup(markup echotron.ReplyMarkup) *OptionsBuilder {
|
||
|
o.replyMarkup = markup
|
||
|
return o
|
||
|
}
|
||
|
|
||
|
func (o *OptionsBuilder) MarkdownV2() *OptionsBuilder {
|
||
|
o.parseMode = echotron.MarkdownV2
|
||
|
return o
|
||
|
}
|
||
|
|
||
|
func (o *OptionsBuilder) Spoiler() *OptionsBuilder {
|
||
|
o.hasSpoiler = true
|
||
|
return o
|
||
|
}
|
||
|
|
||
|
func (o *OptionsBuilder) Entities(entities []echotron.MessageEntity) *OptionsBuilder {
|
||
|
o.entities = entities
|
||
|
return o
|
||
|
}
|
||
|
|
||
|
func (o *OptionsBuilder) Thread(id int64) *OptionsBuilder {
|
||
|
o.messageThreadID = id
|
||
|
return o
|
||
|
}
|
||
|
|
||
|
func (o *OptionsBuilder) ReplyTo(id int) *OptionsBuilder {
|
||
|
o.replyToMessageID = id
|
||
|
return o
|
||
|
}
|
||
|
|
||
|
func (o *OptionsBuilder) DisableNotification() *OptionsBuilder {
|
||
|
o.disableNotification = true
|
||
|
return o
|
||
|
}
|
||
|
|
||
|
func (o *OptionsBuilder) ProtectContent() *OptionsBuilder {
|
||
|
o.protectContent = true
|
||
|
return o
|
||
|
}
|
||
|
|
||
|
func (o *OptionsBuilder) DisableWebPagePreview() *OptionsBuilder {
|
||
|
o.disableWebPagePreview = true
|
||
|
return o
|
||
|
}
|
||
|
|
||
|
func (o *OptionsBuilder) AllowSendingWithoutReply() *OptionsBuilder {
|
||
|
o.allowSendingWithoutReply = true
|
||
|
return o
|
||
|
}
|
||
|
|
||
|
func (o *OptionsBuilder) MessageOptions() *echotron.MessageOptions {
|
||
|
return &echotron.MessageOptions{
|
||
|
ReplyMarkup: o.replyMarkup,
|
||
|
ParseMode: o.parseMode,
|
||
|
Entities: o.entities,
|
||
|
MessageThreadID: o.messageThreadID,
|
||
|
ReplyToMessageID: o.replyToMessageID,
|
||
|
DisableWebPagePreview: o.allowSendingWithoutReply,
|
||
|
DisableNotification: o.disableNotification,
|
||
|
ProtectContent: o.protectContent,
|
||
|
AllowSendingWithoutReply: o.allowSendingWithoutReply,
|
||
|
}
|
||
|
}
|