new telegram bot
This commit is contained in:
57
telegram_bot/screens/main_menu.go
Normal file
57
telegram_bot/screens/main_menu.go
Normal file
@@ -0,0 +1,57 @@
|
||||
package screens
|
||||
|
||||
import (
|
||||
"example.com/m/bot"
|
||||
"github.com/NicoNex/echotron/v3"
|
||||
)
|
||||
|
||||
type MainMenu struct{}
|
||||
|
||||
func (s *MainMenu) Enter(b *bot.Bot, mode bot.RenderMode) {
|
||||
keyboard := bot.Keyboard(
|
||||
bot.Row(bot.Button("Мои проекты", "my_projects"), bot.Button("Поддержка", "support")),
|
||||
bot.Row(bot.Button("Закупы", "placements"), bot.Button("Дашборд", "dashboard")),
|
||||
)
|
||||
|
||||
b.Render(tgexAbout, keyboard, mode)
|
||||
}
|
||||
|
||||
func (s *MainMenu) HandleCallback(b *bot.Bot, u *echotron.Update) {
|
||||
switch u.CallbackQuery.Data {
|
||||
case "my_projects":
|
||||
b.SetState(&MyProjects{BackState: &MainMenu{}}, bot.EditMessage)
|
||||
case "support":
|
||||
// b.SetState(&Support{}, bot.NewMessage)
|
||||
case "placements":
|
||||
// b.SetState(&Placements{}, bot.NewMessage)
|
||||
case "dashboard":
|
||||
// b.SetState(&Dashboard{}, bot.NewMessage)
|
||||
default:
|
||||
s.Enter(b, bot.NewMessage)
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (s *MainMenu) HandleMessage(b *bot.Bot, u *echotron.Update) {
|
||||
if u.Message.Text == "/start login" {
|
||||
b.SetState(&Login{}, bot.NewMessage)
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (s *MainMenu) Handle(b *bot.Bot, u *echotron.Update) {
|
||||
b.SetState(&MainMenu{}, bot.NewMessage)
|
||||
return
|
||||
}
|
||||
|
||||
const tgexAbout = `
|
||||
TGEX — Telegram-бот для покупки и продажи рекламы без ЛС и ручных таблиц.
|
||||
|
||||
• Внутренний счёт и безопасные сделки
|
||||
• Фиксация цен, дат и форматов
|
||||
• Автоматические отчёты
|
||||
• Повторные закупки в пару кликов
|
||||
|
||||
Комиссия — 7%. Без скрытых платежей.`
|
||||
Reference in New Issue
Block a user