diaply acct instead of username

close #29
pull/32/head
Yasuhiro Matsumoto 2017-04-19 20:52:14 +09:00
parent 5a3a325689
commit 1ddd67b1a4
4 changed files with 33 additions and 6 deletions

View File

@ -19,7 +19,7 @@ func cmdFollowers(c *cli.Context) error {
return err return err
} }
for _, follower := range followers { for _, follower := range followers {
fmt.Fprintf(c.App.Writer, "%v,%v\n", follower.ID, follower.Username) fmt.Fprintf(c.App.Writer, "%v,%v\n", follower.ID, follower.Acct)
} }
return nil return nil
} }

View File

@ -18,7 +18,7 @@ func cmdNotification(c *cli.Context) error {
for _, n := range notifications { for _, n := range notifications {
if n.Status != nil { if n.Status != nil {
color.Set(color.FgHiRed) color.Set(color.FgHiRed)
fmt.Fprint(c.App.Writer, n.Account.Username) fmt.Fprint(c.App.Writer, n.Account.Acct)
color.Set(color.Reset) color.Set(color.Reset)
fmt.Fprintln(c.App.Writer, " "+n.Type) fmt.Fprintln(c.App.Writer, " "+n.Type)
s := n.Status s := n.Status

View File

@ -17,6 +17,7 @@ import (
type SimpleJSON struct { type SimpleJSON struct {
ID int64 `json:"id"` ID int64 `json:"id"`
Username string `json:"username"` Username string `json:"username"`
Acct string `json:"acct"`
Avatar string `json:"avatar"` Avatar string `json:"avatar"`
Content string `json:"content"` Content string `json:"content"`
} }
@ -61,6 +62,7 @@ func cmdStream(c *cli.Context) error {
json.NewEncoder(c.App.Writer).Encode(&SimpleJSON{ json.NewEncoder(c.App.Writer).Encode(&SimpleJSON{
ID: t.Status.ID, ID: t.Status.ID,
Username: t.Status.Account.Username, Username: t.Status.Account.Username,
Acct: t.Status.Account.Acct,
Avatar: t.Status.Account.AvatarStatic, Avatar: t.Status.Account.AvatarStatic,
Content: textContent(t.Status.Content), Content: textContent(t.Status.Content),
}) })

View File

@ -3,24 +3,49 @@ package main
import ( import (
"context" "context"
"fmt" "fmt"
"net/url"
"strings"
"github.com/fatih/color" "github.com/fatih/color"
"github.com/mattn/go-mastodon" "github.com/mattn/go-mastodon"
"github.com/urfave/cli" "github.com/urfave/cli"
) )
func acct(acct, host string) string {
if !strings.Contains(acct, "@") {
acct += "@" + host
}
return acct
}
func cmdTimeline(c *cli.Context) error { func cmdTimeline(c *cli.Context) error {
client := c.App.Metadata["client"].(*mastodon.Client) client := c.App.Metadata["client"].(*mastodon.Client)
config := c.App.Metadata["config"].(*mastodon.Config)
timeline, err := client.GetTimelineHome(context.Background()) timeline, err := client.GetTimelineHome(context.Background())
if err != nil { if err != nil {
return err return err
} }
u, err := url.Parse(config.Server)
if err != nil {
return err
}
for i := len(timeline) - 1; i >= 0; i-- { for i := len(timeline) - 1; i >= 0; i-- {
t := timeline[i] t := timeline[i]
if t.Reblog != nil {
color.Set(color.FgHiRed) color.Set(color.FgHiRed)
fmt.Fprintln(c.App.Writer, t.Account.Username) fmt.Fprint(c.App.Writer, acct(t.Account.Acct, u.Host))
color.Set(color.Reset)
fmt.Fprint(c.App.Writer, " rebloged ")
color.Set(color.FgHiBlue)
fmt.Fprintln(c.App.Writer, acct(t.Reblog.Account.Acct, u.Host))
fmt.Fprintln(c.App.Writer, textContent(t.Reblog.Content))
color.Set(color.Reset)
} else {
color.Set(color.FgHiRed)
fmt.Fprintln(c.App.Writer, acct(t.Account.Acct, u.Host))
color.Set(color.Reset) color.Set(color.Reset)
fmt.Fprintln(c.App.Writer, textContent(t.Content)) fmt.Fprintln(c.App.Writer, textContent(t.Content))
} }
}
return nil return nil
} }