replace pause until with available
parent
b515143fc6
commit
3213c21c7e
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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": [
|
||||
|
|
|
|||
|
|
@ -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{}{}
|
||||
}
|
||||
|
|
|
|||
8
main.go
8
main.go
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue