This commit is contained in:
Sewmina (server) 2025-01-05 18:53:32 +08:00
parent 0bb4c5a486
commit 5cd509161b
50 changed files with 8732 additions and 0 deletions

26
SignalsTestCmd/.vscode/launch.json vendored Normal file
View File

@ -0,0 +1,26 @@
{
"version": "0.2.0",
"configurations": [
{
// Use IntelliSense to find out which attributes exist for C# debugging
// Use hover for the description of the existing attributes
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/bin/Debug/net7.0/SignalsTestCmd.dll",
"args": [],
"cwd": "${workspaceFolder}",
// For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console
"console": "internalConsole",
"stopAtEntry": false
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach"
}
]
}

41
SignalsTestCmd/.vscode/tasks.json vendored Normal file
View File

@ -0,0 +1,41 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"command": "dotnet",
"type": "process",
"args": [
"build",
"${workspaceFolder}/SignalsTestCmd.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
},
{
"label": "publish",
"command": "dotnet",
"type": "process",
"args": [
"publish",
"${workspaceFolder}/SignalsTestCmd.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
},
{
"label": "watch",
"command": "dotnet",
"type": "process",
"args": [
"watch",
"run",
"--project",
"${workspaceFolder}/SignalsTestCmd.csproj"
],
"problemMatcher": "$msCompile"
}
]
}

24
SignalsTestCmd/Brian.cs Normal file
View File

@ -0,0 +1,24 @@
using BinanceExchange.API.Client;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SignalsTest
{
public class Brian
{
private static BinanceClient m_client;
public static BinanceClient Client { get { if(m_client == null)
{
m_client = new BinanceClient(new ClientConfiguration()
{
ApiKey = "oYPETR7iNwXEkVTS4DeUSpI9CchTiz7yvQqjls3LDdgnT3sY5pCcTyh4HcQVhLAX",
SecretKey = "8hZ85QwnGfUItWe288TjQRN3mlDWq3bPUMSsze4nyslaA96OPEUH9r1fwrC9ni7t",
});
} return m_client;
} }
}
}

118
SignalsTestCmd/CoinWatch.cs Normal file
View File

@ -0,0 +1,118 @@
using BinanceExchange.API.Client;
using BinanceExchange.API.Enums;
using BinanceExchange.API.Models.Request;
using BinanceExchange.API.Models.Response;
using BinanceExchange.API.Models.WebSocket;
using BinanceExchange.API.Websockets;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Runtime.InteropServices.JavaScript.JSType;
namespace SignalsTest
{
public class CoinWatch
{
public string pair;
public KlineInterval interval = KlineInterval.FifteenMinutes;
public List<KlineCandleStickResponse> candles=new List<KlineCandleStickResponse>();
public List<TAReport> reports = new List<TAReport>();
public event EventHandler<BinanceTradeData> PriceUpdated;
bool usingCache;
public CoinWatch(string pair, KlineInterval _interval = KlineInterval.FifteenMinutes , bool useCache=false)
{
this.pair = pair;
interval = _interval;
usingCache = useCache;
Init();
}
void Init()
{
if(usingCache){
if(File.Exists(AppDomain.CurrentDomain.BaseDirectory+"/"+pair+".txt")){
try{
}catch{
}
}
}
InitLivestream();
KeepUpdatingCandles();
// TestCallbacks();
}
async void TestCallbacks()
{
while (true)
{
await Task.Delay(1000);
PriceUpdated?.Invoke(this, new BinanceTradeData() { BestAskPrice=0 });
}
}
async Task UpdateCandles()
{
GetKlinesCandlesticksRequest req = new GetKlinesCandlesticksRequest();
req.Interval = interval;
req.Symbol = pair;
req.EndTime = DateTime.Now;
req.Limit = 100;
candles = await Brian.Client.GetKlinesCandlesticks(req);
Console.WriteLine($"Done gettings Kandles for {req.Symbol}, {candles.Count} kandles retreived");
Analyze();
}
async void Analyze(){
int[] mas = new int[] { 7, 12, 25 };
reports = new List<TAReport>();
decimal max = 0;
decimal min = 10000000;
for(int i=0; i < candles.Count; i++){
TAReport report = TAReport.Generate(pair, Utils.GetMinutesForInterval(interval) ,candles, i,reports);
if(candles[i].Close > max){
max = candles[i].Close;
}
if(candles[i].Close < min){
min = candles[i].Close;
}
reports.Add(report);
}
Picasso.DrawChart(reports, max ,min);
Console.WriteLine("Picasso did his job");
await Messenger.instance.SendLastChart();
Console.WriteLine(reports[reports.Count-1].toJson());
await Messenger.instance.SendMessage(reports[reports.Count-1].toJson());
}
async void KeepUpdatingCandles()
{
UpdateCandles();
while(true)
{
await Task.Delay(60000);
Console.WriteLine($"Loop call {DateTime.Now.Minute} = {DateTime.Now.Minute % Utils.GetMinutesForInterval(interval)} ");
if (DateTime.Now.Minute % Utils.GetMinutesForInterval(interval) == 0) { UpdateCandles(); }
}
}
void InitLivestream()
{
var manualWebsocket = new InstanceBinanceWebSocketClient(Brian.Client);
var socketId = manualWebsocket.ConnectToIndividualSymbolTickerWebSocket(pair, data =>
{
if(candles.Count > 0){
candles[candles.Count - 1].Close = data.BestAskPrice;
}
});
}
}
}

