commit
54f4ad1497
@ -248,7 +248,7 @@ func (c *Caller) WebWxSendImageMsg(file *os.File, request *BaseRequest, info *Lo
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
// 构造新的图片类型的信息
|
// 构造新的图片类型的信息
|
||||||
msg := NewMediaSendMessage(ImageMessage, fromUserName, toUserName, resp.MediaId)
|
msg := NewMediaSendMessage(MsgTypeImage, fromUserName, toUserName, resp.MediaId)
|
||||||
// 发送图片信息
|
// 发送图片信息
|
||||||
resp1, err := c.Client.WebWxSendMsgImg(msg, request, info)
|
resp1, err := c.Client.WebWxSendMsgImg(msg, request, info)
|
||||||
return getSuccessSentMessage(msg, resp1, err)
|
return getSuccessSentMessage(msg, resp1, err)
|
||||||
|
@ -283,7 +283,7 @@ func (c *Client) sendMessage(request *BaseRequest, url string, msg *SendMessage)
|
|||||||
|
|
||||||
// WebWxSendMsg 发送文本消息
|
// WebWxSendMsg 发送文本消息
|
||||||
func (c *Client) WebWxSendMsg(msg *SendMessage, info *LoginInfo, request *BaseRequest) (*http.Response, error) {
|
func (c *Client) WebWxSendMsg(msg *SendMessage, info *LoginInfo, request *BaseRequest) (*http.Response, error) {
|
||||||
msg.Type = TextMessage
|
msg.Type = MsgTypeText
|
||||||
path, _ := url.Parse(c.Domain.BaseHost() + webwxsendmsg)
|
path, _ := url.Parse(c.Domain.BaseHost() + webwxsendmsg)
|
||||||
params := url.Values{}
|
params := url.Values{}
|
||||||
params.Add("lang", "zh_CN")
|
params.Add("lang", "zh_CN")
|
||||||
@ -450,7 +450,7 @@ func (c *Client) WebWxUploadMediaByChunk(file *os.File, request *BaseRequest, in
|
|||||||
// 这个接口依赖上传文件的接口
|
// 这个接口依赖上传文件的接口
|
||||||
// 发送的图片必须是已经成功上传的图片
|
// 发送的图片必须是已经成功上传的图片
|
||||||
func (c *Client) WebWxSendMsgImg(msg *SendMessage, request *BaseRequest, info *LoginInfo) (*http.Response, error) {
|
func (c *Client) WebWxSendMsgImg(msg *SendMessage, request *BaseRequest, info *LoginInfo) (*http.Response, error) {
|
||||||
msg.Type = ImageMessage
|
msg.Type = MsgTypeImage
|
||||||
path, _ := url.Parse(c.Domain.BaseHost() + webwxsendmsgimg)
|
path, _ := url.Parse(c.Domain.BaseHost() + webwxsendmsgimg)
|
||||||
params := url.Values{}
|
params := url.Values{}
|
||||||
params.Add("fun", "async")
|
params.Add("fun", "async")
|
||||||
|
@ -35,9 +35,7 @@ const (
|
|||||||
|
|
||||||
// 消息类型
|
// 消息类型
|
||||||
const (
|
const (
|
||||||
TextMessage = 1
|
AppMessage = 6
|
||||||
ImageMessage = 3
|
|
||||||
AppMessage = 6
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// MessageType以Go惯用形式定义了PC微信所有的官方消息类型。
|
// MessageType以Go惯用形式定义了PC微信所有的官方消息类型。
|
||||||
|
20
message.go
20
message.go
@ -123,7 +123,7 @@ func (m *Message) IsSendByGroup() bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Reply 回复消息
|
// Reply 回复消息
|
||||||
func (m *Message) Reply(msgType int, content, mediaId string) (*SentMessage, error) {
|
func (m *Message) Reply(msgType MessageType, content, mediaId string) (*SentMessage, error) {
|
||||||
msg := NewSendMessage(msgType, content, m.Bot.self.User.UserName, m.FromUserName, mediaId)
|
msg := NewSendMessage(msgType, content, m.Bot.self.User.UserName, m.FromUserName, mediaId)
|
||||||
info := m.Bot.Storage.LoginInfo
|
info := m.Bot.Storage.LoginInfo
|
||||||
request := m.Bot.Storage.Request
|
request := m.Bot.Storage.Request
|
||||||
@ -132,7 +132,7 @@ func (m *Message) Reply(msgType int, content, mediaId string) (*SentMessage, err
|
|||||||
|
|
||||||
// ReplyText 回复文本消息
|
// ReplyText 回复文本消息
|
||||||
func (m *Message) ReplyText(content string) (*SentMessage, error) {
|
func (m *Message) ReplyText(content string) (*SentMessage, error) {
|
||||||
return m.Reply(TextMessage, content, "")
|
return m.Reply(MsgTypeText, content, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
// ReplyImage 回复图片消息
|
// ReplyImage 回复图片消息
|
||||||
@ -346,20 +346,18 @@ func (m *Message) init(bot *Bot) {
|
|||||||
if regexp.MustCompile(`^<`).MatchString(m.Content) {
|
if regexp.MustCompile(`^<`).MatchString(m.Content) {
|
||||||
m.Content = html.UnescapeString(m.Content)
|
m.Content = html.UnescapeString(m.Content)
|
||||||
}
|
}
|
||||||
//if m.IsText()
|
|
||||||
{
|
|
||||||
m.Content = strings.Replace(m.Content, `<br/>`, "\n", -1)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 格式化文本消息中的emoji表情
|
// 文本消息
|
||||||
if m.IsText() {
|
if m.IsText() {
|
||||||
|
m.Content = strings.Replace(m.Content, `<br/>`, "\n", -1)
|
||||||
|
// 格式化文本消息中的emoji表情
|
||||||
m.Content = FormatEmoji(m.Content)
|
m.Content = FormatEmoji(m.Content)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// SendMessage 发送消息的结构体
|
// SendMessage 发送消息的结构体
|
||||||
type SendMessage struct {
|
type SendMessage struct {
|
||||||
Type int
|
Type MessageType
|
||||||
Content string
|
Content string
|
||||||
FromUserName string
|
FromUserName string
|
||||||
ToUserName string
|
ToUserName string
|
||||||
@ -369,7 +367,7 @@ type SendMessage struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NewSendMessage SendMessage的构造方法
|
// NewSendMessage SendMessage的构造方法
|
||||||
func NewSendMessage(msgType int, content, fromUserName, toUserName, mediaId string) *SendMessage {
|
func NewSendMessage(msgType MessageType, content, fromUserName, toUserName, mediaId string) *SendMessage {
|
||||||
id := strconv.FormatInt(time.Now().UnixNano()/1e2, 10)
|
id := strconv.FormatInt(time.Now().UnixNano()/1e2, 10)
|
||||||
return &SendMessage{
|
return &SendMessage{
|
||||||
Type: msgType,
|
Type: msgType,
|
||||||
@ -384,11 +382,11 @@ func NewSendMessage(msgType int, content, fromUserName, toUserName, mediaId stri
|
|||||||
|
|
||||||
// NewTextSendMessage 文本消息的构造方法
|
// NewTextSendMessage 文本消息的构造方法
|
||||||
func NewTextSendMessage(content, fromUserName, toUserName string) *SendMessage {
|
func NewTextSendMessage(content, fromUserName, toUserName string) *SendMessage {
|
||||||
return NewSendMessage(TextMessage, content, fromUserName, toUserName, "")
|
return NewSendMessage(MsgTypeText, content, fromUserName, toUserName, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewMediaSendMessage 媒体消息的构造方法
|
// NewMediaSendMessage 媒体消息的构造方法
|
||||||
func NewMediaSendMessage(msgType int, fromUserName, toUserName, mediaId string) *SendMessage {
|
func NewMediaSendMessage(msgType MessageType, fromUserName, toUserName, mediaId string) *SendMessage {
|
||||||
return NewSendMessage(msgType, "", fromUserName, toUserName, mediaId)
|
return NewSendMessage(msgType, "", fromUserName, toUserName, mediaId)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
4
user.go
4
user.go
@ -376,7 +376,7 @@ func (s *Self) forwardMessage(msg *SentMessage, users ...*User) error {
|
|||||||
info := s.Bot.Storage.LoginInfo
|
info := s.Bot.Storage.LoginInfo
|
||||||
req := s.Bot.Storage.Request
|
req := s.Bot.Storage.Request
|
||||||
switch msg.Type {
|
switch msg.Type {
|
||||||
case TextMessage:
|
case MsgTypeText:
|
||||||
for _, user := range users {
|
for _, user := range users {
|
||||||
msg.FromUserName = s.UserName
|
msg.FromUserName = s.UserName
|
||||||
msg.ToUserName = user.UserName
|
msg.ToUserName = user.UserName
|
||||||
@ -384,7 +384,7 @@ func (s *Self) forwardMessage(msg *SentMessage, users ...*User) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case ImageMessage:
|
case MsgTypeImage:
|
||||||
for _, user := range users {
|
for _, user := range users {
|
||||||
msg.FromUserName = s.UserName
|
msg.FromUserName = s.UserName
|
||||||
msg.ToUserName = user.UserName
|
msg.ToUserName = user.UserName
|
||||||
|
Loading…
x
Reference in New Issue
Block a user