diff --git a/msg.go b/msg.go index 966c266..fde172b 100644 --- a/msg.go +++ b/msg.go @@ -7,6 +7,7 @@ import ( "strconv" "strings" "time" + "unicode/utf8" ) func parseSubTypeMessageReportAck(m *ChatWarsMessage, r *regexp.Regexp) (*ChatWarsMessageReportAck, error) { @@ -69,25 +70,29 @@ func parseSubTypeMessageGRolesAck(m *ChatWarsMessage, r *regexp.Regexp) (*ChatWa */ if strings.Compare(`[unassigned]`, r.ReplaceAllString(m.Text, "${Bartender}")) != 0 { s := r.ReplaceAllString(m.Text, "${Bartender}") - cwm.BartenderID64 = getObjUserID(s[1:]) + _, i := utf8.DecodeRunInString(s) + cwm.BartenderID64 = getObjUserID(s[i:]) } else { cwm.BartenderID64 = 0 } if strings.Compare(`[unassigned]`, r.ReplaceAllString(m.Text, "${Commander}")) != 0 { s := r.ReplaceAllString(m.Text, "${Commander}") - cwm.CommanderID64 = getObjUserID(s[1:]) + _, i := utf8.DecodeRunInString(s) + cwm.CommanderID64 = getObjUserID(s[i:]) } else { cwm.CommanderID64 = 0 } if strings.Compare(`[unassigned]`, r.ReplaceAllString(m.Text, "${Squire}")) != 0 { s := r.ReplaceAllString(m.Text, "${Bartender}") - cwm.SquireID64 = getObjUserID(s[1:]) + _, i := utf8.DecodeRunInString(s) + cwm.SquireID64 = getObjUserID(s[i:]) } else { cwm.SquireID64 = 0 } if strings.Compare(`[unassigned]`, r.ReplaceAllString(m.Text, "${Treasurer}")) != 0 { s := r.ReplaceAllString(m.Text, "${Bartender}") - cwm.TreasurerID64 = getObjUserID(s[1:]) + _, i := utf8.DecodeRunInString(s) + cwm.TreasurerID64 = getObjUserID(s[i:]) } else { cwm.TreasurerID64 = 0 }