Skip to content

Commit 42ee863

Browse files
committed
bybit go api 1.0.6
1 parent aa88f7e commit 42ee863

35 files changed

+864
-191
lines changed

README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,35 @@ if err != nil {
135135
fmt.Println(bybit.PrettyPrint(accountResult))
136136
```
137137

138+
### Websocket Trade channel
139+
```go
140+
ws := bybit.NewBybitPrivateWebSocket(bybit.WEBSOCKET_TRADE_TESTNET, "YOUR_API_KEY", "YOUR_API_SECRET", func(message string) error {
141+
fmt.Println("Received:", message)
142+
return nil
143+
}, bybit.WithPingInterval(10))
144+
_, _ = ws.Connect().SendTradeRequest(map[string]interface{}{
145+
"reqId": "test-005",
146+
"header": map[string]string{
147+
"X-BAPI-TIMESTAMP": fmt.Sprintf("%d", time.Now().UnixMilli()),
148+
"X-BAPI-RECV-WINDOW": "8000",
149+
"Referer": "bot-001",
150+
},
151+
"op": "order.create",
152+
"args": []interface{}{
153+
map[string]interface{}{
154+
"symbol": "ETHUSDT",
155+
"side": "Buy",
156+
"orderType": "Limit",
157+
"qty": "0.2",
158+
"price": "2800",
159+
"category": "linear",
160+
"timeInForce": "PostOnly",
161+
},
162+
},
163+
})
164+
select {}
165+
```
166+
138167
### Websocket public channel
139168
- Order book Subscribe
140169
```go

account.go

Lines changed: 46 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ func (s *BybitClientRequest) GetTransactionLog(ctx context.Context, opts ...Requ
2121
endpoint: endpoint,
2222
secType: secTypeSigned,
2323
}
24-
data := SendRequest(ctx, opts, r, s, err)
24+
data, err := SendRequest(ctx, opts, r, s, err)
2525
return GetServerResponse(err, data)
2626
}
2727

@@ -34,7 +34,7 @@ func (s *BybitClientRequest) GetFeeRates(ctx context.Context, opts ...RequestOpt
3434
endpoint: "/v5/account/fee-rate",
3535
secType: secTypeSigned,
3636
}
37-
data := SendRequest(ctx, opts, r, s, err)
37+
data, err := SendRequest(ctx, opts, r, s, err)
3838
return GetServerResponse(err, data)
3939
}
4040

@@ -47,7 +47,7 @@ func (s *BybitClientRequest) GetAccountWallet(ctx context.Context, opts ...Reque
4747
endpoint: "/v5/account/wallet-balance",
4848
secType: secTypeSigned,
4949
}
50-
data := SendRequest(ctx, opts, r, s, err)
50+
data, err := SendRequest(ctx, opts, r, s, err)
5151
return GetServerResponse(err, data)
5252
}
5353

@@ -60,7 +60,7 @@ func (s *BybitClientRequest) GetBorrowHistory(ctx context.Context, opts ...Reque
6060
endpoint: "/v5/account/borrow-history",
6161
secType: secTypeSigned,
6262
}
63-
data := SendRequest(ctx, opts, r, s, err)
63+
data, err := SendRequest(ctx, opts, r, s, err)
6464
return GetServerResponse(err, data)
6565
}
6666

@@ -73,7 +73,7 @@ func (s *BybitClientRequest) GetCoinGreeks(ctx context.Context, opts ...RequestO
7373
endpoint: "/v5/asset/coin-greeks",
7474
secType: secTypeSigned,
7575
}
76-
data := SendRequest(ctx, opts, r, s, err)
76+
data, err := SendRequest(ctx, opts, r, s, err)
7777
return GetServerResponse(err, data)
7878
}
7979

@@ -86,7 +86,7 @@ func (s *BybitClientRequest) GetCollateralInfo(ctx context.Context, opts ...Requ
8686
endpoint: "/v5/account/collateral-info",
8787
secType: secTypeSigned,
8888
}
89-
data := SendRequest(ctx, opts, r, s, err)
89+
data, err := SendRequest(ctx, opts, r, s, err)
9090
return GetServerResponse(err, data)
9191
}
9292

@@ -96,7 +96,7 @@ func (s *BybitClientRequest) GetAccountInfo(ctx context.Context, opts ...Request
9696
endpoint: "/v5/account/info",
9797
secType: secTypeSigned,
9898
}
99-
data := SendRequest(ctx, opts, r, s, err)
99+
data, err := SendRequest(ctx, opts, r, s, err)
100100
return GetServerResponse(err, data)
101101
}
102102