View File

@ -0,0 +1,168 @@
using BinanceExchange.API.Models.Response;
public static class Indicators
{
public static decimal getSMA(List<KlineCandleStickResponse> responses, int curIndex, int interval, int startIndex = 0)
{
// curIndex = Math.Clamp(curIndex,0, responses.Count);
// decimal total = 0;
// for(int i=curIndex-interval; i < curIndex; i++){
// total += responses[i].Close;
// }
// // decimal length = (curIndex-startIndex); if(length <= 0){length=1;}
// // decimal N = (length / (decimal)interval);
// Console.WriteLine($"SMA Cacl ({interval}) : {total}/{interval} = {total/interval}");
// return total / interval;
decimal total = 0;
for (int x = (curIndex > 1500) ? 1500 : 0; x < interval; x++)
{
total += (curIndex - x >= 0) ? responses[curIndex - x].Close : (decimal)0;
}
return total / (decimal)interval;
}
public static decimal getSMA(List<decimal> responses, int curIndex, int interval, int startIndex = 0)
{
decimal total = 0;
for (int x = (curIndex > 1500) ? 1500 : 0; x < interval; x++)
{
total += (curIndex - x >= 0) ? responses[curIndex - x] : (decimal)0;
}
return total / (decimal)interval;
}
public static decimal getEMA(List<KlineCandleStickResponse> responses, int curIndex, int startIndex, int periods, decimal? prevEma = null)
{
if (curIndex < 1) { return 0; }
if (startIndex - curIndex > 1500) { return 0; }; if (curIndex >= responses.Count) { return 0; };
// decimal N = (decimal)curIndex / (decimal)periods;
decimal multiplier = (decimal)2 / ((decimal)(periods + 1));
decimal firstHalf = responses[curIndex].Close * multiplier; //First half of the equation
decimal secondHalf = getEMA(responses, curIndex - 1, startIndex, periods) * (1 - multiplier); //Second half of the equation
// decimal secondHalf = (prevEma ?? getSMA(responses, curIndex-1, periods)) * (1- multiplier); //Second half of the equation
return firstHalf + secondHalf;
}
public static decimal getEMA(List<decimal> responses, int curIndex, int startIndex, int periods)
{
if (curIndex < 1) { return 0; }
if (startIndex - curIndex > 1500) { return 0; };
if (curIndex >= responses.Count) { return 0; };
// decimal N = (decimal)curIndex / (decimal)periods;
decimal multiplier = (decimal)2 / ((decimal)(periods + 1));
decimal firstHalf = responses[curIndex] * multiplier; //First half of the equation
decimal secondHalf = getEMA(responses, curIndex - 1, startIndex, periods) * (1 - multiplier); //Second half of the equation
// decimal secondHalf = (prevEma ?? getSMA(responses, curIndex-1, periods)) * (1- multiplier); //Second half of the equation
return firstHalf + secondHalf;
}
public static decimal getMACD(List<KlineCandleStickResponse> responses, int shortPeriod, int longPeriod, int curIndex)
{
return getEMA(responses, curIndex, curIndex, shortPeriod) - getEMA(responses, curIndex, curIndex, longPeriod);
}
public static decimal getATR(List<KlineCandleStickResponse> responses, int period, int curIndex, List<decimal> prevATRs)
{
if (curIndex <= 0 || curIndex > responses.Count) { return 0; }
if (curIndex >= responses.Count) { return 0; };
decimal TR = responses[curIndex].High - responses[curIndex].Low;
if (curIndex > 1)
{
decimal tr2 = responses[curIndex].High - responses[curIndex - 1].Close;
decimal tr3 = responses[curIndex].Low - responses[curIndex - 1].Close;
if (tr2 > TR)
{
TR = tr2;
}
if (tr3 > TR)
{
TR = tr3;
}
}
if (curIndex < period)
{
//get just the TR
return TR;
}
decimal prevATR = 0;
if (prevATRs.Count > 0)
{
// int start = curIndex - period;
// for (int i = start; i < curIndex; i++)
// {
// prevATR += prevATRs[i];
// }
// prevATR = (prevATR) / (decimal)(curIndex-start);
prevATR = prevATRs[curIndex - 1];
}
decimal ATR = (decimal)((prevATR * (decimal)(period - 1)) + TR) / (decimal)period;
return ATR;
}
public static decimal getRSI(List<KlineCandleStickResponse> responses, int index, int period = 14){
decimal avgGain = 0;
decimal avgLoss =0;
if(index < 2){return 0;}
int length = 0;
for(int i=index; i > index - period && i > 0; i--){
length++;
avgGain += responses[i].Close - responses[i-1].Close;
avgLoss += responses[i-1].Close - responses[i].Close;
}
if(length <=0){return 0;}
avgGain /= length;
avgLoss /= length;
decimal f =(1.0m+(avgGain/avgLoss));
if(f<=0){return 0;}
return 100.0m - (100.0m/f);
}
public static bool didMACDLineCrossSignalLine(decimal[] MACDs, decimal[] Signals, int index, int period = 7, decimal threshold = (decimal)0.1)
{
int counter = 0;
if (index >= MACDs.Length || index >= Signals.Length) { return false; }
if (index - period < 0) { return false; };
for (int i = index; i > index - period; i--)
{
if (MACDs[i] < Signals[i])
{
counter++;
}
}
bool wasMACDUnder = counter > ((float)period / 2f);
return wasMACDUnder && MACDs[index] > Signals[index];
}
public static decimal getAvgDiff(List<KlineCandleStickResponse> responses, int i)
{
decimal avgDiff = 0;
if (i > 10)
{
for (int k = 1; k < 6; k++)
{
avgDiff += responses[i - k].Close;
}
avgDiff = avgDiff / (decimal)5;
avgDiff = responses[i].Close - avgDiff;
}
return avgDiff;
}
}

