diff --git a/drafts.go b/drafts.go index b4f0391..9b95411 100644 --- a/drafts.go +++ b/drafts.go @@ -88,10 +88,15 @@ func (d *Draft) Push(newText string) error { return err } func (d *Draft) Flush() error { + if d.Message == "" { + return nil + } + params := tgapi.SendMessageP{ ChatID: d.chatID, ParseMode: d.parseMode, Entities: d.entities, + Text: d.Message, } if d.messageThreadID > 0 { params.MessageThreadID = d.messageThreadID diff --git a/msg_context.go b/msg_context.go index 7c353a5..1d2eb19 100644 --- a/msg_context.go +++ b/msg_context.go @@ -110,6 +110,9 @@ func (ctx *MsgContext) answer(text string, keyboard *InlineKeyboard) *AnswerMess if ctx.Msg.MessageThreadID > 0 { params.MessageThreadID = ctx.Msg.MessageThreadID } + if ctx.Msg.DirectMessageTopic != nil { + params.DirectMessagesTopicID = ctx.Msg.DirectMessageTopic.TopicID + } msg, err := ctx.Api.SendMessage(params) if err != nil { diff --git a/tgapi/messages_methods.go b/tgapi/messages_methods.go index d7264db..7ec41e5 100644 --- a/tgapi/messages_methods.go +++ b/tgapi/messages_methods.go @@ -4,7 +4,7 @@ type SendMessageP struct { BusinessConnectionID string `json:"business_connection_id,omitempty"` ChatID int `json:"chat_id"` MessageThreadID int `json:"message_thread_id,omitempty"` - DirectMessagesTopicID int `json:"direct_messages_topic_id,omitempty"` + DirectMessagesTopicID int64 `json:"direct_messages_topic_id,omitempty"` Text string `json:"text"` ParseMode ParseMode `json:"parse_mode,omitempty"` diff --git a/tgapi/messages_types.go b/tgapi/messages_types.go index 24605cc..5b0eba1 100644 --- a/tgapi/messages_types.go +++ b/tgapi/messages_types.go @@ -6,11 +6,17 @@ type MessageReplyMarkup struct { InlineKeyboard [][]InlineKeyboardButton `json:"inline_keyboard"` } +type DirectMessageTopic struct { + TopicID int64 `json:"topic_id"` + User *User `json:"user,omitempty"` +} + type Message struct { - MessageID int `json:"message_id"` - MessageThreadID int `json:"message_thread_id,omitempty"` - BusinessConnectionId string `json:"business_connection_id,omitempty"` - From *User `json:"from,omitempty"` + MessageID int `json:"message_id"` + MessageThreadID int `json:"message_thread_id,omitempty"` + DirectMessageTopic *DirectMessageTopic `json:"direct_message_topic,omitempty"` + BusinessConnectionId string `json:"business_connection_id,omitempty"` + From *User `json:"from,omitempty"` SenderChat *Chat `json:"sender_chat,omitempty"` SenderBoostCount int `json:"sender_boost_count,omitempty"` diff --git a/utils/version.go b/utils/version.go index 1450f99..080dc3f 100644 --- a/utils/version.go +++ b/utils/version.go @@ -1,9 +1,9 @@ package utils const ( - VersionString = "1.0.0-beta.5" + VersionString = "1.0.0-beta.6" VersionMajor = 1 VersionMinor = 0 VersionPatch = 0 - Beta = 5 + Beta = 6 )