remove bot and message.go
Some checks failed
CodeQL / Analyze (go) (push) Has been cancelled
Go / Test (1.22) (push) Has been cancelled
Go / Test (^1.22) (push) Has been cancelled

This commit is contained in:
2025-08-23 17:21:54 +08:00
parent 0958972953
commit f0bb92bdb9
29 changed files with 68 additions and 11993 deletions

View File

@ -180,6 +180,25 @@ var colors = map[string]string{
White: "97",
}
var colorsLegacy = map[string]string{
Black: "0",
DarkBlue: "1",
DarkGreen: "2",
DarkAqua: "3",
DarkRed: "4",
DarkPurple: "5",
Gold: "6",
Gray: "7",
DarkGray: "8",
Blue: "9",
Green: "a",
Aqua: "b",
Red: "c",
LightPurple: "d",
Yellow: "e",
White: "f",
}
// translateMap is the translation table.
// By default, it's en-us.
var translateMap = en_us.Map
@ -262,6 +281,51 @@ func (m Message) String() string {
return msg.String()
}
func (m Message) LegacyString() string {
var msg strings.Builder
if m.Bold {
msg.WriteString("&l")
}
if m.Italic {
msg.WriteString("&o")
}
if m.UnderLined {
msg.WriteString("&n")
}
if m.StrikeThrough {
msg.WriteString("&m")
}
if m.Color != "" {
msg.WriteString("&" + colorsLegacy[m.Color])
}
text := fmtPat.ReplaceAllStringFunc(
m.Text,
func(str string) string {
return "&" + string(str[2])
},
)
msg.WriteString(text)
// handle translate
if m.Translate != "" {
args := make([]any, len(m.With))
for i, v := range m.With {
args[i] = v
}
_, _ = fmt.Fprintf(&msg, translateMap[m.Translate], args...)
}
if m.Extra != nil {
for i := range m.Extra {
msg.WriteString(m.Extra[i].LegacyString())
}
}
return msg.String()
}
var fmtPat = regexp.MustCompile(`(?i)§[\dA-FK-OR]`)
// TransCtrlSeq will transform control sequences into ANSI code