View File

@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Telegram.Bot;
using Telegram.Bot.Exceptions;
using Telegram.Bot.Polling;
using Telegram.Bot.Types;
using Telegram.Bot.Types.Enums;
namespace SignalsTest
{
public class Messenger
{
TelegramBotClient botClient;
private static Messenger m_instance;
public static Messenger instance { get { if (m_instance == null) { m_instance = new Messenger(); } return m_instance; } }
public async Task SendMessage(string text, string chat = "@doralockscryptosignals")
{
await botClient.SendTextMessageAsync(chat, text);
}
public async Task SendLastChart(string chat = "@doralockscryptosignals"){
FileStream fsSource = new FileStream("/var/www/html/test.png", FileMode.Open, FileAccess.Read);
InputFile photo = InputFile.FromStream(fsSource);
await botClient.SendPhotoAsync(chat, photo);
Console.WriteLine("Photo sent success");
}
public Messenger()
{
botClient = new TelegramBotClient("6878629725:AAGWFqmtsvf2xFLOTvsixY-LEG4ho2sLqrw");
using CancellationTokenSource cts = new();
// StartReceiving does not block the caller thread. Receiving is done on the ThreadPool.
ReceiverOptions receiverOptions = new()
{
AllowedUpdates = Array.Empty<UpdateType>() // receive all update types except ChatMember related updates
};
}
}
}

86
SignalsTestCmd/Picasso.cs Normal file
View File

