replace pause until with available

master
Bel LaPointe 2022-01-12 22:09:58 -05:00
parent b515143fc6
commit 3213c21c7e
5 changed files with 13 additions and 13 deletions

View File

@ -53,7 +53,7 @@ func (j Job) FormatMultilineText() string {
)
}
out := ""
clients := config.Clients()
clients := config.Clients(j.Pickup.Date)
for k := range clients {
log.Printf("job multiline: %+v contains %s then use %v", clients[k].States, j.Pickup.State, k)
if strings.Contains(fmt.Sprint(clients[k].States), j.Pickup.State) {

View File

@ -29,7 +29,7 @@
"IDs": {
"Matrix": "@belandbroc:matrix.org"
},
"PauseUntil": 5642107200
"Available": 5642107200
},
"caleb": {
"States": [
@ -38,7 +38,7 @@
"IDs": {
"Matrix": "@belandbroc:matrix.org"
},
"PauseUntil": -62135596800
"Available": -62135596800
},
"pa": {
"States": [
@ -47,7 +47,7 @@
"IDs": {
"Matrix": "@belandbroc:matrix.org"
},
"PauseUntil": -62135596800
"Available": -62135596800
}
},
"Storage": [

View File

@ -63,7 +63,7 @@ type Client struct {
IDs struct {
Matrix string
}
PauseUntil Time
Available Time
}
var live Config
@ -76,11 +76,11 @@ func configPath() string {
return p
}
func Clients() map[string]Client {
func Clients(t time.Time) map[string]Client {
clients := Get().Clients
result := map[string]Client{}
for k := range clients {
if clients[k].PauseUntil.Get().IsZero() || time.Now().After(clients[k].PauseUntil.Get()) {
if clients[k].Available.Get().IsZero() || t.After(clients[k].Available.Get()) {
result[k] = clients[k]
}
}
@ -89,7 +89,7 @@ func Clients() map[string]Client {
func AllStates() []State {
statem := map[State]struct{}{}
for _, v := range Clients() {
for _, v := range Clients(time.Now().Add(time.Hour * 24 * 365)) {
for _, state := range v.States {
statem[state] = struct{}{}
}

View File

@ -77,12 +77,12 @@ func matrixrecv() error {
if _, ok := pauses[msg.Sender]; ok {
continue
}
if !strings.HasPrefix(msg.Content, "pause until") {
if !strings.HasPrefix(msg.Content, "!available ") {
continue
}
t, err := time.ParseInLocation(
"2006-01-02",
strings.TrimSpace(strings.TrimPrefix(msg.Content, "pause until")),
strings.TrimSpace(strings.TrimPrefix(msg.Content, "!available ")),
time.Local,
)
if err == nil {
@ -103,10 +103,10 @@ func setNewPauses(pauses map[string]time.Time) {
changed := map[string]time.Time{}
for client, pause := range pauses {
clientconf := conf.Clients[client]
if clientconf.PauseUntil.Get().Unix() == pause.Unix() {
if clientconf.Available.Get().Unix() == pause.Unix() {
continue
}
clientconf.PauseUntil = config.Time(pause)
clientconf.Available = config.Time(pause)
conf.Clients[client] = clientconf
changed[client] = pause
}

View File

@ -43,7 +43,7 @@ func (m Matrix) Receive() ([]Message, error) {
for k := range config.Get().Clients {
messages = append(messages, Message{Sender: k, Content: "OH"})
if k == "broc" {
messages = append(messages, Message{Sender: k, Content: "pause until 2148-10-" + fmt.Sprint(time.Now().Unix()%28)})
messages = append(messages, Message{Sender: k, Content: "!available 2148-10-" + fmt.Sprint(time.Now().Unix()%28)})
}
}
return messages, nil