@@ -106,7 +106,17 @@ func (s *BybitClientRequest) GetMMPState(ctx context.Context, opts ...RequestOpt
106106
endpoint: "/v5/account/mmp-state",
107107
secType: secTypeSigned,
108108
}
109-
data := SendRequest(ctx, opts, r, s, err)
109+
data, err := SendRequest(ctx, opts, r, s, err)
110+
return GetServerResponse(err, data)
111+
}
112+
113+
func (s *BybitClientRequest) GetTransferableAmount(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
114+
r := &request{
115+
method: http.MethodGet,
116+
endpoint: "/v5/account/withdrawal",
117+
secType: secTypeSigned,
118+
}
119+
data, err := SendRequest(ctx, opts, r, s, err)
110120
return GetServerResponse(err, data)
111121
}
112122

@@ -116,7 +126,7 @@ func (s *BybitClientRequest) SetSpotHedgeMode(ctx context.Context, opts ...Reque
116126
endpoint: "/v5/account/set-hedging-mode",
117127
secType: secTypeSigned,
118128
}
119-
data := SendRequest(ctx, opts, r, s, err)
129+
data, err := SendRequest(ctx, opts, r, s, err)
120130
return GetServerResponse(err, data)
121131
}
122132

@@ -126,7 +136,7 @@ func (s *BybitClientRequest) UpgradeToUTA(ctx context.Context, opts ...RequestOp
126136
endpoint: "/v5/account/upgrade-to-uta",
127137
secType: secTypeSigned,
128138
}
129-
data := SendRequest(ctx, opts, r, s, err)
139+
data, err := SendRequest(ctx, opts, r, s, err)
130140
return GetServerResponse(err, data)
131141
}
132142

@@ -136,7 +146,17 @@ func (s *BybitClientRequest) SetCollateralCoin(ctx context.Context, opts ...Requ
136146
endpoint: "/v5/account/set-collateral-switch",
137147
secType: secTypeSigned,
138148
}
139-
data := SendRequest(ctx, opts, r, s, err)
149+
data, err := SendRequest(ctx, opts, r, s, err)
150+
return GetServerResponse(err, data)
151+
}
152+
153+
func (s *BybitClientRequest) BatchSetCollateralCoin(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
154+
r := &request{
155+
method: http.MethodPost,
156+
endpoint: "/v5/account/set-collateral-switch-batch",
157+
secType: secTypeSigned,
158+
}
159+
data, err := SendRequest(ctx, opts, r, s, err)
140160
return GetServerResponse(err, data)
141161
}
142162

@@ -146,7 +166,7 @@ func (s *BybitClientRequest) SetMarginMode(ctx context.Context, opts ...RequestO
146166
endpoint: "/v5/account/set-margin-mode",
147167
secType: secTypeSigned,
148168
}
149-
data := SendRequest(ctx, opts, r, s, err)
169+
data, err := SendRequest(ctx, opts, r, s, err)
150170
return GetServerResponse(err, data)
151171
}
152172

@@ -156,7 +176,7 @@ func (s *BybitClientRequest) SetMarketMakerProtection(ctx context.Context, opts
156176
endpoint: "/v5/account/mmp-modify",
157177
secType: secTypeSigned,
158178
}
159-
data := SendRequest(ctx, opts, r, s, err)
179+
data, err := SendRequest(ctx, opts, r, s, err)
160180
return GetServerResponse(err, data)
161181
}
162182

@@ -166,7 +186,17 @@ func (s *BybitClientRequest) ResetMarketMakerProtection(ctx context.Context, opt
166186
endpoint: "/v5/account/mmp-reset",
167187
secType: secTypeSigned,
168188
}
169-
data := SendRequest(ctx, opts, r, s, err)
189+
data, err := SendRequest(ctx, opts, r, s, err)
190+
return GetServerResponse(err, data)
191+
}
192+
193+
func (s *BybitClientRequest) RepayLiability(ctx context.Context, opts ...RequestOption) (res *ServerResponse, err error) {
194+
r := &request{
195+
method: http.MethodPost,
196+
endpoint: "/v5/account/quick-repayment",
197+
secType: secTypeSigned,
198+
}
199+
data, err := SendRequest(ctx, opts, r, s, err)
170200
return GetServerResponse(err, data)
171201
}
172202

@@ -176,7 +206,7 @@ func (s *BybitClientRequest) GetDisconnectProtectionInfo(ctx context.Context, op
176206
endpoint: "/v5/account/query-dcp-info",
177207
secType: secTypeSigned,
178208
}
179-
data := SendRequest(ctx, opts, r, s, err)
209+
data, err := SendRequest(ctx, opts, r, s, err)
180210
return GetServerResponse(err, data)
181211
}
182212

@@ -186,6 +216,6 @@ func (s *BybitClientRequest) GetSelfMarketProtectionGroup(ctx context.Context, o
186216
endpoint: "/v5/account/smp-group",
187217
secType: secTypeSigned,
188218
}
189-
data := SendRequest(ctx, opts, r, s, err)
219+
data, err := SendRequest(ctx, opts, r, s, err)
190220
return GetServerResponse(err, data)
191221
}

0 commit comments

Comments
 (0)