@ -0,0 +1,86 @@
using SignalsTest;
using System;
using SixLabors.Fonts;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Drawing;
using SixLabors.ImageSharp.Drawing.Processing;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
using Newtonsoft.Json;
public class Picasso{
public static void DrawChart(List<TAReport> reports, decimal max, decimal min){
// float height = (float)Math.Ceiling(max - min) * 2f;
// float width = ((float)height / 9f) * 16f;
float heightRange = (float)Math.Ceiling(max - min);
float height=1080;
float width = 1920;
float widthMultiplier = width / (float)reports.Count;
using (Image img = new Image<Rgba32>((int)width + 100, (int)height)){
//Draw Candles
for(int i=0; i < reports.Count; i++){
// img.Mutate(ctx=> ctx.DrawLine()))
PointF[] points = new PointF[2];
points[0] =new PointF(i * widthMultiplier, (float)(reports[i].candle.Open - min));
points[1] =new PointF(i * widthMultiplier, (float)(reports[i].candle.Close - min));
PointF[] rangePoints = new PointF[2];
rangePoints[0] = new PointF(i * widthMultiplier, (float)(reports[i].candle.High-min));
rangePoints[1] = new PointF(i * widthMultiplier, (float)(reports[i].candle.Low-min));
img.Mutate(ctx=> ctx.DrawLine(reports[i].candle.Close > reports[i].candle.Open ? Color.Green : Color.Red, 10, points).DrawLine(
reports[i].candle.Close > reports[i].candle.Open ? Color.Green : Color.Red, 3, rangePoints
));
}
Console.WriteLine("Getting paths");
object t = GetPropByName(reports[reports.Count- 1], "SMA7");
Console.WriteLine(t);
Console.WriteLine(float.Parse(t.ToString()));
//Overlay
IPath sma7Path = GetPath(reports, "SMA7", widthMultiplier,heightRange, (float)min);
IPath sma25Path = GetPath(reports, "SMA25", widthMultiplier,heightRange, (float)min);
IPath stPath = GetPath(reports, "ST", widthMultiplier,heightRange, (float)min);
//NewChart
img.Mutate(ctx => ctx.Draw(Color.Yellow, 2, sma7Path).
Draw(Color.Purple, 2, sma25Path).
Draw(Color.Green, 3, stPath).
Flip(FlipMode.Vertical));
img.Save("/var/www/html/test.png");
}
}
static IPath GetPath(List<TAReport> reports, string propName, float widthMultiplier,float heightRange, float min, float offset =0){
PathBuilder builder = new PathBuilder();
builder.SetOrigin(new PointF(0,0));
for(int i=0; i < reports.Count; i++){
float newVal = float.Parse(GetPropByName(reports[i],propName).ToString() ?? "0");
// Console.WriteLine( newVal);
float prevVal = i > 0 ? float.Parse(GetPropByName(reports[i-1],propName).ToString() ?? "0") : 0;
// Console.WriteLine( prevVal);
float preValY = prevVal - min;
float newValY=newVal - min;
PointF prevPoint = new PointF((i-1)* widthMultiplier, );
PointF newPoint = new PointF(i * widthMultiplier, );
//Console.WriteLine("new line");
builder.AddLine(prevPoint, newPoint);
}
return builder.Build();
}
static object GetPropByName(TAReport report, string propName){
string json = report.toJson();
Dictionary<string,string> dic = JsonConvert.DeserializeObject<Dictionary<string,string>>(json) ?? new Dictionary<string, string>();
// Console.WriteLine(dic[propName]);
return dic[propName];
}
}

20
SignalsTestCmd/Program.cs Normal file
View File

@ -0,0 +1,20 @@
using BinanceExchange.API.Models.WebSocket;
using SignalsTest;
class Program
{
static ManualResetEvent _quitEvent = new ManualResetEvent(false);
private static void Main(string[] args)
{
Console.WriteLine("Initializing Messiah");
Messenger.instance.SendMessage("Rebooted bot");
CoinWatch btcWatch = new CoinWatch("BTCUSDT");
btcWatch.PriceUpdated += BtcWatch_OnPriceUpdate;
_quitEvent.WaitOne();
}
private static void BtcWatch_OnPriceUpdate(Object? sender,BinanceTradeData data)
{
Console.WriteLine(data.BestAskPrice);
}
}

View File

@ -0,0 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.2" />
<PackageReference Include="SixLabors.ImageSharp.Drawing" Version="2.1.0" />
<PackageReference Include="BinanceDotNet" Version="4.12.0" />
<PackageReference Include="Telegram.Bot" Version="19.0.0" />
</ItemGroup>
</Project>

141
SignalsTestCmd/TAReport.cs Normal file
View File

