添加emoji格式化
This commit is contained in:
parent
258ac4f236
commit
7a46544dc1
67
bot_test.go
67
bot_test.go
@ -1,70 +1,15 @@
|
|||||||
package openwechat
|
package openwechat
|
||||||
|
|
||||||
import (
|
import "testing"
|
||||||
"fmt"
|
|
||||||
"testing"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestDefaultBot(t *testing.T) {
|
func defaultBot() *Bot {
|
||||||
bot := DefaultBot()
|
|
||||||
bot.MessageHandler = func(message *Message) {
|
|
||||||
if message.Content == "logout" {
|
|
||||||
bot.Logout()
|
|
||||||
}
|
|
||||||
fmt.Println(message.Content)
|
|
||||||
}
|
|
||||||
bot.UUIDCallback = PrintlnQrcodeUrl
|
|
||||||
if err := bot.Login(); err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
self, _ := bot.GetCurrentUser()
|
|
||||||
self.SaveAvatar("2.png")
|
|
||||||
fileHelper, _ := self.FileHelper()
|
|
||||||
fileHelper.SendText("6666")
|
|
||||||
group, _ := self.Groups()
|
|
||||||
friends, _ := self.Friends()
|
|
||||||
fmt.Println(group.Search(1, func(group *Group) bool { return group.NickName == "厉害了" }))
|
|
||||||
results := friends.Search(1, func(friend *Friend) bool { return friend.RemarkName == "阿青" }, func(friend *Friend) bool { return friend.Sex == 2 })
|
|
||||||
fmt.Println(results)
|
|
||||||
fmt.Println(bot.Block())
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestUser_GetAvatarResponse(t *testing.T) {
|
|
||||||
|
|
||||||
bot := DefaultBot()
|
|
||||||
bot.UUIDCallback = PrintlnQrcodeUrl
|
|
||||||
if err := bot.Login(); err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
self, _ := bot.GetCurrentUser()
|
|
||||||
self.SaveAvatar("2.png")
|
|
||||||
friend, err := self.Friends()
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
friend[0].SaveAvatar(friend[0].NickName + ".png")
|
|
||||||
}
|
|
||||||
|
|
||||||
func getDefaultLoginBot() *Bot {
|
|
||||||
bot := DefaultBot()
|
bot := DefaultBot()
|
||||||
bot.UUIDCallback = PrintlnQrcodeUrl
|
bot.UUIDCallback = PrintlnQrcodeUrl
|
||||||
return bot
|
return bot
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSendFile(t *testing.T) {
|
func TestBotLogin(t *testing.T) {
|
||||||
bot := getDefaultLoginBot()
|
bot := defaultBot()
|
||||||
bot.MessageHandler = func(msg *Message) {
|
|
||||||
user, err := msg.Sender()
|
|
||||||
if err != nil {
|
|
||||||
t.Error(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
fmt.Println(msg.Content)
|
|
||||||
fmt.Println(user.NickName)
|
|
||||||
}
|
|
||||||
if err := bot.Login(); err != nil {
|
if err := bot.Login(); err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
return
|
return
|
||||||
@ -74,7 +19,5 @@ func TestSendFile(t *testing.T) {
|
|||||||
t.Error(err)
|
t.Error(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
fileHelper, _ := self.FileHelper()
|
t.Log(self.NickName)
|
||||||
fileHelper.sendText("666")
|
|
||||||
bot.Block()
|
|
||||||
}
|
}
|
||||||
|
8
emoji.go
8
emoji.go
@ -1,7 +1,6 @@
|
|||||||
package openwechat
|
package openwechat
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"regexp"
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
@ -10,7 +9,7 @@ var (
|
|||||||
emojiRegexp = regexp.MustCompile(`<span class="emoji emoji(.*?)"></span>`)
|
emojiRegexp = regexp.MustCompile(`<span class="emoji emoji(.*?)"></span>`)
|
||||||
)
|
)
|
||||||
|
|
||||||
var emojiDict = map[string]string{
|
var EmojiDict = map[string]string{
|
||||||
"U+00A9": "©", "U+00AE": "®", "U+1F004": "🀄", "U+1F0CF": "🃏", "U+1F170": "🅰", "U+1F171": "🅱", "U+1F17E": "🅾",
|
"U+00A9": "©", "U+00AE": "®", "U+1F004": "🀄", "U+1F0CF": "🃏", "U+1F170": "🅰", "U+1F171": "🅱", "U+1F17E": "🅾",
|
||||||
"U+1F17F": "🅿", "U+1F18E": "🆎", "U+1F191": "🆑", "U+1F192": "🆒", "U+1F193": "🆓", "U+1F194": "🆔", "U+1F195": "🆕",
|
"U+1F17F": "🅿", "U+1F18E": "🆎", "U+1F191": "🆑", "U+1F192": "🆒", "U+1F193": "🆓", "U+1F194": "🆔", "U+1F195": "🆕",
|
||||||
"U+1F196": "🆖", "U+1F197": "🆗", "U+1F198": "🆘", "U+1F199": "🆙", "U+1F19A": "🆚", "U+1F201": "🈁", "U+1F202": "🈂",
|
"U+1F196": "🆖", "U+1F197": "🆗", "U+1F198": "🆘", "U+1F199": "🆙", "U+1F19A": "🆚", "U+1F201": "🈁", "U+1F202": "🈂",
|
||||||
@ -112,13 +111,12 @@ var emojiDict = map[string]string{
|
|||||||
"U+2935": "⤵", "U+2B05": "⬅", "U+2B06": "⬆", "U+2B07": "⬇", "U+2B1B": "⬛", "U+2B1C": "⬜", "U+2B50": "⭐",
|
"U+2935": "⤵", "U+2B05": "⬅", "U+2B06": "⬆", "U+2B07": "⬇", "U+2B1B": "⬛", "U+2B1C": "⬜", "U+2B50": "⭐",
|
||||||
"U+2B55": "⭕", "U+3030": "〰", "U+303D": "〽", "U+3297": "㊗", "U+3299": "㊙"}
|
"U+2B55": "⭕", "U+3030": "〰", "U+303D": "〽", "U+3297": "㊗", "U+3299": "㊙"}
|
||||||
|
|
||||||
func formatEmoji(text string) string {
|
func FormatEmoji(text string) string {
|
||||||
if result := emojiRegexp.FindAllStringSubmatch(text, -1); len(result) != 0 {
|
if result := emojiRegexp.FindAllStringSubmatch(text, -1); len(result) != 0 {
|
||||||
for _, item := range result {
|
for _, item := range result {
|
||||||
value := item[0]
|
value := item[0]
|
||||||
key := "U+" + strings.ToUpper(item[1])
|
key := "U+" + strings.ToUpper(item[1])
|
||||||
fmt.Println(key)
|
text = strings.ReplaceAll(text, value, EmojiDict[key])
|
||||||
text = strings.ReplaceAll(text, value, emojiDict[key])
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return text
|
return text
|
||||||
|
7
emoji_test.go
Normal file
7
emoji_test.go
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
package openwechat
|
||||||
|
|
||||||
|
import "testing"
|
||||||
|
|
||||||
|
func TestFormatEmoji(t *testing.T) {
|
||||||
|
t.Log(FormatEmoji(`多吃点苹果<span class="emoji emoji1f34f"></span>`))
|
||||||
|
}
|
10
user.go
10
user.go
@ -285,8 +285,10 @@ func (s *Self) UpdateMembersDetail() error {
|
|||||||
}
|
}
|
||||||
newMembers = append(newMembers, nMembers...)
|
newMembers = append(newMembers, nMembers...)
|
||||||
}
|
}
|
||||||
|
if len(newMembers) != 0 {
|
||||||
newMembers.SetOwner(s)
|
newMembers.SetOwner(s)
|
||||||
s.members = newMembers
|
s.members = newMembers
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -298,14 +300,16 @@ func (m Members) Count() int {
|
|||||||
|
|
||||||
func (m Members) First() *User {
|
func (m Members) First() *User {
|
||||||
if m.Count() > 0 {
|
if m.Count() > 0 {
|
||||||
return m[0]
|
u := m[0]
|
||||||
|
return u
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m Members) Last() *User {
|
func (m Members) Last() *User {
|
||||||
if m.Count() > 0 {
|
if m.Count() > 0 {
|
||||||
return m[m.Count()-1]
|
u := m[m.Count()-1]
|
||||||
|
return u
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -336,7 +340,7 @@ func (m Members) Search(limit int, condFuncList ...func(user *User) bool) (resul
|
|||||||
limit = m.Count()
|
limit = m.Count()
|
||||||
}
|
}
|
||||||
for _, member := range m {
|
for _, member := range m {
|
||||||
if results.Count() == limit {
|
if count := len(results); count == limit {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
var passCount int
|
var passCount int
|
||||||
|
Loading…
x
Reference in New Issue
Block a user