Skip to content

Commit

Permalink
update weibo image
Browse files Browse the repository at this point in the history
  • Loading branch information
Sora233 committed Nov 5, 2021
1 parent a0fb613 commit d7699e0
Show file tree
Hide file tree
Showing 5 changed files with 169 additions and 74 deletions.
13 changes: 13 additions & 0 deletions lsp/mmsg/image.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,19 @@ func NewImageByUrl(url string, prefer proxy_pool.Prefer, opts ...requests.Option
return img
}

func NewNormImageByUrl(url string, prefer proxy_pool.Prefer, opts ...requests.Option) *ImageBytesElement {
var img = NewImage(nil)
var b []byte
var err error
b, err = utils.ImageGetAndNorm(url, prefer, opts...)
if err == nil {
img.Buf = b
} else {
logger.WithField("url", url).Errorf("ImageGet error %v", err)
}
return img
}

func (i *ImageBytesElement) Alternative(s string) *ImageBytesElement {
i.alternative = s
return i
Expand Down
9 changes: 9 additions & 0 deletions lsp/mmsg/writer.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,15 @@ func (m *MSG) ImageByUrl(url string, alternative string, prefer proxy_pool.Prefe
return m
}

func (m *MSG) NormImageByUrl(url string, alternative string, prefer proxy_pool.Prefer, opts ...requests.Option) *MSG {
img := NewNormImageByUrl(url, prefer, opts...)
if len(alternative) > 0 {
img.Alternative(alternative)
}
m.Append(img)
return m
}

// ToMessage 总是返回 non-nil
func (m *MSG) ToMessage(target Target) *message.SendingMessage {
var sending = message.NewSendingMessage()
Expand Down
17 changes: 14 additions & 3 deletions lsp/weibo/model.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package weibo
import (
"github.com/Sora233/DDBOT/lsp/concern_type"
"github.com/Sora233/DDBOT/lsp/mmsg"
"github.com/Sora233/DDBOT/proxy_pool"
localutils "github.com/Sora233/DDBOT/utils"
"github.com/sirupsen/logrus"
"strings"
Expand Down Expand Up @@ -73,16 +74,23 @@ func (c *ConcernNewsNotify) GetGroupCode() int64 {

func (c *ConcernNewsNotify) ToMessage() (m *mmsg.MSG) {
m = mmsg.NewMSG()
var createdTime string
newsTime, err := time.Parse(time.RubyDate, c.Card.GetMblog().GetCreatedAt())
if err == nil {
m.Textf("weibo-%v发布了新微博:\n%v",
createdTime = newsTime.Format("2006-01-02 15:04:05")
} else {
createdTime = c.Card.GetMblog().GetCreatedAt()
}
if c.Card.GetMblog().GetRetweetedStatus() != nil {
m.Textf("weibo-%v转发了%v的微博:\n%v",
c.GetName(),
newsTime.Format("2006-01-02 15:04:05"),
c.Card.GetMblog().GetRetweetedStatus().GetUser().GetScreenName(),
createdTime,
)
} else {
m.Textf("weibo-%v发布了新微博:\n%v",
c.GetName(),
c.Card.GetMblog().GetCreatedAt(),
createdTime,
)
}
switch c.Card.GetCardType() {
Expand All @@ -92,6 +100,9 @@ func (c *ConcernNewsNotify) ToMessage() (m *mmsg.MSG) {
} else {
m.Textf("\n%v", localutils.RemoveHtmlTag(c.Card.GetMblog().GetText()))
}
for _, pic := range c.Card.GetMblog().GetPics() {
m.ImageByUrl(pic.GetUrl(), "", proxy_pool.PreferNone)
}
default:
c.Logger().Debug("found new card_types")
}
Expand Down
197 changes: 127 additions & 70 deletions lsp/weibo/weibo.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 6 additions & 1 deletion lsp/weibo/weibo.proto
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,14 @@ message Card {
}
Geo geo = 4;
message Large {
message LargeGeo {
string width = 1;
string height = 2;
bool croped = 3;
}
string size = 1;
string url = 2;
Geo geo = 3;
LargeGeo geo = 3;
}
Large large = 5;
}
Expand Down

0 comments on commit d7699e0

Please sign in to comment.