@ -0,0 +1,141 @@
using BinanceExchange.API.Models.Response;
using Newtonsoft.Json;
using SignalsTest;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SignalsTest
{
public class TAReport
{
public string pair;
public int interval;
[JsonIgnore]
public KlineCandleStickResponse candle;
public decimal Close;
public decimal Open;
public decimal High;
public decimal Low;
public DateTime CloseTime;
public decimal SMA7;
public decimal SMA25;
public decimal SMA99;
public decimal EMA7,EMA25, EMA99;
public decimal MACD = 0;
public decimal EMACD = 0;
public decimal ATR14;
public decimal ATR10;
public decimal AVGDiff = 0;
public decimal STHigh;
public decimal STLow;
public decimal ST;
public decimal RSI=0;
public bool STUp => STHigh > Close;
public static TAReport Generate(string _pair, int _interval,List<KlineCandleStickResponse> response, int index, List<TAReport> history)
{
TAReport report = new TAReport();
report.pair = _pair;
report.interval = _interval;
report.candle = response[index];
report.Open = response[index].Open;
report.Close = response[index].Close;
report.High = response[index].High;
report.Low = response[index].Low;
report.CloseTime = response[index].CloseTime;
// foreach(int sma in m_SMA)
// {
// report.SMAs.Add(sma, Indicators.getSMA(response, index, sma));
// }
// foreach (int ema in m_EMA)
// {
// report.SMAs.Add(ema, Indicators.getEMA(response, index, 0, ema));
// }
report.SMA7 = Indicators.getSMA(response, index,7);
report.SMA25 = Indicators.getSMA(response, index,25);
report.SMA99 = Indicators.getSMA(response, index,99);
report.EMA7 = Indicators.getEMA(response, index,0, 7);
report.EMA25 = Indicators.getEMA(response, index,0,25);
report.EMA99 = Indicators.getEMA(response, index,0,99);
report.MACD = Indicators.getMACD(response, 12, 26, index);
report.RSI = Indicators.getRSI(response,index);
if(history == null){
return report;
}
//MACD Signal
List<decimal> MACDHistory = new List<decimal>();
List<decimal> ATR10History = new List<decimal>();
List<decimal> ATR14History = new List<decimal>();
foreach(TAReport item in history){
MACDHistory.Add(item.MACD);
ATR10History.Add(item.ATR10);
ATR14History.Add(item.ATR14);
}
report.EMACD = Indicators.getEMA(MACDHistory, index,0,9);
report.ATR10 = Indicators.getATR(response, 10,index, ATR10History);
report.ATR14 = Indicators.getATR(response, 14,index, ATR14History);
//SuperTrend
decimal SuperTrendUpper = (response[index].High + response[index].Low) / 2 + 3 * report.ATR10;
decimal SuperTrendLower = (response[index].High + response[index].Low) / 2 - 3 * report.ATR10;
decimal SuperTrendFinal = 0;
if (index > 0)
{
if (history[index - 1].STHigh > SuperTrendUpper || history[index - 1].Close > history[index - 1].STHigh)
{
}
else
{
SuperTrendUpper = history[index - 1].STHigh;
}
if (history[index - 1].STLow < SuperTrendLower || history[index - 1].Close < history[index - 1].STLow)
{
}
else
{
SuperTrendLower = history[index - 1].STLow;
}
}
SuperTrendFinal = report.STUp ? SuperTrendLower : SuperTrendUpper;
report.ST = SuperTrendFinal;
return report;
}
}
}
public static class CustomExtensions
{
public static string toJson(this TAReport report)
{
return JsonConvert.SerializeObject(report, Formatting.Indented);
}
}

65
SignalsTestCmd/Utils.cs Normal file
View File

