use bybit_rust_api::{ApiKeyPair, Category, Interval, MarketClient, RestClient};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let api_key_pair = ApiKeyPair::new("default".to_string(), "".to_string(), "".to_string());
let rest_client = RestClient::new(api_key_pair, "https://api.bybit.com".to_string());
let market_client = MarketClient::new(rest_client);
println!("Getting server time...");
let server_time = market_client.get_server_time().await?;
println!("Server time: {:?}", server_time.result);
println!("\nGetting BTC/USDT kline data...");
let kline_data = market_client
.get_kline(
Category::Spot,
"BTCUSDT",
Interval::OneHour,
None,
None,
Some(10),
)
.await?;
println!("Kline data count: {}", kline_data.result.list.len());
println!("\nGetting BTC/USDT orderbook...");
let orderbook = market_client
.get_orderbook(Category::Spot, "BTCUSDT", Some(5))
.await?;
println!("Orderbook: {:?}", orderbook.result);
println!("\nGetting tickers...");
let tickers = market_client
.get_tickers(Category::Spot, Some("BTCUSDT"), None, None)
.await?;
println!("Tickers: {:?}", tickers.result);
Ok(())
}