replace pause until with available
parent
b515143fc6
commit
3213c21c7e
|
|
@ -53,7 +53,7 @@ func (j Job) FormatMultilineText() string {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
out := ""
|
out := ""
|
||||||
clients := config.Clients()
|
clients := config.Clients(j.Pickup.Date)
|
||||||
for k := range clients {
|
for k := range clients {
|
||||||
log.Printf("job multiline: %+v contains %s then use %v", clients[k].States, j.Pickup.State, k)
|
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) {
|
if strings.Contains(fmt.Sprint(clients[k].States), j.Pickup.State) {
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@
|
||||||
"IDs": {
|
"IDs": {
|
||||||
"Matrix": "@belandbroc:matrix.org"
|
"Matrix": "@belandbroc:matrix.org"
|
||||||
},
|
},
|
||||||
"PauseUntil": 5642107200
|
"Available": 5642107200
|
||||||
},
|
},
|
||||||
"caleb": {
|
"caleb": {
|
||||||
"States": [
|
"States": [
|
||||||
|
|
@ -38,7 +38,7 @@
|
||||||
"IDs": {
|
"IDs": {
|
||||||
"Matrix": "@belandbroc:matrix.org"
|
"Matrix": "@belandbroc:matrix.org"
|
||||||
},
|
},
|
||||||
"PauseUntil": -62135596800
|
"Available": -62135596800
|
||||||
},
|
},
|
||||||
"pa": {
|
"pa": {
|
||||||
"States": [
|
"States": [
|
||||||
|
|
@ -47,7 +47,7 @@
|
||||||
"IDs": {
|
"IDs": {
|
||||||
"Matrix": "@belandbroc:matrix.org"
|
"Matrix": "@belandbroc:matrix.org"
|
||||||
},
|
},
|
||||||
"PauseUntil": -62135596800
|
"Available": -62135596800
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Storage": [
|
"Storage": [
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ type Client struct {
|
||||||
IDs struct {
|
IDs struct {
|
||||||
Matrix string
|
Matrix string
|
||||||
}
|
}
|
||||||
PauseUntil Time
|
Available Time
|
||||||
}
|
}
|
||||||
|
|
||||||
var live Config
|
var live Config
|
||||||
|
|
@ -76,11 +76,11 @@ func configPath() string {
|
||||||
return p
|
return p
|
||||||
}
|
}
|
||||||
|
|
||||||
func Clients() map[string]Client {
|
func Clients(t time.Time) map[string]Client {
|
||||||
clients := Get().Clients
|
clients := Get().Clients
|
||||||
result := map[string]Client{}
|
result := map[string]Client{}
|
||||||
for k := range clients {
|
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]
|
result[k] = clients[k]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -89,7 +89,7 @@ func Clients() map[string]Client {
|
||||||
|
|
||||||
func AllStates() []State {
|
func AllStates() []State {
|
||||||
statem := map[State]struct{}{}
|
statem := map[State]struct{}{}
|
||||||
for _, v := range Clients() {
|
for _, v := range Clients(time.Now().Add(time.Hour * 24 * 365)) {
|
||||||
for _, state := range v.States {
|
for _, state := range v.States {
|
||||||
statem[state] = struct{}{}
|
statem[state] = struct{}{}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
8
main.go
8
main.go
|
|
@ -77,12 +77,12 @@ func matrixrecv() error {
|
||||||
if _, ok := pauses[msg.Sender]; ok {
|
if _, ok := pauses[msg.Sender]; ok {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if !strings.HasPrefix(msg.Content, "pause until") {
|
if !strings.HasPrefix(msg.Content, "!available ") {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
t, err := time.ParseInLocation(
|
t, err := time.ParseInLocation(
|
||||||
"2006-01-02",
|
"2006-01-02",
|
||||||
strings.TrimSpace(strings.TrimPrefix(msg.Content, "pause until")),
|
strings.TrimSpace(strings.TrimPrefix(msg.Content, "!available ")),
|
||||||
time.Local,
|
time.Local,
|
||||||
)
|
)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
|
|
@ -103,10 +103,10 @@ func setNewPauses(pauses map[string]time.Time) {
|
||||||
changed := map[string]time.Time{}
|
changed := map[string]time.Time{}
|
||||||
for client, pause := range pauses {
|
for client, pause := range pauses {
|
||||||
clientconf := conf.Clients[client]
|
clientconf := conf.Clients[client]
|
||||||
if clientconf.PauseUntil.Get().Unix() == pause.Unix() {
|
if clientconf.Available.Get().Unix() == pause.Unix() {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
clientconf.PauseUntil = config.Time(pause)
|
clientconf.Available = config.Time(pause)
|
||||||
conf.Clients[client] = clientconf
|
conf.Clients[client] = clientconf
|
||||||
changed[client] = pause
|
changed[client] = pause
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ func (m Matrix) Receive() ([]Message, error) {
|
||||||
for k := range config.Get().Clients {
|
for k := range config.Get().Clients {
|
||||||
messages = append(messages, Message{Sender: k, Content: "OH"})
|
messages = append(messages, Message{Sender: k, Content: "OH"})
|
||||||
if k == "broc" {
|
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
|
return messages, nil
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue