From 489139f66bfa2bf5b542b564adaffb630147e4a9 Mon Sep 17 00:00:00 2001 From: David Haukeness Date: Fri, 22 Jan 2021 15:26:47 -0700 Subject: [PATCH] first try. ads broken. --- cmd/boobs.go | 8 ++++---- go.mod | 6 +++--- go.sum | 6 ++++++ main.go | 31 +++++++++++++++++++++++++------ 4 files changed, 38 insertions(+), 13 deletions(-) diff --git a/cmd/boobs.go b/cmd/boobs.go index 1c96871..1601223 100644 --- a/cmd/boobs.go +++ b/cmd/boobs.go @@ -8,11 +8,11 @@ import ( "samhofi.us/x/keybase/v2/types/chat1" ) -/*var BoobsAd = chat1.UserBotCommandInput{ - Name: "eyebleach", +var BoobsAd = chat1.UserBotCommandInput{ + Name: "boobs", Usage: "", - Description: "Sends some cute critters", -}*/ + Description: "Sends some titties", +} func Boobs(m chat1.MsgSummary, b *keybasebot.Bot) (bool, error) { path, desc, err := getRandomRedditMedia(b, "boobs", "top", 100) diff --git a/go.mod b/go.mod index 9ab9cd4..2bd2330 100644 --- a/go.mod +++ b/go.mod @@ -9,13 +9,13 @@ require ( github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect github.com/golang/protobuf v1.4.3 // indirect github.com/google/go-querystring v1.0.0 // indirect - github.com/google/uuid v1.1.5 + github.com/google/uuid v1.2.0 github.com/jzelinskie/geddit v0.0.0-20200521013404-78c28c13fba2 - github.com/kf5grd/keybasebot v1.5.0 + github.com/kf5grd/keybasebot v1.7.0 github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/teris-io/shortid v0.0.0-20201117134242-e59966efd125 github.com/urfave/cli/v2 v2.3.0 - golang.org/x/net v0.0.0-20201224014010-6772e930b67b // indirect + golang.org/x/net v0.0.0-20210119194325-5f4716e94777 // indirect golang.org/x/oauth2 v0.0.0-20210113205817-d3ed898aa8a3 // indirect google.golang.org/appengine v1.6.7 // indirect samhofi.us/x/keybase/v2 v2.0.8 diff --git a/go.sum b/go.sum index f4110e7..5e1cb31 100644 --- a/go.sum +++ b/go.sum @@ -111,6 +111,8 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.5 h1:kxhtnfFVi+rYdOALN0B3k9UT86zVJKfBimRaciULW4I= github.com/google/uuid v1.1.5/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.2.0 h1:qJYtXnJRWmpe7m/3XlyhrsLrEURqHRM2kxzoxXqyUDs= +github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -124,6 +126,8 @@ github.com/kf5grd/keybasebot v1.4.1 h1:6VTcDnCiYWtEtxSOEFvKF5R7VwabR3pSEONWV81WS github.com/kf5grd/keybasebot v1.4.1/go.mod h1:8T07cWZZrl2G6hTRsL9x2SBwaH8gEZocF9NRknSU3dY= github.com/kf5grd/keybasebot v1.5.0 h1:pLexa3GxSFCaypqN6QYhb4mPD2zaMHkhwChxN0Tkwug= github.com/kf5grd/keybasebot v1.5.0/go.mod h1:8T07cWZZrl2G6hTRsL9x2SBwaH8gEZocF9NRknSU3dY= +github.com/kf5grd/keybasebot v1.7.0 h1:8Jl6RSYEIyzniZ7UFyH/fjTlsM0tZHTCZ5F8bq8JTDA= +github.com/kf5grd/keybasebot v1.7.0/go.mod h1:8T07cWZZrl2G6hTRsL9x2SBwaH8gEZocF9NRknSU3dY= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= @@ -217,6 +221,8 @@ golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201224014010-6772e930b67b h1:iFwSg7t5GZmB/Q5TjiEAsdoLDrdJRC1RiF2WhuV29Qw= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777 h1:003p0dJM77cxMSyCPFphvZf/Y5/NXf5fzg6ufd1/Oew= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= diff --git a/main.go b/main.go index da5a6a1..efed0b2 100644 --- a/main.go +++ b/main.go @@ -1,6 +1,7 @@ package main import ( + "fmt" "log" "os" "os/signal" @@ -82,14 +83,15 @@ func run(c *cli.Context) error { b.Debug = c.Bool("debug") b.JSON = c.Bool("json") b.LogWriter = os.Stdout - b.LogConv = chat1.ConvIDStr(c.String("log-convid")) + //b.LogConv = chat1.ConvIDStr(c.String("log-convid")) // set the bot owner for private commands if c.String("owner") != "" { b.Meta["owner"] = c.String("owner") } + allowedTeams := make(map[chat1.ConvIDStr]bool) if c.String("kvstore-team") != "" { b.Meta["kvstore"] = c.String("kvstore-team") - loadNsfwAllowed(b) + allowedTeams = loadNsfwAllowed(b) } // set reddit login, which enables reddit commands if c.String("reddit-user") != "" && c.String("reddit-pass") != "" { @@ -166,7 +168,7 @@ func run(c *cli.Context) error { }, keybasebot.BotCommand{ Name: "boobs", - Ad: nil, + Ad: nil, // send nil advertisement and send fake per-convid ones later Run: keybasebot.Adapt( cmd.Boobs, keybasebot.MessageType("text"), @@ -175,6 +177,21 @@ func run(c *cli.Context) error { ), }, ) + for convID, allowed := range allowedTeams { + fmt.Printf("loading NSFW conversations\n") + if allowed { + fmt.Printf("NSFW allowed in %s\n", string(convID)) + b.Commands = append(b.Commands, + keybasebot.BotCommand{ + Name: "boobs", + Ad: &cmd.BoobsAd, + AdType: "conv", + AdConv: convID, + Run: fakeAction, + }, + ) + } + } } // catch ctrl-c so we can clean up @@ -190,16 +207,14 @@ func run(c *cli.Context) error { }() // then run b.Run() - return nil } -func loadNsfwAllowed(b *keybasebot.Bot) { +func loadNsfwAllowed(b *keybasebot.Bot) (allowedTeams map[chat1.ConvIDStr]bool) { // get the team from meta data, ok := b.Meta["kvstore"] if ok { // make something to fill - allowedTeams := make(map[chat1.ConvIDStr]bool) team := data.(string) kvKey := kvstore.New("nsfwAllowed", &allowedTeams, -1) err := kvstore.Get(b.KB, team, "ssh0le", &kvKey) @@ -211,3 +226,7 @@ func loadNsfwAllowed(b *keybasebot.Bot) { } return } + +func fakeAction(m chat1.MsgSummary, b *keybasebot.Bot) (bool, error) { + return false, nil +}