dashboard-v2/cache/webchat.go
2020-01-17 21:40:15 +00:00

33 lines
620 B
Go

package cache
import (
"encoding/json"
"fmt"
)
type TicketMessage struct {
GuildId string `json:"guild"`
TicketId int `json:"ticket"`
Username string `json:"username"`
Content string `json:"content"`
}
func (c *RedisClient) ListenForMessages(message chan TicketMessage) {
pubsub := c.Subscribe("tickets:webchat:inboundmessage")
for {
msg, err := pubsub.ReceiveMessage(); if err != nil {
fmt.Println(err.Error())
continue
}
var decoded TicketMessage
if err := json.Unmarshal([]byte(msg.Payload), &decoded); err != nil {
fmt.Println(err.Error())
continue
}
message<-decoded
}
}