diff --git a/common/chatdata.go b/common/chatdata.go
index bc7a191..1fd77c7 100644
--- a/common/chatdata.go
+++ b/common/chatdata.go
@@ -1,12 +1,10 @@
package common
import (
- "bytes"
"encoding/json"
"errors"
"fmt"
"strings"
- "text/template"
)
type DataInterface interface {
@@ -91,51 +89,38 @@ type DataMessage struct {
Type MessageType
}
-var (
- cmdme = template.Must(template.New("cmdme").Parse(`{{.From}} {{.Message}}`))
- announcement = template.Must(template.New("announcement").Parse(`{{.Message}}`))
- errormsg = template.Must(template.New("error").Parse(`{{.Message}}`))
- notice = template.Must(template.New("notice").Parse(`{{.Message}}`))
- command = template.Must(template.New("command").Parse(`{{.Message}}`))
- commanderror = template.Must(template.New("commanderror").Parse(`{{.Message}}`))
- cmdlMod = template.Must(template.New("cmdlMod").Parse(`{{.From}}: {{.Message}}`))
- cmdlAdmin = template.Must(template.New("CmdlAdmin").Parse(`{{.From}}: {{.Message}}`))
- defaultMsg = template.Must(template.New("defaultMsg").Parse(`{{.From}}: {{.Message}}`))
-)
-
// TODO: Read this HTML from a template somewhere
func (dc DataMessage) HTML() string {
- buf := &bytes.Buffer{}
switch dc.Type {
case MsgAction:
- cmdme.Execute(buf, dc)
- return buf.String()
+ return `` + dc.From +
+ ` ` + dc.Message + ``
+
case MsgServer:
- announcement.Execute(buf, dc)
- return buf.String()
+ return `` + dc.Message + ``
+
case MsgError:
- errormsg.Execute(buf, dc)
- return buf.String()
+ return `` + dc.Message + ``
+
case MsgNotice:
- notice.Execute(buf, dc)
- return buf.String()
+ return `` + dc.Message + ``
+
case MsgCommandResponse:
- command.Execute(buf, dc)
- return buf.String()
+ return `` + dc.Message + ``
+
case MsgCommandError:
- commanderror.Execute(buf, dc)
- return buf.String()
+ return `` + dc.Message + ``
default:
+ badge := ""
switch dc.Level {
case CmdlMod:
- cmdlMod.Execute(buf, dc)
+ badge = ``
case CmdlAdmin:
- cmdlAdmin.Execute(buf, dc)
- default:
- defaultMsg.Execute(buf, dc)
+ badge = ``
}
- return buf.String()
+ return `` + badge + `` + dc.From +
+ `: ` + dc.Message + ``
}
}
@@ -180,51 +165,42 @@ type DataEvent struct {
Event EventType
User string
Color string
- Users []string
}
-var (
- evKick = template.Must(template.New("evKick").Parse(`{{.User}} has been kicked.`))
- evLeave = template.Must(template.New("evLeave").Parse(`{{.User}} has left the chat.`))
- evBan = template.Must(template.New("evBan").Parse(`{{.User}} has been banned.`))
- evJoin = template.Must(template.New("evJoin").Parse(`{{.User}} has joined the chat.`))
- evNameChangeWC = template.Must(template.New("evNameChangeWC").Parse(`Somebody changed their name, but IDK who {{.}}.`))
- evNameChange = template.Must(template.New("evNameChange").Parse(`{{index .Users 0}} has changed their name to {{index .Users 1}}.`))
- evNameChangeForced = template.Must(template.New("evNameChangeForced").Parse(`{{index .Users 0}} has had their name changed to {{index .Users 1}} by an admin.`))
- evNameChangeForcedWC = template.Must(template.New("evNameChangeForcedWC").Parse(`An admin changed somebody's name, but IDK who {{.}}.`))
-)
-
func (de DataEvent) HTML() string {
- buf := &bytes.Buffer{}
switch de.Event {
case EvKick:
- evKick.Execute(buf, de)
- return buf.String()
+ return `` +
+ de.User + ` has been kicked.`
case EvLeave:
- evLeave.Execute(buf, de)
- return buf.String()
+ return `` +
+ de.User + ` has left the chat.`
case EvBan:
- evBan.Execute(buf, de)
- return buf.String()
+ return `` +
+ de.User + ` has been banned.`
case EvJoin:
- evJoin.Execute(buf, de)
- return buf.String()
+ return `` +
+ de.User + ` has joined the chat.`
case EvNameChange:
- de.Users = strings.Split(de.User, ":")
- if len(de.Users) < 2 {
- evNameChangeWC.Execute(buf, ParseEmotes("Jebaited"))
- } else {
- evNameChange.Execute(buf, de)
+ names := strings.Split(de.User, ":")
+ if len(names) != 2 {
+ return `Somebody changed their name, but IDK who ` +
+ ParseEmotes("Jebaited") + `.`
}
- return buf.String()
+
+ return `` +
+ names[0] + ` has changed their name to ` + names[1] + `.`
case EvNameChangeForced:
- de.Users = strings.Split(de.User, ":")
- if len(de.Users) < 2 {
- evNameChangeForcedWC.Execute(buf, ParseEmotes("Jebaited"))
- } else {
- evNameChangeForced.Execute(buf, de)
+ names := strings.Split(de.User, ":")
+ if len(names) != 2 {
+ return `An admin changed somebody's name, but IDK who ` +
+ ParseEmotes("Jebaited") + `.`
}
- return buf.String()
+
+ return `` +
+ names[0] + ` has had their name changed to ` + names[1] + ` by an admin.`
}
return ""
}