parent
5a3a325689
commit
1ddd67b1a4
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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),
|
||||||
})
|
})
|
||||||
|
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue