]> git.jsancho.org Git - midgaard_bot.git/blobdiff - sessions.go
Managing sessions functionality
[midgaard_bot.git] / sessions.go
index dad67abcd87b9047877f4e543eaf67d102f1bbd1..a0ff861d591fdee13a3825cbf867879cd874ae36 100644 (file)
@@ -8,3 +8,23 @@ type Session struct {
        Chat *tgbotapi.Chat
        Msgbox chan tgbotapi.Message
 }
+
+var sessions map[int64]*Session
+
+func initSessions() {
+       sessions = make(map[int64]*Session)
+}
+
+func getSession(chat *tgbotapi.Chat) *Session {
+       session, ok := sessions[chat.ID]
+       if !ok {
+               session = newSession(chat)
+       }
+       return session
+}
+
+func newSession(chat *tgbotapi.Chat) *Session {
+       session := Session{chat, make(chan tgbotapi.Message)}
+       sessions[chat.ID] = &session
+       return &session
+}