new telegram bot

This commit is contained in:
Artem Tsyrulnikov
2025-12-28 15:50:06 +03:00
parent 69179c64be
commit 2fb8c83041
75 changed files with 3719 additions and 1046 deletions

View 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
}