new telegram bot
This commit is contained in:
42
telegram_bot/handlers/global_callbacks.go
Normal file
42
telegram_bot/handlers/global_callbacks.go
Normal file
@@ -0,0 +1,42 @@
|
||||
package handlers
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"example.com/m/bot"
|
||||
"example.com/m/screens"
|
||||
)
|
||||
|
||||
// HandleGlobalCallback обрабатывает глобальные callbacks из уведомлений
|
||||
// Возвращает новый State если callback был обработан, иначе nil
|
||||
func HandleGlobalCallback(callbackData string) bot.State {
|
||||
// pending_channel:{channel_id} - выбор workspace для нового канала
|
||||
if strings.HasPrefix(callbackData, "pending_channel:") {
|
||||
parts := strings.Split(callbackData, ":")
|
||||
if len(parts) == 2 {
|
||||
channelID := parts[1]
|
||||
return &screens.SelectWorkspace{
|
||||
ChannelID: channelID,
|
||||
BackState: &screens.MainMenu{},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// workspace_invite_accept:{invite_id} - принятие приглашения в workspace
|
||||
if strings.HasPrefix(callbackData, "workspace_invite_accept:") {
|
||||
parts := strings.Split(callbackData, ":")
|
||||
if len(parts) == 2 {
|
||||
inviteID := parts[1]
|
||||
return &screens.AcceptWorkspaceInvite{
|
||||
InviteID: inviteID,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Здесь можно добавлять другие глобальные callback паттерны
|
||||
// Например:
|
||||
// if strings.HasPrefix(callbackData, "notification:") { ... }
|
||||
// if strings.HasPrefix(callbackData, "alert:") { ... }
|
||||
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user