github.com/keybase/client/go@v0.0.0-20241007131713-f10651d043c8/protocol/keybase1/bot.go (about) 1 // Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler) 2 // Input file: avdl/keybase1/bot.avdl 3 4 package keybase1 5 6 import ( 7 "github.com/keybase/go-framed-msgpack-rpc/rpc" 8 context "golang.org/x/net/context" 9 "time" 10 ) 11 12 type BotToken string 13 14 func (o BotToken) DeepCopy() BotToken { 15 return o 16 } 17 18 type BotTokenInfo struct { 19 Token BotToken `codec:"token" json:"bot_token"` 20 Ctime Time `codec:"ctime" json:"ctime"` 21 } 22 23 func (o BotTokenInfo) DeepCopy() BotTokenInfo { 24 return BotTokenInfo{ 25 Token: o.Token.DeepCopy(), 26 Ctime: o.Ctime.DeepCopy(), 27 } 28 } 29 30 type BotTokenListArg struct { 31 } 32 33 type BotTokenCreateArg struct { 34 } 35 36 type BotTokenDeleteArg struct { 37 Token BotToken `codec:"token" json:"token"` 38 } 39 40 type BotInterface interface { 41 BotTokenList(context.Context) ([]BotTokenInfo, error) 42 BotTokenCreate(context.Context) (BotToken, error) 43 BotTokenDelete(context.Context, BotToken) error 44 } 45 46 func BotProtocol(i BotInterface) rpc.Protocol { 47 return rpc.Protocol{ 48 Name: "keybase.1.bot", 49 Methods: map[string]rpc.ServeHandlerDescription{ 50 "botTokenList": { 51 MakeArg: func() interface{} { 52 var ret [1]BotTokenListArg 53 return &ret 54 }, 55 Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { 56 ret, err = i.BotTokenList(ctx) 57 return 58 }, 59 }, 60 "botTokenCreate": { 61 MakeArg: func() interface{} { 62 var ret [1]BotTokenCreateArg 63 return &ret 64 }, 65 Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { 66 ret, err = i.BotTokenCreate(ctx) 67 return 68 }, 69 }, 70 "botTokenDelete": { 71 MakeArg: func() interface{} { 72 var ret [1]BotTokenDeleteArg 73 return &ret 74 }, 75 Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { 76 typedArgs, ok := args.(*[1]BotTokenDeleteArg) 77 if !ok { 78 err = rpc.NewTypeError((*[1]BotTokenDeleteArg)(nil), args) 79 return 80 } 81 err = i.BotTokenDelete(ctx, typedArgs[0].Token) 82 return 83 }, 84 }, 85 }, 86 } 87 } 88 89 type BotClient struct { 90 Cli rpc.GenericClient 91 } 92 93 func (c BotClient) BotTokenList(ctx context.Context) (res []BotTokenInfo, err error) { 94 err = c.Cli.Call(ctx, "keybase.1.bot.botTokenList", []interface{}{BotTokenListArg{}}, &res, 0*time.Millisecond) 95 return 96 } 97 98 func (c BotClient) BotTokenCreate(ctx context.Context) (res BotToken, err error) { 99 err = c.Cli.Call(ctx, "keybase.1.bot.botTokenCreate", []interface{}{BotTokenCreateArg{}}, &res, 0*time.Millisecond) 100 return 101 } 102 103 func (c BotClient) BotTokenDelete(ctx context.Context, token BotToken) (err error) { 104 __arg := BotTokenDeleteArg{Token: token} 105 err = c.Cli.Call(ctx, "keybase.1.bot.botTokenDelete", []interface{}{__arg}, nil, 0*time.Millisecond) 106 return 107 }