mirror of
https://gitlab.com/Kwoth/nadekobot.git
synced 2025-09-10 09:18:27 -04:00
Removed api error logging in stock getsymbolasync, closes #344
This commit is contained in:
@@ -1,8 +1,199 @@
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
using YahooFinanceApi;
|
||||
|
||||
namespace NadekoBot.Modules.Searches;
|
||||
|
||||
public sealed class YahooStockClient
|
||||
{
|
||||
private readonly IHttpClientFactory _clientFactory;
|
||||
|
||||
public YahooStockClient(IHttpClientFactory clientFactory)
|
||||
{
|
||||
_clientFactory = clientFactory;
|
||||
}
|
||||
}
|
||||
|
||||
public class YahooSymbolData
|
||||
{
|
||||
[JsonPropertyName("language")]
|
||||
public string Language { get; set; }
|
||||
|
||||
[JsonPropertyName("region")]
|
||||
public string Region { get; set; }
|
||||
|
||||
[JsonPropertyName("quoteType")]
|
||||
public string QuoteType { get; set; }
|
||||
|
||||
[JsonPropertyName("typeDisp")]
|
||||
public string TypeDisp { get; set; }
|
||||
|
||||
[JsonPropertyName("quoteSourceName")]
|
||||
public string QuoteSourceName { get; set; }
|
||||
|
||||
[JsonPropertyName("triggerable")]
|
||||
public bool Triggerable { get; set; }
|
||||
|
||||
[JsonPropertyName("customPriceAlertConfidence")]
|
||||
public string CustomPriceAlertConfidence { get; set; }
|
||||
|
||||
[JsonPropertyName("currency")]
|
||||
public string Currency { get; set; }
|
||||
|
||||
[JsonPropertyName("regularMarketOpen")]
|
||||
public double RegularMarketOpen { get; set; }
|
||||
|
||||
[JsonPropertyName("averageDailyVolume3Month")]
|
||||
public int AverageDailyVolume3Month { get; set; }
|
||||
|
||||
[JsonPropertyName("averageDailyVolume10Day")]
|
||||
public int AverageDailyVolume10Day { get; set; }
|
||||
|
||||
[JsonPropertyName("fiftyTwoWeekLowChange")]
|
||||
public double FiftyTwoWeekLowChange { get; set; }
|
||||
|
||||
[JsonPropertyName("fiftyTwoWeekLowChangePercent")]
|
||||
public double FiftyTwoWeekLowChangePercent { get; set; }
|
||||
|
||||
[JsonPropertyName("fiftyTwoWeekRange")]
|
||||
public string FiftyTwoWeekRange { get; set; }
|
||||
|
||||
[JsonPropertyName("fiftyTwoWeekHighChange")]
|
||||
public double FiftyTwoWeekHighChange { get; set; }
|
||||
|
||||
[JsonPropertyName("fiftyTwoWeekHighChangePercent")]
|
||||
public double FiftyTwoWeekHighChangePercent { get; set; }
|
||||
|
||||
[JsonPropertyName("fiftyTwoWeekLow")]
|
||||
public double FiftyTwoWeekLow { get; set; }
|
||||
|
||||
[JsonPropertyName("fiftyTwoWeekHigh")]
|
||||
public double FiftyTwoWeekHigh { get; set; }
|
||||
|
||||
[JsonPropertyName("fiftyDayAverage")]
|
||||
public double FiftyDayAverage { get; set; }
|
||||
|
||||
[JsonPropertyName("fiftyDayAverageChange")]
|
||||
public double FiftyDayAverageChange { get; set; }
|
||||
|
||||
[JsonPropertyName("fiftyDayAverageChangePercent")]
|
||||
public double FiftyDayAverageChangePercent { get; set; }
|
||||
|
||||
[JsonPropertyName("twoHundredDayAverage")]
|
||||
public double TwoHundredDayAverage { get; set; }
|
||||
|
||||
[JsonPropertyName("twoHundredDayAverageChange")]
|
||||
public double TwoHundredDayAverageChange { get; set; }
|
||||
|
||||
[JsonPropertyName("twoHundredDayAverageChangePercent")]
|
||||
public double TwoHundredDayAverageChangePercent { get; set; }
|
||||
|
||||
[JsonPropertyName("sourceInterval")]
|
||||
public int SourceInterval { get; set; }
|
||||
|
||||
[JsonPropertyName("exchangeDataDelayedBy")]
|
||||
public int ExchangeDataDelayedBy { get; set; }
|
||||
|
||||
[JsonPropertyName("tradeable")]
|
||||
public bool Tradeable { get; set; }
|
||||
|
||||
[JsonPropertyName("marketState")]
|
||||
public string MarketState { get; set; }
|
||||
|
||||
[JsonPropertyName("exchange")]
|
||||
public string Exchange { get; set; }
|
||||
|
||||
[JsonPropertyName("shortName")]
|
||||
public string ShortName { get; set; }
|
||||
|
||||
[JsonPropertyName("firstTradeDateMilliseconds")]
|
||||
public long FirstTradeDateMilliseconds { get; set; }
|
||||
|
||||
[JsonPropertyName("priceHint")]
|
||||
public int PriceHint { get; set; }
|
||||
|
||||
[JsonPropertyName("regularMarketChange")]
|
||||
public double RegularMarketChange { get; set; }
|
||||
|
||||
[JsonPropertyName("regularMarketChangePercent")]
|
||||
public double RegularMarketChangePercent { get; set; }
|
||||
|
||||
[JsonPropertyName("regularMarketTime")]
|
||||
public int RegularMarketTime { get; set; }
|
||||
|
||||
[JsonPropertyName("regularMarketPrice")]
|
||||
public double RegularMarketPrice { get; set; }
|
||||
|
||||
[JsonPropertyName("regularMarketDayHigh")]
|
||||
public double RegularMarketDayHigh { get; set; }
|
||||
|
||||
[JsonPropertyName("regularMarketDayRange")]
|
||||
public string RegularMarketDayRange { get; set; }
|
||||
|
||||
[JsonPropertyName("regularMarketDayLow")]
|
||||
public double RegularMarketDayLow { get; set; }
|
||||
|
||||
[JsonPropertyName("regularMarketVolume")]
|
||||
public int RegularMarketVolume { get; set; }
|
||||
|
||||
[JsonPropertyName("regularMarketPreviousClose")]
|
||||
public double RegularMarketPreviousClose { get; set; }
|
||||
|
||||
[JsonPropertyName("bid")]
|
||||
public double Bid { get; set; }
|
||||
|
||||
[JsonPropertyName("ask")]
|
||||
public double Ask { get; set; }
|
||||
|
||||
[JsonPropertyName("bidSize")]
|
||||
public int BidSize { get; set; }
|
||||
|
||||
[JsonPropertyName("askSize")]
|
||||
public int AskSize { get; set; }
|
||||
|
||||
[JsonPropertyName("fullExchangeName")]
|
||||
public string FullExchangeName { get; set; }
|
||||
|
||||
[JsonPropertyName("longName")]
|
||||
public string LongName { get; set; }
|
||||
|
||||
[JsonPropertyName("messageBoardId")]
|
||||
public string MessageBoardId { get; set; }
|
||||
|
||||
[JsonPropertyName("exchangeTimezoneName")]
|
||||
public string ExchangeTimezoneName { get; set; }
|
||||
|
||||
[JsonPropertyName("exchangeTimezoneShortName")]
|
||||
public string ExchangeTimezoneShortName { get; set; }
|
||||
|
||||
[JsonPropertyName("gmtOffSetMilliseconds")]
|
||||
public int GmtOffSetMilliseconds { get; set; }
|
||||
|
||||
[JsonPropertyName("market")]
|
||||
public string Market { get; set; }
|
||||
|
||||
[JsonPropertyName("esgPopulated")]
|
||||
public bool EsgPopulated { get; set; }
|
||||
|
||||
[JsonPropertyName("symbol")]
|
||||
public string Symbol { get; set; }
|
||||
}
|
||||
|
||||
public class QuoteResponse
|
||||
{
|
||||
[JsonPropertyName("result")]
|
||||
public List<YahooSymbolData> Result { get; set; }
|
||||
|
||||
[JsonPropertyName("error")]
|
||||
public object Error { get; set; }
|
||||
}
|
||||
|
||||
public class Root
|
||||
{
|
||||
[JsonPropertyName("quoteResponse")]
|
||||
public QuoteResponse QuoteResponse { get; set; }
|
||||
}
|
||||
|
||||
public sealed class DefaultStockDataService : IStockDataService, INService
|
||||
{
|
||||
private readonly IHttpClientFactory _httpClientFactory;
|
||||
@@ -47,10 +238,9 @@ public sealed class DefaultStockDataService : IStockDataService, INService
|
||||
Exchange = symbol.FullExchangeName
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
catch (Exception)
|
||||
{
|
||||
// what the hell is this api exception
|
||||
Log.Warning(ex, "Error getting stock data: {ErrorMessage}", ex.Message);
|
||||
// Log.Warning(ex, "Error getting stock data: {ErrorMessage}", ex.Message);
|
||||
return default;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user