@ -0,0 +1,65 @@
using BinanceExchange.API.Enums;
using BinanceExchange.API.Models.Response;
using BinanceExchange.API.Models.WebSocket;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SignalsTest
{
public class Utils
{
public static int GetMinutesForInterval(KlineInterval interval)
{
switch (interval)
{
case KlineInterval.OneMinute:
return 1;
case KlineInterval.ThreeMinutes:
return 3;
case KlineInterval.FiveMinutes:
return 5;
case KlineInterval.FifteenMinutes:
return 15;
case KlineInterval.ThirtyMinutes:
return 30;
case KlineInterval.OneHour:
return 60;
case KlineInterval.TwoHours:
return 120;
case KlineInterval.FourHours:
return 240;
case KlineInterval.EightHours:
return 60 * 8;
case KlineInterval.TwelveHours:
return 60 * 12;
case KlineInterval.SixHours:
return 60 * 6;
case KlineInterval.OneDay:
return 60 * 24;
case KlineInterval.ThreeDays:
return 60 * 24 * 3;
default:
return 0;
}
}
public static KlineCandleStickResponse KlineToResponse(BinanceKlineData data)
{
KlineCandleStickResponse response = new KlineCandleStickResponse();
response.Open = data.Kline.Open;
response.Close = data.Kline.Close;
response.CloseTime = data.Kline.EndTime;
response.OpenTime = data.Kline.StartTime;
response.High = data.Kline.High;
response.Low = data.Kline.Low;
response.Volume = data.Kline.Volume;
return response;
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,9 @@
{
"runtimeOptions": {
"tfm": "net7.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "7.0.0"
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v7.0", FrameworkDisplayName = ".NET 7.0")]

View File

@ -0,0 +1,22 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("SignalsTestCmd")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("SignalsTestCmd")]
[assembly: System.Reflection.AssemblyTitleAttribute("SignalsTestCmd")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Generated by the MSBuild WriteCodeFragment class.

View File

@ -0,0 +1 @@
7060ad6c3ca3f77ac1c513d5d4c99447fea22aba

View File

@ -0,0 +1,11 @@
is_global = true
build_property.TargetFramework = net7.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = SignalsTestCmd
build_property.ProjectDir = /root/c projcts/SignalsTest/SignalsTestCmd/

View File

@ -0,0 +1,8 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@ -0,0 +1 @@
c71fe83dcf60f2527a7c98e03bc0f0cd2a6ef067

View File

@ -0,0 +1,29 @@
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/SignalsTestCmd
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/SignalsTestCmd.deps.json
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/SignalsTestCmd.runtimeconfig.json
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/SignalsTestCmd.dll
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/SignalsTestCmd.pdb
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/BinanceExchange.API.dll
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/log4net.dll
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/Microsoft.Extensions.Caching.Abstractions.dll
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/Microsoft.Extensions.Caching.Memory.dll
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/Microsoft.Extensions.Options.dll
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/Microsoft.Extensions.Primitives.dll
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/Newtonsoft.Json.dll
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/Telegram.Bot.dll
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/websocket-sharp.dll
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.csproj.AssemblyReference.cache
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.GeneratedMSBuildEditorConfig.editorconfig
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.AssemblyInfoInputs.cache
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.AssemblyInfo.cs
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.csproj.CoreCompileInputs.cache
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.csproj.CopyComplete
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.dll
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/refint/SignalsTestCmd.dll
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.pdb
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/SignalsTestCmd.genruntimeconfig.cache
/root/c projcts/SignalsTest/SignalsTestCmd/obj/Debug/net7.0/ref/SignalsTestCmd.dll
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/SixLabors.Fonts.dll
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/SixLabors.ImageSharp.dll
/root/c projcts/SignalsTest/SignalsTestCmd/bin/Debug/net7.0/SixLabors.ImageSharp.Drawing.dll

Binary file not shown.

View File

@ -0,0 +1 @@
b0a4e34895ba0a24e1212702cd281b993d00b12b

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,79 @@
{
"format": 1,
"restore": {
"/root/c projcts/SignalsTest/SignalsTestCmd/SignalsTestCmd.csproj": {}
},
"projects": {
"/root/c projcts/SignalsTest/SignalsTestCmd/SignalsTestCmd.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/root/c projcts/SignalsTest/SignalsTestCmd/SignalsTestCmd.csproj",
"projectName": "SignalsTestCmd",
"projectPath": "/root/c projcts/SignalsTest/SignalsTestCmd/SignalsTestCmd.csproj",
"packagesPath": "/root/.nuget/packages/",
"outputPath": "/root/c projcts/SignalsTest/SignalsTestCmd/obj/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/root/.nuget/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net7.0"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net7.0": {
"targetAlias": "net7.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net7.0": {
"targetAlias": "net7.0",
"dependencies": {
"BinanceDotNet": {
"target": "Package",
"version": "[4.12.0, )"
},
"SixLabors.ImageSharp": {
"target": "Package",
"version": "[3.1.2, )"
},
"SixLabors.ImageSharp.Drawing": {
"target": "Package",
"version": "[2.1.0, )"
},
"Telegram.Bot": {
"target": "Package",
"version": "[19.0.0, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/7.0.201/RuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/root/.nuget/packages/</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/root/.nuget/packages/</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.5.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="/root/.nuget/packages/" />
</ItemGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)sixlabors.imagesharp/3.1.2/build/SixLabors.ImageSharp.props" Condition="Exists('$(NuGetPackageRoot)sixlabors.imagesharp/3.1.2/build/SixLabors.ImageSharp.props')" />
</ImportGroup>
</Project>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,109 @@
{
"version": 2,
"dgSpecHash": "0dy1fIH4LXaYJNzXAGhPMDd/2Pui2dxCh3DhqG4BUXOxDx6IC01Oan1Eowgrl2aH8HNjRzJ4Ox4qNMamruXXzQ==",
"success": true,
"projectFilePath": "/root/c projcts/SignalsTest/SignalsTestCmd/SignalsTestCmd.csproj",
"expectedPackageFiles": [
"/root/.nuget/packages/binancedotnet/4.12.0/binancedotnet.4.12.0.nupkg.sha512",
"/root/.nuget/packages/log4net/2.0.8/log4net.2.0.8.nupkg.sha512",
"/root/.nuget/packages/microsoft.extensions.caching.abstractions/1.0.0/microsoft.extensions.caching.abstractions.1.0.0.nupkg.sha512",
"/root/.nuget/packages/microsoft.extensions.caching.memory/1.0.0/microsoft.extensions.caching.memory.1.0.0.nupkg.sha512",
"/root/.nuget/packages/microsoft.extensions.dependencyinjection.abstractions/1.0.0/microsoft.extensions.dependencyinjection.abstractions.1.0.0.nupkg.sha512",
"/root/.nuget/packages/microsoft.extensions.options/1.0.0/microsoft.extensions.options.1.0.0.nupkg.sha512",
"/root/.nuget/packages/microsoft.extensions.primitives/1.0.0/microsoft.extensions.primitives.1.0.0.nupkg.sha512",
"/root/.nuget/packages/microsoft.netcore.platforms/1.1.0/microsoft.netcore.platforms.1.1.0.nupkg.sha512",
"/root/.nuget/packages/microsoft.netcore.targets/1.1.0/microsoft.netcore.targets.1.1.0.nupkg.sha512",
"/root/.nuget/packages/microsoft.win32.primitives/4.0.1/microsoft.win32.primitives.4.0.1.nupkg.sha512",
"/root/.nuget/packages/microsoft.win32.registry/4.0.0/microsoft.win32.registry.4.0.0.nupkg.sha512",
"/root/.nuget/packages/newtonsoft.json/13.0.1/newtonsoft.json.13.0.1.nupkg.sha512",
"/root/.nuget/packages/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
"/root/.nuget/packages/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
"/root/.nuget/packages/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
"/root/.nuget/packages/runtime.native.system/4.3.0/runtime.native.system.4.3.0.nupkg.sha512",
"/root/.nuget/packages/runtime.native.system.net.http/4.3.0/runtime.native.system.net.http.4.3.0.nupkg.sha512",
"/root/.nuget/packages/runtime.native.system.security.cryptography.apple/4.3.0/runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512",
"/root/.nuget/packages/runtime.native.system.security.cryptography.openssl/4.3.2/runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
"/root/.nuget/packages/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
"/root/.nuget/packages/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
"/root/.nuget/packages/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512",
"/root/.nuget/packages/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
"/root/.nuget/packages/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
"/root/.nuget/packages/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
"/root/.nuget/packages/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
"/root/.nuget/packages/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.2/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
"/root/.nuget/packages/sixlabors.fonts/2.0.1/sixlabors.fonts.2.0.1.nupkg.sha512",
"/root/.nuget/packages/sixlabors.imagesharp/3.1.2/sixlabors.imagesharp.3.1.2.nupkg.sha512",
"/root/.nuget/packages/sixlabors.imagesharp.drawing/2.1.0/sixlabors.imagesharp.drawing.2.1.0.nupkg.sha512",
"/root/.nuget/packages/system.appcontext/4.1.0/system.appcontext.4.1.0.nupkg.sha512",
"/root/.nuget/packages/system.collections/4.3.0/system.collections.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.collections.concurrent/4.3.0/system.collections.concurrent.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.collections.immutable/1.2.0/system.collections.immutable.1.2.0.nupkg.sha512",
"/root/.nuget/packages/system.collections.nongeneric/4.0.1/system.collections.nongeneric.4.0.1.nupkg.sha512",
"/root/.nuget/packages/system.componentmodel/4.0.1/system.componentmodel.4.0.1.nupkg.sha512",
"/root/.nuget/packages/system.console/4.0.0/system.console.4.0.0.nupkg.sha512",
"/root/.nuget/packages/system.diagnostics.debug/4.3.0/system.diagnostics.debug.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.diagnostics.diagnosticsource/4.3.0/system.diagnostics.diagnosticsource.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.diagnostics.process/4.1.0/system.diagnostics.process.4.1.0.nupkg.sha512",
"/root/.nuget/packages/system.diagnostics.stacktrace/4.0.1/system.diagnostics.stacktrace.4.0.1.nupkg.sha512",
"/root/.nuget/packages/system.diagnostics.tracesource/4.0.0/system.diagnostics.tracesource.4.0.0.nupkg.sha512",
"/root/.nuget/packages/system.diagnostics.tracing/4.3.0/system.diagnostics.tracing.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.globalization/4.3.0/system.globalization.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.globalization.calendars/4.3.0/system.globalization.calendars.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.globalization.extensions/4.3.0/system.globalization.extensions.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.io/4.3.0/system.io.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.io.filesystem/4.3.0/system.io.filesystem.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.io.filesystem.primitives/4.3.0/system.io.filesystem.primitives.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.io.filesystem.watcher/4.0.0/system.io.filesystem.watcher.4.0.0.nupkg.sha512",
"/root/.nuget/packages/system.linq/4.3.0/system.linq.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.linq.expressions/4.1.0/system.linq.expressions.4.1.0.nupkg.sha512",
"/root/.nuget/packages/system.net.http/4.3.3/system.net.http.4.3.3.nupkg.sha512",
"/root/.nuget/packages/system.net.nameresolution/4.0.0/system.net.nameresolution.4.0.0.nupkg.sha512",
"/root/.nuget/packages/system.net.primitives/4.3.0/system.net.primitives.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.net.requests/4.0.11/system.net.requests.4.0.11.nupkg.sha512",
"/root/.nuget/packages/system.net.sockets/4.1.0/system.net.sockets.4.1.0.nupkg.sha512",
"/root/.nuget/packages/system.net.webheadercollection/4.0.1/system.net.webheadercollection.4.0.1.nupkg.sha512",
"/root/.nuget/packages/system.objectmodel/4.0.12/system.objectmodel.4.0.12.nupkg.sha512",
"/root/.nuget/packages/system.reflection/4.3.0/system.reflection.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.reflection.emit/4.0.1/system.reflection.emit.4.0.1.nupkg.sha512",
"/root/.nuget/packages/system.reflection.emit.ilgeneration/4.0.1/system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512",
"/root/.nuget/packages/system.reflection.emit.lightweight/4.0.1/system.reflection.emit.lightweight.4.0.1.nupkg.sha512",
"/root/.nuget/packages/system.reflection.extensions/4.0.1/system.reflection.extensions.4.0.1.nupkg.sha512",
"/root/.nuget/packages/system.reflection.metadata/1.3.0/system.reflection.metadata.1.3.0.nupkg.sha512",
"/root/.nuget/packages/system.reflection.primitives/4.3.0/system.reflection.primitives.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.reflection.typeextensions/4.1.0/system.reflection.typeextensions.4.1.0.nupkg.sha512",
"/root/.nuget/packages/system.resources.resourcemanager/4.3.0/system.resources.resourcemanager.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.runtime/4.3.0/system.runtime.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.runtime.extensions/4.3.0/system.runtime.extensions.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.runtime.handles/4.3.0/system.runtime.handles.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.runtime.interopservices/4.3.0/system.runtime.interopservices.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.runtime.interopservices.runtimeinformation/4.0.0/system.runtime.interopservices.runtimeinformation.4.0.0.nupkg.sha512",
"/root/.nuget/packages/system.runtime.numerics/4.3.0/system.runtime.numerics.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.runtime.serialization.formatters/4.3.0/system.runtime.serialization.formatters.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.runtime.serialization.primitives/4.3.0/system.runtime.serialization.primitives.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.security.claims/4.0.1/system.security.claims.4.0.1.nupkg.sha512",
"/root/.nuget/packages/system.security.cryptography.algorithms/4.3.0/system.security.cryptography.algorithms.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.security.cryptography.cng/4.3.0/system.security.cryptography.cng.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.security.cryptography.csp/4.3.0/system.security.cryptography.csp.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.security.cryptography.encoding/4.3.0/system.security.cryptography.encoding.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.security.cryptography.openssl/4.3.0/system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.security.cryptography.primitives/4.3.0/system.security.cryptography.primitives.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.security.cryptography.x509certificates/4.3.0/system.security.cryptography.x509certificates.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.security.principal/4.0.1/system.security.principal.4.0.1.nupkg.sha512",
"/root/.nuget/packages/system.security.principal.windows/4.0.0/system.security.principal.windows.4.0.0.nupkg.sha512",
"/root/.nuget/packages/system.text.encoding/4.3.0/system.text.encoding.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.text.encoding.extensions/4.0.11/system.text.encoding.extensions.4.0.11.nupkg.sha512",
"/root/.nuget/packages/system.text.regularexpressions/4.1.0/system.text.regularexpressions.4.1.0.nupkg.sha512",
"/root/.nuget/packages/system.threading/4.3.0/system.threading.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.threading.overlapped/4.0.1/system.threading.overlapped.4.0.1.nupkg.sha512",
"/root/.nuget/packages/system.threading.tasks/4.3.0/system.threading.tasks.4.3.0.nupkg.sha512",
"/root/.nuget/packages/system.threading.tasks.extensions/4.0.0/system.threading.tasks.extensions.4.0.0.nupkg.sha512",
"/root/.nuget/packages/system.threading.thread/4.0.0/system.threading.thread.4.0.0.nupkg.sha512",
"/root/.nuget/packages/system.threading.threadpool/4.0.10/system.threading.threadpool.4.0.10.nupkg.sha512",
"/root/.nuget/packages/system.threading.timer/4.0.1/system.threading.timer.4.0.1.nupkg.sha512",
"/root/.nuget/packages/system.xml.readerwriter/4.0.11/system.xml.readerwriter.4.0.11.nupkg.sha512",
"/root/.nuget/packages/system.xml.xmldocument/4.0.1/system.xml.xmldocument.4.0.1.nupkg.sha512",
"/root/.nuget/packages/telegram.bot/19.0.0/telegram.bot.19.0.0.nupkg.sha512",
"/root/.nuget/packages/websocketsharp-netstandard/1.0.1/websocketsharp-netstandard.1.0.1.nupkg.sha512"
],
"logs": []
}