add message.IsAt and format message in group
This commit is contained in:
parent
d4b23ea156
commit
f8d0f37047
@ -8,13 +8,14 @@ import (
|
|||||||
func TestDefaultBot(t *testing.T) {
|
func TestDefaultBot(t *testing.T) {
|
||||||
bot := DefaultBot()
|
bot := DefaultBot()
|
||||||
messageHandler := func(message *Message) {
|
messageHandler := func(message *Message) {
|
||||||
fmt.Println(message)
|
fmt.Println(message.Content)
|
||||||
}
|
}
|
||||||
bot.RegisterMessageHandler(messageHandler)
|
bot.RegisterMessageHandler(messageHandler)
|
||||||
bot.UUIDCallback = PrintlnQrcodeUrl
|
bot.UUIDCallback = PrintlnQrcodeUrl
|
||||||
if err := bot.Login(); err != nil {
|
if err := bot.Login(); err != nil {
|
||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
return
|
return
|
||||||
|
|
||||||
}
|
}
|
||||||
bot.Block()
|
bot.Block()
|
||||||
}
|
}
|
||||||
|
15
message.go
15
message.go
@ -7,6 +7,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
"unicode"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Message struct {
|
type Message struct {
|
||||||
@ -192,6 +193,20 @@ func (m *Message) init(bot *Bot) {
|
|||||||
data := strings.Split(m.Content, ":<br/>")
|
data := strings.Split(m.Content, ":<br/>")
|
||||||
m.Content = strings.Join(data[1:], "")
|
m.Content = strings.Join(data[1:], "")
|
||||||
m.senderInGroupUserName = data[0]
|
m.senderInGroupUserName = data[0]
|
||||||
|
receiver, err := m.Receiver()
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
displayName := receiver.DisplayName
|
||||||
|
if displayName == "" {
|
||||||
|
displayName = receiver.NickName
|
||||||
|
}
|
||||||
|
atFlag := "@" + displayName
|
||||||
|
index := len(atFlag) + 1 + 1
|
||||||
|
if strings.HasPrefix(m.Content, atFlag) && unicode.IsSpace(rune(m.Content[index])) {
|
||||||
|
m.IsAt = true
|
||||||
|
m.Content = m.Content[index+1:]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user