Managing sessions functionality
[midgaard_bot.git] / sessions.go
1 package main
2
3 import (
4         "github.com/go-telegram-bot-api/telegram-bot-api"
5 )
6
7 type Session struct {
8         Chat *tgbotapi.Chat
9         Msgbox chan tgbotapi.Message
10 }
11
12 var sessions map[int64]*Session
13
14 func initSessions() {
15         sessions = make(map[int64]*Session)
16 }
17
18 func getSession(chat *tgbotapi.Chat) *Session {
19         session, ok := sessions[chat.ID]
20         if !ok {
21                 session = newSession(chat)
22         }
23         return session
24 }
25
26 func newSession(chat *tgbotapi.Chat) *Session {
27         session := Session{chat, make(chan tgbotapi.Message)}
28         sessions[chat.ID] = &session
29         return &session
30 }