remove covid plugin
This commit is contained in:
parent
d996e84c86
commit
302229ce60
@ -1,83 +0,0 @@
|
|||||||
package plugins
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"regexp"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"github.com/matrix-org/gomatrix"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Covid responds to covid requests
|
|
||||||
type Covid struct {
|
|
||||||
}
|
|
||||||
|
|
||||||
// State represents a individual state from the json api
|
|
||||||
type State struct {
|
|
||||||
Confirmed int `json:"confirmed"`
|
|
||||||
Recovered int `json:"recovered"`
|
|
||||||
Deaths int `json:"deaths"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// Descr describes this plugin
|
|
||||||
func (h *Covid) Descr() string {
|
|
||||||
return "Queries [thebigboard.cc](http://www.thebigboard.cc)'s api for information on COVID-19."
|
|
||||||
}
|
|
||||||
|
|
||||||
// Re returns the beer matching string
|
|
||||||
func (h *Covid) Re() string {
|
|
||||||
return `(?i)^covid: (.+)$`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (h *Covid) fix(msg string) string {
|
|
||||||
re := regexp.MustCompile(h.Re())
|
|
||||||
return re.ReplaceAllString(msg, "$1")
|
|
||||||
}
|
|
||||||
|
|
||||||
// Match determines if we should call the response for Covid
|
|
||||||
func (h *Covid) Match(_, msg string) bool {
|
|
||||||
re := regexp.MustCompile(h.Re())
|
|
||||||
return re.MatchString(msg)
|
|
||||||
}
|
|
||||||
|
|
||||||
// SetStore we don't need a store here.
|
|
||||||
func (h *Covid) SetStore(_ PluginStore) {}
|
|
||||||
|
|
||||||
// Process does the heavy lifting
|
|
||||||
func (h *Covid) Process(from, msg string) string {
|
|
||||||
state := h.fix(msg)
|
|
||||||
if state != "" {
|
|
||||||
var states = make(map[string]State)
|
|
||||||
req := HTTPRequest{
|
|
||||||
Method: "GET",
|
|
||||||
ResBody: &states,
|
|
||||||
URL: "http://www.thebigboard.cc/feeds/v1/us.json",
|
|
||||||
}
|
|
||||||
_ = req.DoJSON()
|
|
||||||
// updated and source cause some issues here
|
|
||||||
//if err != nil {
|
|
||||||
// SendText(c, ev.RoomID, fmt.Sprintf("Computer says no: %s", err))
|
|
||||||
//}
|
|
||||||
|
|
||||||
var s State
|
|
||||||
for i, p := range states {
|
|
||||||
if strings.EqualFold(i, state) {
|
|
||||||
s = p
|
|
||||||
state = i
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return fmt.Sprintf("_%s_: confirmed cases: **%d**, recovered: _%d_, deaths: _%d_", state, s.Confirmed, s.Recovered, s.Deaths)
|
|
||||||
}
|
|
||||||
return fmt.Sprintf("invalid state: %q", state)
|
|
||||||
}
|
|
||||||
|
|
||||||
// RespondText to looking up of beer requests
|
|
||||||
func (h *Covid) RespondText(c *gomatrix.Client, ev *gomatrix.Event, _, post string) error {
|
|
||||||
return SendMD(c, ev.RoomID, h.Process(ev.Sender, post))
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Name Covid!
|
|
||||||
func (h *Covid) Name() string {
|
|
||||||
return "Covid"
|
|
||||||
}
|
|
@ -287,7 +287,6 @@ var Plugs = Plugins{
|
|||||||
&Beat{},
|
&Beat{},
|
||||||
&Beer{},
|
&Beer{},
|
||||||
&BotSnack{},
|
&BotSnack{},
|
||||||
&Covid{},
|
|
||||||
&DMR{},
|
&DMR{},
|
||||||
&Feder{},
|
&Feder{},
|
||||||
&Groan{},
|
&Groan{},
|
||||||
|
Loading…
Reference in New Issue
Block a user