replace zxq.co/ripple/hanayo
This commit is contained in:
61
vendor/zxq.co/ripple/schiavolib/schiavolib.go
vendored
Normal file
61
vendor/zxq.co/ripple/schiavolib/schiavolib.go
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
package schiavo
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"os"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
// Channels to which a message can be sent.
|
||||
const (
|
||||
General Channel = "general"
|
||||
Bunker Channel = "bunk"
|
||||
ChatLog Channel = "chatlog"
|
||||
Staff Channel = "staff"
|
||||
CMs Channel = "cm"
|
||||
)
|
||||
|
||||
// Channel is just a channel on the discord to which you can send messages.
|
||||
type Channel string
|
||||
|
||||
// SchiavoURL is the base URL for schiavo. Change to var when not hardcoded
|
||||
var SchiavoURL = ""
|
||||
|
||||
// Prefix is a prefix that will be appended to all Schiavo messages if set.
|
||||
var Prefix = ""
|
||||
|
||||
// ForceDo is a meme
|
||||
var ForceDo bool
|
||||
|
||||
var shouldDo = os.Getenv("GIN_MODE") == "release" || os.Getenv("SCHIAVO_LOG") != ""
|
||||
|
||||
// Send sends a message to a channel.
|
||||
func (c Channel) Send(m string) error {
|
||||
if !shouldDo && !ForceDo {
|
||||
return nil
|
||||
}
|
||||
if SchiavoURL == "" {
|
||||
return nil
|
||||
}
|
||||
if Prefix != "" {
|
||||
m = fmt.Sprintf("**%s** %s", Prefix, m)
|
||||
}
|
||||
urgay := SchiavoURL + "/" + string(c) + "?message=" + url.QueryEscape(m)
|
||||
resp, err := http.Get(urgay)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
body, err := ioutil.ReadAll(resp.Body)
|
||||
resp.Body.Close()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if string(body) != "ok" {
|
||||
return errors.New("Schiavo response not ok: " + string(body) + "; status code: " + strconv.Itoa(resp.StatusCode))
|
||||
}
|
||||
return nil
|
||||
}
|
Reference in New Issue
Block a user