package tgbot import ( "fmt" "github.com/dustin/go-humanize" tele "gopkg.in/telebot.v4" "server/torr" ) func cmdCache(c tele.Context) error { arg := "" if args := c.Args(); len(args) > 0 { arg = args[0] } hash := resolveHash(c, arg) if hash == "" { return c.Send(tr(c.Sender().ID, "cache_usage")) } t := torr.GetTorrent(hash) if t == nil { return c.Send(tr(c.Sender().ID, "torrent_not_found") + ":\n" + hash + "") } st := t.CacheState() if st == nil { return c.Send(fmt.Sprintf(tr(c.Sender().ID, "cache_unavailable"), hash)) } uid := c.Sender().ID txt := "💾 " + escapeHtml(st.Torrent.Title) + "\n\n" txt += fmt.Sprintf("%s: %s\n", tr(uid, "cache_capacity"), humanize.IBytes(uint64(st.Capacity))) txt += fmt.Sprintf("%s: %s\n", tr(uid, "cache_filled"), humanize.IBytes(uint64(st.Filled))) txt += fmt.Sprintf("%s: %d\n", tr(uid, "cache_pieces"), st.PiecesCount) txt += fmt.Sprintf("%s: %d\n", tr(uid, "cache_readers"), len(st.Readers)) txt += fmt.Sprintf("%s", hash) return c.Send(txt) }