парсер
This commit is contained in:
@@ -101,13 +101,20 @@ https://t.me/+AbCdEfGhIjKlMn</i>`, [][]echotron.InlineKeyboardButton{
|
||||
|
||||
case data == "add_button":
|
||||
s.WaitingForButtonText = true
|
||||
s.PendingButtonType = "invite"
|
||||
s.ShowControlPanel(b, `<b>+ Добавить кнопку</b>
|
||||
|
||||
Введите <b>текст кнопки:</b>
|
||||
|
||||
<i>Например:</i>
|
||||
• Перейти на сайт
|
||||
• Написать нам`, [][]echotron.InlineKeyboardButton{
|
||||
• Написать нам
|
||||
|
||||
<i>Ссылка на канал подставится автоматически при создании закупа.</i>`, [][]echotron.InlineKeyboardButton{
|
||||
bot.Row(
|
||||
bot.Button("✓ Ссылка на канал", "button_type_invite"),
|
||||
bot.Button("Своя ссылка", "button_type_custom"),
|
||||
),
|
||||
bot.Row(bot.Button("« Отмена", "cancel_add_button")),
|
||||
})
|
||||
|
||||
@@ -132,16 +139,53 @@ https://t.me/+AbCdEfGhIjKlMn</i>`, [][]echotron.InlineKeyboardButton{
|
||||
// Отменяем добавление кнопки
|
||||
if s.WaitingForButtonURL && len(s.Buttons) > 0 {
|
||||
lastButton := s.Buttons[len(s.Buttons)-1]
|
||||
if lastButton.URL == "https://example.com" {
|
||||
if lastButton.URL == "https://example.com" || lastButton.URL == inviteLinkPlaceholder {
|
||||
s.Buttons = s.Buttons[:len(s.Buttons)-1]
|
||||
s.UpdateCreativePreview(b)
|
||||
}
|
||||
}
|
||||
s.WaitingForButtonText = false
|
||||
s.WaitingForButtonURL = false
|
||||
s.PendingButtonType = ""
|
||||
s.CurrentButtonText = nil
|
||||
s.showManagementPanelWithDelete(b)
|
||||
|
||||
case data == "button_type_invite":
|
||||
s.PendingButtonType = "invite"
|
||||
s.ShowControlPanel(b, `<b>+ Добавить кнопку</b>
|
||||
|
||||
Введите <b>текст кнопки:</b>
|
||||
|
||||
<i>Например:</i>
|
||||
• Перейти на сайт
|
||||
• Написать нам
|
||||
|
||||
<i>Ссылка на канал подставится автоматически при создании закупа.</i>`, [][]echotron.InlineKeyboardButton{
|
||||
bot.Row(
|
||||
bot.Button("✓ Ссылка на канал", "button_type_invite"),
|
||||
bot.Button("Своя ссылка", "button_type_custom"),
|
||||
),
|
||||
bot.Row(bot.Button("« Отмена", "cancel_add_button")),
|
||||
})
|
||||
|
||||
case data == "button_type_custom":
|
||||
s.PendingButtonType = "custom"
|
||||
s.ShowControlPanel(b, `<b>+ Добавить кнопку</b>
|
||||
|
||||
Введите <b>текст кнопки:</b>
|
||||
|
||||
<i>Например:</i>
|
||||
• Перейти на сайт
|
||||
• Написать нам
|
||||
|
||||
<i>Ссылка на канал подставится автоматически при создании закупа.</i>`, [][]echotron.InlineKeyboardButton{
|
||||
bot.Row(
|
||||
bot.Button("Ссылка на канал", "button_type_invite"),
|
||||
bot.Button("✓ Своя ссылка", "button_type_custom"),
|
||||
),
|
||||
bot.Row(bot.Button("« Отмена", "cancel_add_button")),
|
||||
})
|
||||
|
||||
case data == "cancel_edit", data == "cancel_media":
|
||||
s.WaitingForMedia = false
|
||||
s.showManagementPanelWithDelete(b)
|
||||
@@ -235,7 +279,6 @@ func (s *CreativeDetails) HandleMessage(b *bot.Bot, u *echotron.Update) {
|
||||
buttonText := u.Message.Text
|
||||
s.CurrentButtonText = &buttonText
|
||||
s.WaitingForButtonText = false
|
||||
s.WaitingForButtonURL = true
|
||||
|
||||
// Удаляем сообщение пользователя
|
||||
_, err := b.DeleteMessage(b.ChatID, u.Message.ID)
|
||||
@@ -244,19 +287,28 @@ func (s *CreativeDetails) HandleMessage(b *bot.Bot, u *echotron.Update) {
|
||||
}
|
||||
|
||||
// Создаём кнопку с placeholder URL
|
||||
s.Buttons = append(s.Buttons, InlineButton{
|
||||
Text: buttonText,
|
||||
URL: "https://example.com",
|
||||
})
|
||||
|
||||
s.UpdateCreativePreview(b)
|
||||
|
||||
s.ShowControlPanel(b, `<b>✧ Введите URL для кнопки:</b>
|
||||
if s.PendingButtonType == "custom" {
|
||||
s.WaitingForButtonURL = true
|
||||
s.Buttons = append(s.Buttons, InlineButton{
|
||||
Text: buttonText,
|
||||
URL: "https://example.com",
|
||||
})
|
||||
s.UpdateCreativePreview(b)
|
||||
s.ShowControlPanel(b, `<b>✧ Введите URL для кнопки:</b>
|
||||
|
||||
<i>Например:</i>
|
||||
<code>https://example.com</code>`, [][]echotron.InlineKeyboardButton{
|
||||
bot.Row(bot.Button("« Отмена", "cancel_add_button")),
|
||||
})
|
||||
bot.Row(bot.Button("« Отмена", "cancel_add_button")),
|
||||
})
|
||||
} else {
|
||||
s.Buttons = append(s.Buttons, InlineButton{
|
||||
Text: buttonText,
|
||||
URL: inviteLinkPlaceholder,
|
||||
})
|
||||
s.UpdateCreativePreview(b)
|
||||
s.PendingButtonType = ""
|
||||
s.showManagementPanelWithDelete(b)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -289,6 +341,7 @@ URL должен начинаться с <code>http://</code> или <code>https
|
||||
|
||||
s.WaitingForButtonURL = false
|
||||
s.CurrentButtonText = nil
|
||||
s.PendingButtonType = ""
|
||||
|
||||
s.UpdateCreativePreview(b)
|
||||
s.showManagementPanelWithDelete(b)
|
||||
|
||||
Reference in New Issue
Block a user