添加发送视频接口

This commit is contained in:
eatmoreapple 2021-08-16 22:27:16 +08:00
parent 57ad498e69
commit 324d693290
5 changed files with 846 additions and 798 deletions

View File

@ -271,6 +271,17 @@ func (c *Caller) WebWxSendFile(file *os.File, req *BaseRequest, info *LoginInfo,
return c.WebWxSendAppMsg(msg, req)
}
func (c *Caller) WebWxSendVideoMsg(file *os.File, request *BaseRequest, info *LoginInfo, fromUserName, toUserName string) (*SentMessage, error) {
resp, err := c.UploadMedia(file, request, info, fromUserName, toUserName)
if err != nil {
return nil, err
}
// 构造新的图片类型的信息
msg := NewMediaSendMessage(MsgTypeVideo, fromUserName, toUserName, resp.MediaId)
resp2, err := c.Client.WebWxSendVideoMsg(request, msg)
return getSuccessSentMessage(msg, resp2, err)
}
// WebWxSendAppMsg 发送媒体消息
func (c *Caller) WebWxSendAppMsg(msg *SendMessage, req *BaseRequest) (*SentMessage, error) {
resp, err := c.Client.WebWxSendAppMsg(msg, req)

View File

@ -716,3 +716,15 @@ func (c *Client) WebWxPushLogin(uin int) (*http.Response, error) {
req, _ := http.NewRequest(http.MethodGet, path.String(), nil)
return c.Do(req)
}
// WebWxSendVideoMsg 发送视频消息接口
func (c *Client) WebWxSendVideoMsg(request *BaseRequest, msg *SendMessage) (*http.Response, error) {
path, _ := url.Parse(c.Domain.BaseHost() + webwxsendvideomsg)
params := url.Values{}
params.Add("fun", "async")
params.Add("f", "json")
params.Add("lang", "zh_CN")
params.Add("pass_ticket", "pass_ticket")
path.RawQuery = params.Encode()
return c.sendMessage(request, path.String(), msg)
}

View File

@ -33,6 +33,11 @@ func (f *Friend) SendImage(file *os.File) (*SentMessage, error) {
return f.Self.SendImageToFriend(f, file)
}
// SendVideo 发送图片消息
func (f *Friend) SendVideo(file *os.File) (*SentMessage, error) {
return f.Self.SendVideoToFriend(f, file)
}
// SendFile 发送文件消息
func (f *Friend) SendFile(file *os.File) (*SentMessage, error) {
return f.Self.SendFileToFriend(f, file)
@ -173,7 +178,7 @@ func (f Friends) SendImage(file *os.File, delay ...time.Duration) error {
}
// SendFile 群发文件
func (f Friends)SendFile(file *os.File, delay ...time.Duration) error {
func (f Friends) SendFile(file *os.File, delay ...time.Duration) error {
total := getTotalDuration(delay...)
var (
sentMessage *SentMessage
@ -216,6 +221,11 @@ func (g *Group) SendImage(file *os.File) (*SentMessage, error) {
return g.Self.SendImageToGroup(g, file)
}
// SendVideo 发行视频消息给当前的群组
func (g *Group) SendVideo(file *os.File) (*SentMessage, error) {
return g.Self.SendVideoToGroup(g, file)
}
// SendFile 发送文件给当前的群组
func (g *Group) SendFile(file *os.File) (*SentMessage, error) {
return g.Self.SendFileToGroup(g, file)

1
url.go
View File

@ -17,6 +17,7 @@ const (
webwxgetcontact = "/cgi-bin/mmwebwx-bin/webwxgetcontact"
webwxsendmsgimg = "/cgi-bin/mmwebwx-bin/webwxsendmsgimg"
webwxsendappmsg = "/cgi-bin/mmwebwx-bin/webwxsendappmsg"
webwxsendvideomsg = "/cgi-bin/mmwebwx-bin/webwxsendvideomsg"
webwxbatchgetcontact = "/cgi-bin/mmwebwx-bin/webwxbatchgetcontact"
webwxoplog = "/cgi-bin/mmwebwx-bin/webwxoplog"
webwxverifyuser = "/cgi-bin/mmwebwx-bin/webwxverifyuser"

14
user.go
View File

@ -253,6 +253,13 @@ func (s *Self) SendImageToFriend(friend *Friend, file *os.File) (*SentMessage, e
return s.Bot.Caller.WebWxSendImageMsg(file, req, info, s.UserName, friend.UserName)
}
// SendVideoToFriend 发送视频给好友
func (s *Self) SendVideoToFriend(friend *Friend, file *os.File) (*SentMessage, error) {
req := s.Bot.Storage.Request
info := s.Bot.Storage.LoginInfo
return s.Bot.Caller.WebWxSendVideoMsg(file, req, info, s.UserName, friend.UserName)
}
// SendFileToFriend 发送文件给好友
func (s *Self) SendFileToFriend(friend *Friend, file *os.File) (*SentMessage, error) {
req := s.Bot.Storage.Request
@ -351,6 +358,13 @@ func (s *Self) SendImageToGroup(group *Group, file *os.File) (*SentMessage, erro
return s.Bot.Caller.WebWxSendImageMsg(file, req, info, s.UserName, group.UserName)
}
// SendVideoToGroup 发送视频给群组
func (s *Self) SendVideoToGroup(group *Group, file *os.File) (*SentMessage, error) {
req := s.Bot.Storage.Request
info := s.Bot.Storage.LoginInfo
return s.Bot.Caller.WebWxSendVideoMsg(file, req, info, s.UserName, group.UserName)
}
// SendFileToGroup 发送文件给群组
func (s *Self) SendFileToGroup(group *Group, file *os.File) (*SentMessage, error) {
req := s.Bot.Storage.Request