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