From 081a8eb9ded0eef49436307908387e12b820f588 Mon Sep 17 00:00:00 2001 From: Jers Date: Sun, 23 Feb 2025 18:35:02 -0600 Subject: [PATCH] Added a bunch of changes I don't remember and a bunch of files that shouldn't really be in git --- .gitignore | 133 ++++ .idea/.idea.Robert/.idea/riderPublish.xml | 10 + .idea/.idea.Robert/.idea/vcs.xml | 6 + Bot/Bot.csproj | 4 + Bot/Program.cs | 25 +- Bot/bin/Debug/net9.0/Bot.deps.json | 32 + Bot/bin/Debug/net9.0/Bot.dll | Bin 17920 -> 24576 bytes Bot/bin/Debug/net9.0/Bot.exe | Bin 145408 -> 145408 bytes Bot/bin/Debug/net9.0/Bot.pdb | Bin 14868 -> 15956 bytes Bot/bin/Debug/net9.0/config.ini | 4 + Bot/config.ini | 4 + Bot/modules/RobertMartClient.cs | 74 +++ Bot/modules/TextFreeChannels.cs | 16 +- Bot/obj/Bot.csproj.nuget.dgspec.json | 131 +++- Bot/obj/Bot.csproj.nuget.g.props | 6 + Bot/obj/Debug/net9.0/Bot.AssemblyInfo.cs | 2 +- .../Debug/net9.0/Bot.AssemblyInfoInputs.cache | 2 +- ....GeneratedMSBuildEditorConfig.editorconfig | 4 + Bot/obj/Debug/net9.0/Bot.assets.cache | Bin 14794 -> 15853 bytes .../net9.0/Bot.csproj.AssemblyReference.cache | Bin 8289 -> 9422 bytes .../net9.0/Bot.csproj.CoreCompileInputs.cache | 2 +- .../net9.0/Bot.csproj.FileListAbsolute.txt | 3 + Bot/obj/Debug/net9.0/Bot.dll | Bin 17920 -> 24576 bytes Bot/obj/Debug/net9.0/Bot.pdb | Bin 14868 -> 15956 bytes Bot/obj/Debug/net9.0/apphost.exe | Bin 145408 -> 145408 bytes Bot/obj/Debug/net9.0/ref/Bot.dll | Bin 7168 -> 7680 bytes Bot/obj/Debug/net9.0/refint/Bot.dll | Bin 7168 -> 7680 bytes Bot/obj/project.assets.json | 588 +++++++++++++++++- Bot/obj/project.nuget.cache | 9 +- Bot/obj/project.packagespec.json | 2 +- Bot/obj/rider.project.model.nuget.info | 2 +- Bot/obj/rider.project.restore.info | 2 +- Robert.sln | 6 + Robert.sln.DotSettings.user | 3 + RobertMart/CommodityTracker.cs | 69 ++ RobertMart/RobertMart.csproj | 13 + 36 files changed, 1128 insertions(+), 24 deletions(-) create mode 100644 .gitignore create mode 100644 .idea/.idea.Robert/.idea/riderPublish.xml create mode 100644 .idea/.idea.Robert/.idea/vcs.xml create mode 100644 Bot/modules/RobertMartClient.cs create mode 100644 RobertMart/CommodityTracker.cs create mode 100644 RobertMart/RobertMart.csproj diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8c7f0e8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,133 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results + +[Dd]ebug/ +[Rr]elease/ +x64/ +[Bb]in/ +[Oo]bj/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.log +*.svclog +*.scc + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# Click-Once directory +publish/ + +# Publish Web Output +*.Publish.xml +*.pubxml +*.azurePubxml + +# NuGet Packages Directory +## TODO: If you have NuGet Package Restore enabled, uncomment the next line +packages/ +## TODO: If the tool you use requires repositories.config, also uncomment the next line +!packages/repositories.config + +# Windows Azure Build Output +csx/ +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +sql/ +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +![Ss]tyle[Cc]op.targets +~$* +*~ +*.dbmdl +*.[Pp]ublish.xml + +*.publishsettings + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +App_Data/*.mdf +App_Data/*.ldf + +# ========================= +# Windows detritus +# ========================= + +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Mac desktop service store files +.DS_Store + +_NCrunch* diff --git a/.idea/.idea.Robert/.idea/riderPublish.xml b/.idea/.idea.Robert/.idea/riderPublish.xml new file mode 100644 index 0000000..943ae86 --- /dev/null +++ b/.idea/.idea.Robert/.idea/riderPublish.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/.idea/.idea.Robert/.idea/vcs.xml b/.idea/.idea.Robert/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/.idea.Robert/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Bot/Bot.csproj b/Bot/Bot.csproj index f2783dc..0ab5be3 100644 --- a/Bot/Bot.csproj +++ b/Bot/Bot.csproj @@ -20,4 +20,8 @@ + + + + diff --git a/Bot/Program.cs b/Bot/Program.cs index b724bc7..0880416 100644 --- a/Bot/Program.cs +++ b/Bot/Program.cs @@ -1,5 +1,6 @@ using Bot.modules; using DSharpPlus; +using DSharpPlus.Entities; using DSharpPlus.EventArgs; using IniParser; @@ -38,15 +39,27 @@ namespace Bot var politico = new Politico(politicoChannelList, openAiKey); messageHandlers.Add(politico.MessageCreatedHandler); } - + // Bot client setup var builder = DiscordClientBuilder.CreateDefault(botToken, DiscordIntents.AllUnprivileged | DiscordIntents.MessageContents); - builder.ConfigureEventHandlers(b => - { - foreach (var h in messageHandlers) {b.HandleMessageCreated(h);} - }); + builder.ConfigureEventHandlers(b => + { + foreach (var h in messageHandlers) {b.HandleMessageCreated(h);} + }); - await builder.ConnectAsync(); + DiscordActivity status = new("You.", DiscordActivityType.Watching); + var client = builder.Build(); + + // RobertMart Setup + + if (config["RobertMart"]["active"] == "true") + { + var robertMartChannelList = config["RobertMart"]["channels"].Split(",").ToList(); + var robertMart = new RobertMartClient(client, robertMartChannelList.Select(ulong.Parse).ToList(), openAiKey); + robertMart.SendScheduledMessage(); + } + + await client.ConnectAsync(); await Task.Delay(-1); } } diff --git a/Bot/bin/Debug/net9.0/Bot.deps.json b/Bot/bin/Debug/net9.0/Bot.deps.json index a10d3ea..86b939f 100644 --- a/Bot/bin/Debug/net9.0/Bot.deps.json +++ b/Bot/bin/Debug/net9.0/Bot.deps.json @@ -10,6 +10,7 @@ "dependencies": { "DSharpPlus": "5.0.0-nightly-02450", "OpenAI": "2.1.0", + "RobertMart": "1.0.0", "ini-parser": "2.5.2" }, "runtime": { @@ -42,6 +43,14 @@ } } }, + "HtmlAgilityPack/1.11.72": { + "runtime": { + "lib/netstandard2.0/HtmlAgilityPack.dll": { + "assemblyVersion": "1.11.72.0", + "fileVersion": "1.11.72.0" + } + } + }, "ini-parser/2.5.2": { "runtime": { "lib/net20/INIFileParser.dll": { @@ -222,6 +231,17 @@ "fileVersion": "1.3.4.0" } } + }, + "RobertMart/1.0.0": { + "dependencies": { + "HtmlAgilityPack": "1.11.72" + }, + "runtime": { + "RobertMart.dll": { + "assemblyVersion": "1.0.0", + "fileVersion": "1.0.0.0" + } + } } } }, @@ -245,6 +265,13 @@ "path": "dsharpplus/5.0.0-nightly-02450", "hashPath": "dsharpplus.5.0.0-nightly-02450.nupkg.sha512" }, + "HtmlAgilityPack/1.11.72": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RNLgXxTFdIGFI+o5l8c2aJ2L5StIRn9Uv8HKR76p7QP4ZUL26wzpWUCWh08xWUdkL2kocl+Xhv6VUu0rA1npVg==", + "path": "htmlagilitypack/1.11.72", + "hashPath": "htmlagilitypack.1.11.72.nupkg.sha512" + }, "ini-parser/2.5.2": { "type": "package", "serviceable": true, @@ -384,6 +411,11 @@ "sha512": "sha512-6IaGquwjjfW+BoHSV844y12Uy2kxbboYNmsibxr2lotcSPAA3LKy1CKcAQ8JOdAdL4xMoDNXA1oxG41w7fbr6Q==", "path": "ulid/1.3.4", "hashPath": "ulid.1.3.4.nupkg.sha512" + }, + "RobertMart/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" } } } \ No newline at end of file diff --git a/Bot/bin/Debug/net9.0/Bot.dll b/Bot/bin/Debug/net9.0/Bot.dll index a08a335f407d4d5a1d17ce2dbd1b27cf8e31b61f..49223dff9d9d3d7bc4da90ce6a2878d2127815a3 100644 GIT binary patch literal 24576 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 O)I*`0z7V@=%>M!Ll{W(b diff --git a/Bot/bin/Debug/net9.0/Bot.exe b/Bot/bin/Debug/net9.0/Bot.exe index bbfce6a69072da3bca6a4b6da46808c8e47b680a..80800ceadefc87fc03bfce22aea2e4d905cae621 100644 GIT binary patch delta 187 zcmW+uISztQ6r4XoLPN(1Xep3I!PpvW6OFO{Ea$*29^sc1mNq69)Rf+U19$+A;0tex znauK<(P>8KeN(FZ+|^p>+Vjy&(peFFf@(;UM9 diff --git a/Bot/bin/Debug/net9.0/Bot.pdb b/Bot/bin/Debug/net9.0/Bot.pdb index 5f901e7a63263713725285f18aa7e18dd55dd27a..35259f31498e41c929d12f9541c9f6a69947aed9 100644 GIT binary patch delta 2603 zcmb7G3rw5W6+Y+k+t|iH3CfDh5mhMYny~MUA9FXhOL^Ku_bMnZ4KSBXj{wHb!cstM3t6@Hnr){wD0oRP_=H_ zmA`vl_ndq0x&J-aPX>P7cgz`7;)s?WBKiQ-OyIW#{H^WHU0~^B=oG2jv5jWHk4k>s zjtzC7XJ9y83Hg3s$3DnEeCtTg*Z=bJ+LMB9MnJC6s+u@8coq&9NYHK2 z8PGar+RlPr1pOZ9b5H>e z+L#Kw6UJ5o%exna)!`9?>vWoN%=W8P_XPAC(!XSn~0~B3Y##{Xt_-!&{TN{ znxn1|G&2<;XqLIAp?SP=8X6b+1oGgUmsxJ1rWQ|oyVpmZo4W9}#CpEH!X{TcQ zwq<`lcvk(nQltx8!*_-A!;U934Ga7Mb+2aiih09tZ0;=|t(bVLYK!K?NKdqH~ktAEmLHqN>9XZ4r&?;T&QJ*=>6{58Wg^DXro#umr= zK%1|oxz*Pi=yiLV_B$T(`S67#f08jNug))i@4fOh(@!>i|Ct{@5XyCYaXcY$zf$n; z#Lf?||5Ds{=mgO%d(W!(?tE+g$=g+hM=oWA#}Aq|Ee)pDZENxPJKeqmU5+*Ff!08) zx68a(cMykD<8SWLZ)k6Id;DEq|J^)#jYn^A%)l`-$7~!c=2#8K8aVb4$2vGRz_DkS z=P|G3a2S09zk=i1m!|f8ixR#`&p1>FktmizAWMiSlCe>-^a3p($CHusEBnHf&V6;&70xRBJ%du?lqe=;(8D z#B9d42wgF?30g;XfjWn<$&{l|KG9A}6O>5QK(tlrQO5FiVqHB5|1^+v1}A$FNJ@s* z0VH)oO|qnZiXs}?e=vMXuimV%JEl=bRTvg%Rt}3V+e4!y`mc+_eIoL%eGm_&eQ+^NiUSTjNpl{^e$oROWEObRX3wTd=(1(z z^%mUU%}pg3z%QPahwIrEvVcpdF3LrPgASWPw>c@9dlI;+rV+tSxrBm`5hKG|{E+XJE39>TNG#1nV9tA%GehEAz zEL15_)x=_2>zAUSnE^pZ1Cw?O-58fGWXqnkF%`+O$Csd@9K+;_SQx4eMF=ELgFFLJ zpj*Z(Cz=Y~{*qn>U3w?|p_g>IS6pPvbY;{eY zlewVD`|H^Q<$cCai;Anyx7_=nq5o!P`>BTup8xT4>)h-W89Q#fDmvO4JL=wlDJtIM zUGm+tb9as(DfsNGH4irXp6+WNS$}g^>Y1r`?+;&8uV4Jl(zfMYTWMs=)<(q`w!P+v z--+Lk{~mwxiBdBmYdJ<(2`zl#(2jVEYY*Bp5APm)^4H26*S^UQjcEs;rkpNw{xiB_ zY;LrED8;zsNilv=HY7}hjA)~KyuBfNmzDE+uet9rA2&`;Y3eOd-?R1(C9cmfmgS~b z&1JKa%^Eg4+1$nEhio2W^DLW#Y!0z`o6X0m>CArCN?H4qwI6ujW8S-x_kPJ;-}Amj zcE;L&TDZ|O@vntG+p4cN%-l_@l1i(Z>N?shTDEpBUELaOjy6X+-5c5?tt-oy;-RCj z$~(jtPRhI&`i;E2fKr2g%5oZu@;7dNMWN$WUg%ep1Wph;Wk1hK4yow60E1W)Su13% zo3$&fm$3d(n!Z*=pT>U_T8&jNSMO>Ci$uUFVDl*!f>QX zewU3C%hlxRsVsK*;wFhb4@K8bpPu5=%P79rX^bpCl%{%+)DNiLAf^=L^sEKceB)qY zmT{ucVO%Lp&WXukhx;uiPPH)=3rB&RXLj0cqY`1k@WG^z!^JKfHkxDIK9i{0I2NjC z96{hSz|)2b4*{Mc _channels = []; + private readonly ChatClient? _chatClient; + private readonly DiscordClient _discordClient; + + public RobertMartClient(DiscordClient discord, IEnumerable channels, string? openAiKey = null, string model = "gpt-4o") + { + _discordClient = discord; + foreach (var channel in channels) + { + _channels.Add(channel); + } + + if (openAiKey != null) + { + _chatClient = new ChatClient(model, openAiKey); + } + } + + public async Task SendScheduledMessage() + { + while (true) + { + try + { + if (_chatClient == null) return; + var yesterdayEggPrice = RobertMart.CommodityTracker.Commodities["Eggs"]; + var yesterdayGasPrice = RobertMart.CommodityTracker.Commodities["Gas"]; + + RobertMart.CommodityTracker.FetchCommodities(); + var todayEggPrice = RobertMart.CommodityTracker.Commodities["Eggs"]; + var todayGasPrice = RobertMart.CommodityTracker.Commodities["Gas"]; + + var messages = new List() + { + new SystemChatMessage( + "This is a private assistant, for use among consenting adults that find crude and dark humor, even if in bad taste, hilarious and desirable. " + + "The assitant will take on the persona of Robocop, and answer as him. Answers should be plausibly something Robocop would say in his movies. " + + "It is not mandatory that you refer to yourself, but if you do, respond as if your name was Robert. " + + "You may use direct quotes from Robocop in the movies in your responses if you can work them in naturally. " + + "Do not include quotation marks in your response. Your response should focus on punishment of the corrupt corporations driving up the prices. " + + "You will be given a list of the price of commodities from yesterday and today, you are expected to give what you think robocop's opinion would be on the difference "), + new UserChatMessage( + $"The price of eggs yesterday was {yesterdayEggPrice}. The price of eggs today is {todayEggPrice}. " + + $"The price of gas yesterday was {yesterdayGasPrice}. The price of gas today is {todayGasPrice}. What are your thoughts on this?"), + }; + var resp = await _chatClient.CompleteChatAsync(messages); + var respText = resp.Value.Content.Last().Text; + + foreach (var channelId in _channels) + { + var c = await _discordClient.GetChannelAsync(channelId); + await c.SendMessageAsync($"Gas Price Today/Yesterday: ${todayGasPrice}/${yesterdayGasPrice}\n" + + $"Egg Price Today/Yesterday: ${todayEggPrice}/${yesterdayEggPrice}\n" + + $"{respText}"); + } + } + catch (Exception ex) + { + Console.WriteLine($"Error sending message: {ex.Message}"); + } + + // Wait for 24 hours + await Task.Delay(TimeSpan.FromHours(24)); + } + } +} \ No newline at end of file diff --git a/Bot/modules/TextFreeChannels.cs b/Bot/modules/TextFreeChannels.cs index 81e3fd2..373c5da 100644 --- a/Bot/modules/TextFreeChannels.cs +++ b/Bot/modules/TextFreeChannels.cs @@ -1,3 +1,4 @@ +using System.Text.RegularExpressions; using DSharpPlus; using DSharpPlus.EventArgs; using OpenAI.Chat; @@ -27,10 +28,16 @@ public class TextFreeChannels public async Task MessageCreatedHandler(DiscordClient c, MessageCreatedEventArgs e) { if (e.Author.IsCurrent || !_channels.Contains(e.Channel.Name)) return; - if (e.Message.Embeds.Count == 0 && e.Message.Attachments.Count > 0) + if ((e.Message.Embeds.Count > 0 || e.Message.Attachments.Count > 0) && e.Message.Content == "") { return; } + + if (MessageOnlyContainsURL(e.Message.Content)) + { + return; + } + await e.Message.DeleteAsync(); if (_chatClient != null) @@ -57,4 +64,11 @@ public class TextFreeChannels } } + + private bool MessageOnlyContainsURL(string input) + { + // Regular expression to match only an image URL + string pattern = @"^(https?:\/\/.*\.(?:png|jpg|jpeg|gif|bmp|webp)|https?:\/\/(media\.)?tenor\.com\/\S+)$"; + return Regex.IsMatch(input, pattern, RegexOptions.IgnoreCase); + } } diff --git a/Bot/obj/Bot.csproj.nuget.dgspec.json b/Bot/obj/Bot.csproj.nuget.dgspec.json index c04f4e7..3d4a6a2 100644 --- a/Bot/obj/Bot.csproj.nuget.dgspec.json +++ b/Bot/obj/Bot.csproj.nuget.dgspec.json @@ -22,6 +22,108 @@ "sources": { "https://api.nuget.org/v3/index.json": {} }, + "frameworks": { + "net9.0": { + "targetAlias": "net9.0", + "projectReferences": { + "C:\\Users\\jerem\\RiderProjects\\Robert\\RobertMart\\RobertMart.csproj": { + "projectPath": "C:\\Users\\jerem\\RiderProjects\\Robert\\RobertMart\\RobertMart.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "all" + }, + "SdkAnalysisLevel": "9.0.100" + }, + "frameworks": { + "net9.0": { + "targetAlias": "net9.0", + "dependencies": { + "DSharpPlus": { + "target": "Package", + "version": "[5.0.0-nightly-02450, )" + }, + "Microsoft.NET.ILLink.Tasks": { + "suppressParent": "All", + "target": "Package", + "version": "[9.0.0, )", + "autoReferenced": true + }, + "OpenAI": { + "target": "Package", + "version": "[2.1.0, )" + }, + "ini-parser": { + "target": "Package", + "version": "[2.5.2, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "downloadDependencies": [ + { + "name": "Microsoft.AspNetCore.App.Runtime.linux-x64", + "version": "[9.0.0, 9.0.0]" + }, + { + "name": "Microsoft.NETCore.App.Host.linux-x64", + "version": "[9.0.0, 9.0.0]" + }, + { + "name": "Microsoft.NETCore.App.Runtime.linux-x64", + "version": "[9.0.0, 9.0.0]" + } + ], + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Users\\jerem\\.dotnet\\sdk\\9.0.100/PortableRuntimeIdentifierGraph.json" + } + }, + "runtimes": { + "linux-x64": { + "#import": [] + } + } + }, + "C:\\Users\\jerem\\RiderProjects\\Robert\\RobertMart\\RobertMart.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\jerem\\RiderProjects\\Robert\\RobertMart\\RobertMart.csproj", + "projectName": "RobertMart", + "projectPath": "C:\\Users\\jerem\\RiderProjects\\Robert\\RobertMart\\RobertMart.csproj", + "packagesPath": "C:\\Users\\jerem\\.nuget\\packages\\", + "outputPath": "C:\\Users\\jerem\\RiderProjects\\Robert\\RobertMart\\obj\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\jerem\\AppData\\Roaming\\NuGet\\NuGet.Config" + ], + "originalTargetFrameworks": [ + "net9.0" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, "frameworks": { "net9.0": { "targetAlias": "net9.0", @@ -44,17 +146,15 @@ "net9.0": { "targetAlias": "net9.0", "dependencies": { - "DSharpPlus": { + "HtmlAgilityPack": { "target": "Package", - "version": "[5.0.0-nightly-02450, )" + "version": "[1.11.72, )" }, - "OpenAI": { + "Microsoft.NET.ILLink.Tasks": { + "suppressParent": "All", "target": "Package", - "version": "[2.1.0, )" - }, - "ini-parser": { - "target": "Package", - "version": "[2.5.2, )" + "version": "[9.0.0, )", + "autoReferenced": true } }, "imports": [ @@ -68,6 +168,16 @@ ], "assetTargetFallback": true, "warn": true, + "downloadDependencies": [ + { + "name": "Microsoft.AspNetCore.App.Runtime.linux-x64", + "version": "[9.0.0, 9.0.0]" + }, + { + "name": "Microsoft.NETCore.App.Runtime.linux-x64", + "version": "[9.0.0, 9.0.0]" + } + ], "frameworkReferences": { "Microsoft.NETCore.App": { "privateAssets": "all" @@ -75,6 +185,11 @@ }, "runtimeIdentifierGraphPath": "C:\\Users\\jerem\\.dotnet\\sdk\\9.0.100/PortableRuntimeIdentifierGraph.json" } + }, + "runtimes": { + "linux-x64": { + "#import": [] + } } } } diff --git a/Bot/obj/Bot.csproj.nuget.g.props b/Bot/obj/Bot.csproj.nuget.g.props index b9b9f43..14479a7 100644 --- a/Bot/obj/Bot.csproj.nuget.g.props +++ b/Bot/obj/Bot.csproj.nuget.g.props @@ -12,4 +12,10 @@ + + + + + C:\Users\jerem\.nuget\packages\microsoft.net.illink.tasks\9.0.0 + \ No newline at end of file diff --git a/Bot/obj/Debug/net9.0/Bot.AssemblyInfo.cs b/Bot/obj/Debug/net9.0/Bot.AssemblyInfo.cs index b958890..ba8c747 100644 --- a/Bot/obj/Debug/net9.0/Bot.AssemblyInfo.cs +++ b/Bot/obj/Debug/net9.0/Bot.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("Bot")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2ef1b077b44fbb933d26f4071c1c05ee384bc114")] [assembly: System.Reflection.AssemblyProductAttribute("Bot")] [assembly: System.Reflection.AssemblyTitleAttribute("Bot")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/Bot/obj/Debug/net9.0/Bot.AssemblyInfoInputs.cache b/Bot/obj/Debug/net9.0/Bot.AssemblyInfoInputs.cache index 30a782e..3b13422 100644 --- a/Bot/obj/Debug/net9.0/Bot.AssemblyInfoInputs.cache +++ b/Bot/obj/Debug/net9.0/Bot.AssemblyInfoInputs.cache @@ -1 +1 @@ -98dca81d57bca6811d958e20fdedd41c52c2d1e7e01d7bc1f139fcf6d943c82e +a580ba8fcb7d8656f75baf85e8b3928ca384a15ccb48cd8a9895acdcf7c48dec diff --git a/Bot/obj/Debug/net9.0/Bot.GeneratedMSBuildEditorConfig.editorconfig b/Bot/obj/Debug/net9.0/Bot.GeneratedMSBuildEditorConfig.editorconfig index 190c150..a64538f 100644 --- a/Bot/obj/Debug/net9.0/Bot.GeneratedMSBuildEditorConfig.editorconfig +++ b/Bot/obj/Debug/net9.0/Bot.GeneratedMSBuildEditorConfig.editorconfig @@ -1,4 +1,8 @@ is_global = true +build_property.EnableAotAnalyzer = +build_property.EnableSingleFileAnalyzer = +build_property.EnableTrimAnalyzer = +build_property.IncludeAllContentForSelfExtract = build_property.TargetFramework = net9.0 build_property.TargetPlatformMinVersion = build_property.UsingMicrosoftNETSdkWeb = diff --git a/Bot/obj/Debug/net9.0/Bot.assets.cache b/Bot/obj/Debug/net9.0/Bot.assets.cache index 042d4837ecc67b20c3f10381ca7331544d1e1de8..aca6c33e8cfb2e6c7a9a58d32f7ff208f50fd729 100644 GIT binary patch literal 15853 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 diff --git a/Bot/obj/Debug/net9.0/Bot.csproj.CoreCompileInputs.cache b/Bot/obj/Debug/net9.0/Bot.csproj.CoreCompileInputs.cache index 34fa11d..f57e32c 100644 --- a/Bot/obj/Debug/net9.0/Bot.csproj.CoreCompileInputs.cache +++ b/Bot/obj/Debug/net9.0/Bot.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -c9dbf835067ef6048df7f78ca9d2a34a4314f49ea6108350674fb83e5f991d3b +92b273f1ec765e67e7747d6fdd8b4d10439f8cab94488b163f0133f4eeff88df diff --git a/Bot/obj/Debug/net9.0/Bot.csproj.FileListAbsolute.txt b/Bot/obj/Debug/net9.0/Bot.csproj.FileListAbsolute.txt index 5fa3afa..7433bda 100644 --- a/Bot/obj/Debug/net9.0/Bot.csproj.FileListAbsolute.txt +++ b/Bot/obj/Debug/net9.0/Bot.csproj.FileListAbsolute.txt @@ -33,3 +33,6 @@ C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\INIFileParser.dll C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\OpenAI.dll C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\System.ClientModel.dll C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\System.Memory.Data.dll +C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\HtmlAgilityPack.dll +C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\RobertMart.dll +C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\RobertMart.pdb diff --git a/Bot/obj/Debug/net9.0/Bot.dll b/Bot/obj/Debug/net9.0/Bot.dll index a08a335f407d4d5a1d17ce2dbd1b27cf8e31b61f..49223dff9d9d3d7bc4da90ce6a2878d2127815a3 100644 GIT binary patch literal 24576 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 O)I*`0z7V@=%>M!Ll{W(b diff --git a/Bot/obj/Debug/net9.0/Bot.pdb b/Bot/obj/Debug/net9.0/Bot.pdb index 5f901e7a63263713725285f18aa7e18dd55dd27a..35259f31498e41c929d12f9541c9f6a69947aed9 100644 GIT binary patch delta 2603 zcmb7G3rw5W6+Y+k+t|iH3CfDh5mhMYny~MUA9FXhOL^Ku_bMnZ4KSBXj{wHb!cstM3t6@Hnr){wD0oRP_=H_ zmA`vl_ndq0x&J-aPX>P7cgz`7;)s?WBKiQ-OyIW#{H^WHU0~^B=oG2jv5jWHk4k>s zjtzC7XJ9y83Hg3s$3DnEeCtTg*Z=bJ+LMB9MnJC6s+u@8coq&9NYHK2 z8PGar+RlPr1pOZ9b5H>e z+L#Kw6UJ5o%exna)!`9?>vWoN%=W8P_XPAC(!XSn~0~B3Y##{Xt_-!&{TN{ znxn1|G&2<;XqLIAp?SP=8X6b+1oGgUmsxJ1rWQ|oyVpmZo4W9}#CpEH!X{TcQ zwq<`lcvk(nQltx8!*_-A!;U934Ga7Mb+2aiih09tZ0;=|t(bVLYK!K?NKdqH~ktAEmLHqN>9XZ4r&?;T&QJ*=>6{58Wg^DXro#umr= zK%1|oxz*Pi=yiLV_B$T(`S67#f08jNug))i@4fOh(@!>i|Ct{@5XyCYaXcY$zf$n; z#Lf?||5Ds{=mgO%d(W!(?tE+g$=g+hM=oWA#}Aq|Ee)pDZENxPJKeqmU5+*Ff!08) zx68a(cMykD<8SWLZ)k6Id;DEq|J^)#jYn^A%)l`-$7~!c=2#8K8aVb4$2vGRz_DkS z=P|G3a2S09zk=i1m!|f8ixR#`&p1>FktmizAWMiSlCe>-^a3p($CHusEBnHf&V6;&70xRBJ%du?lqe=;(8D z#B9d42wgF?30g;XfjWn<$&{l|KG9A}6O>5QK(tlrQO5FiVqHB5|1^+v1}A$FNJ@s* z0VH)oO|qnZiXs}?e=vMXuimV%JEl=bRTvg%Rt}3V+e4!y`mc+_eIoL%eGm_&eQ+^NiUSTjNpl{^e$oROWEObRX3wTd=(1(z z^%mUU%}pg3z%QPahwIrEvVcpdF3LrPgASWPw>c@9dlI;+rV+tSxrBm`5hKG|{E+XJE39>TNG#1nV9tA%GehEAz zEL15_)x=_2>zAUSnE^pZ1Cw?O-58fGWXqnkF%`+O$Csd@9K+;_SQx4eMF=ELgFFLJ zpj*Z(Cz=Y~{*qn>U3w?|p_g>IS6pPvbY;{eY zlewVD`|H^Q<$cCai;Anyx7_=nq5o!P`>BTup8xT4>)h-W89Q#fDmvO4JL=wlDJtIM zUGm+tb9as(DfsNGH4irXp6+WNS$}g^>Y1r`?+;&8uV4Jl(zfMYTWMs=)<(q`w!P+v z--+Lk{~mwxiBdBmYdJ<(2`zl#(2jVEYY*Bp5APm)^4H26*S^UQjcEs;rkpNw{xiB_ zY;LrED8;zsNilv=HY7}hjA)~KyuBfNmzDE+uet9rA2&`;Y3eOd-?R1(C9cmfmgS~b z&1JKa%^Eg4+1$nEhio2W^DLW#Y!0z`o6X0m>CArCN?H4qwI6ujW8S-x_kPJ;-}Amj zcE;L&TDZ|O@vntG+p4cN%-l_@l1i(Z>N?shTDEpBUELaOjy6X+-5c5?tt-oy;-RCj z$~(jtPRhI&`i;E2fKr2g%5oZu@;7dNMWN$WUg%ep1Wph;Wk1hK4yow60E1W)Su13% zo3$&fm$3d(n!Z*=pT>U_T8&jNSMO>Ci$uUFVDl*!f>QX zewU3C%hlxRsVsK*;wFhb4@K8bpPu5=%P79rX^bpCl%{%+)DNiLAf^=L^sEKceB)qY zmT{ucVO%Lp&WXukhx;uiPPH)=3rB&RXLj0cqY`1k@WG^z!^JKfHkxDIK9i{0I2NjC z96{hSz|)2b4*{Mc8KeN(FZ+|^p>+Vjy&(peFFf@(;UM9 diff --git a/Bot/obj/Debug/net9.0/ref/Bot.dll b/Bot/obj/Debug/net9.0/ref/Bot.dll index 00f42e36407c357176f7399b46e01ad8ff1ed500..9a91eb638bac69725c87f7659bab4a4898f86855 100644 GIT binary patch delta 2409 zcmZuzT}%{L6#nka?6~~6ECWlaqTQ7gHORUPD?fs`h$2J~kwQW(S=b*0MbHHs`xBQa zZEQ?i$vkLcO+!r61|Qm#rm3k9rasv|G<|4eW74SYi|K=DU-}bG``x>&fI5@&&H27_ z?wPx1?w#4G+Np+fXVyL1z2_kojyqU~91#HA6tdIep}jM6y{_WDK&KQ2fMLgsuON2{ z$R&T+0hHK2ZIj(6I;)SmD1~XVfJs|&csbagoJhu~4Lb+}G?`Om|033ll6h16SGcb= zt*ODi(H$4U)6=J~?%F?}Z#)pI(9ZkIqm`z?ftSL-Co2KLTi4k8%ngmjELD0EnCA5h zgMRm9a%Ak_gdA0y15iR~Pd6Iq%h{Fg?rGb}YdiTXn*F6&mRd_n28&imE1=0?9-5qJ zCCy0_G@T|jV685>WIftN-NbE$Tf`YX4_`CQ#K%gR6aQ!?zR@a}vsU44A^pD<9@i>T zBnK4PrUo1{%BZXovS>A=-$p+hn{kFkw^4E7gfV2e@VovKqXoKUnD`ztzg3rbgOf1v zo~q_kqyAHMlB(vrjLM0>A%QPY43#&-Q%eUZIwq?xW_8yA=Zr#Wt# zMP#NEI+^TA9UoPi6)C18OT{9JnOr|IQ$B<`_B}7PBH3!9r##T{J_}x0icBV5{MFYnUVIDCVLOn5C|<;nKgXe3_%G9AhEp z=}}v`otBUNQ`J|PLWVfe&!y7OhW2w|NdFW!Sw7Lk^TcdyRDO`?=Hijqq_9n4m%=`U zg9=B803grjs zuSX2~H9x024?o`=*NCfen^=n9h~>CXtipQXM?C_>X4Dh+pq1Dy^%M^95@tK!BwpdL zCQP70+ljMi*LD$4@+KG2qQ#V-P&mc>&&8C=KdqvtmHw8(SyrgmE-U@AQf}ZdE8pR$ z2jY$z^{Y~ZNXZ-MLWT_?Z|NhRM5$7ml;5oU0bw&Iru?|doK?~5N*9_OWe{65uO>5n zN@-F!r4%RMuP^Z3P{eL#VHN!>l%zON33h zuGn&|nOWfXV(BrYG?UABg?d40tfTXu4udyy*f(<;ODoZGd@MFlg@*3LSiCznoQNME zO~gAA6BC066OHjmBxE~t%k+lEPP-zvq$EBv5gSj&@vLmSHMhkXXpBVm4JIe%&*r9d zqhl~RX+O%_@YL7Nu627;{f1Wvhl5}pbAGlxlFI)vTW%bFa1Y`rCQ*S9#<9ZmSWTKM zCy&=Q;jub&tIO)K`ZUw2oB4yfxyGfNRu`>@mP>Qf3LUDA*;r!a_27#I#Ggpm}s8F*aHL%of`p z!ZFV<-$&;LfLnYQWsY0+OyP%Gt!7tx z)@g;>e6Och=%=vR{)q z(NU#hvR);{uB{VVO0eq!4*RkeWpcyt$nXHQVh^F8UB?uwtD;U+%sBFf2&un27rQ6_ zdRPtad1-fME;tjm7exj7IgM@)u}gT+lK{@I00gJLTXi~XTl_3pdjvSh@ll(0_krQT zq31?))|Enl5^8(9@jdO3ws-WlZRfZ^J}cCR&YDy;sh3?Zz9=_Z981`B`dW6qV8O0+ zt+BY&Tzd*+hvi_>;4f&him;zy4w6QBT%3^(4#+v;6`^s`;Aw+(axO(FV927-g=+0t zDwm<{e~3QZiKkg^D`sU7>+Lc-h_|hy^nNM7ARaT3H_T+CqKQhv*fEoJo>>l7o67go ztCyVA!0ia6MF^=zyT!i8P{E(*4|&+iv!ARivtTh)?^ydB!%7X4C@}0k!#un{Ix@?A z2r$-b?;u{lBgC-v81Vz^$-I&>(jl|jY56Q2pIFc5-T&hqLT7@r;nlLu)C3T{F5~c4=M(d6UTm|Mvs0+NEi#bH%SPszj$C5d8G^S&-ef7E zL-pkoxNe0)5LD~G5{OdI>Z-s?QiTVu|eI!nk)$m2=!dMCO2&6Yrz=%AeF z!#ZQ9HgX8@Ts1ymu+3nX!KA@G1_y}(FB2V%5le6m`u8~py#=krc+T4UwXx@kYw(*< zTrOY>w;4baTvQu7Mmv_m2&P3H2JoF|zzV#921M`=~7oQn@VQ-6iDo~|P23lu+4IH-AXt*-MBDX)rYAPJ{C+(;Z9uL9Y zuP%ox+l!nMw^fw5ZI;{NcDcRM@mfy!3CpPtT8_)t%k5(KvxhupC%&k~@Ies_2E9?~ z_Ube*>rqo(?wf@^0nf&Uctc!OL>krc$ZKv-?)ldn8`5?n6DyVd?K9hoKNc!jI#g23 z&7bH8CisCYwF#9eJtY@}x@%>P{7lUBt?Uz49F96$wm~(NH;L6VgXJfsip!qDME372 M-E97FGVy|c0rB}5dH?_b diff --git a/Bot/obj/Debug/net9.0/refint/Bot.dll b/Bot/obj/Debug/net9.0/refint/Bot.dll index 00f42e36407c357176f7399b46e01ad8ff1ed500..9a91eb638bac69725c87f7659bab4a4898f86855 100644 GIT binary patch delta 2409 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 M-E97FGVy|c0rB}5dH?_b diff --git a/Bot/obj/project.assets.json b/Bot/obj/project.assets.json index 903cfe0..47ddc05 100644 --- a/Bot/obj/project.assets.json +++ b/Bot/obj/project.assets.json @@ -38,6 +38,19 @@ } } }, + "HtmlAgilityPack/1.11.72": { + "type": "package", + "compile": { + "lib/netstandard2.0/HtmlAgilityPack.dll": { + "related": ".deps.json;.pdb;.xml" + } + }, + "runtime": { + "lib/netstandard2.0/HtmlAgilityPack.dll": { + "related": ".deps.json;.pdb;.xml" + } + } + }, "ini-parser/2.5.2": { "type": "package", "compile": { @@ -204,6 +217,12 @@ "buildTransitive/net8.0/_._": {} } }, + "Microsoft.NET.ILLink.Tasks/9.0.0": { + "type": "package", + "build": { + "build/Microsoft.NET.ILLink.Tasks.props": {} + } + }, "NetEscapades.EnumGenerators/1.0.0-beta11": { "type": "package", "compile": { @@ -391,6 +410,437 @@ "related": ".xml" } } + }, + "RobertMart/1.0.0": { + "type": "project", + "framework": ".NETCoreApp,Version=v9.0", + "dependencies": { + "HtmlAgilityPack": "1.11.72" + }, + "compile": { + "bin/placeholder/RobertMart.dll": {} + }, + "runtime": { + "bin/placeholder/RobertMart.dll": {} + } + } + }, + "net9.0/linux-x64": { + "CommunityToolkit.HighPerformance/8.3.2": { + "type": "package", + "compile": { + "lib/net8.0/CommunityToolkit.HighPerformance.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net8.0/CommunityToolkit.HighPerformance.dll": { + "related": ".pdb;.xml" + } + } + }, + "DSharpPlus/5.0.0-nightly-02450": { + "type": "package", + "dependencies": { + "CommunityToolkit.HighPerformance": "8.3.2", + "Microsoft.Extensions.Caching.Memory": "9.0.0", + "Microsoft.Extensions.Logging": "9.0.0", + "Microsoft.Extensions.Logging.Abstractions": "9.0.0", + "NetEscapades.EnumGenerators": "1.0.0-beta11", + "Newtonsoft.Json": "13.0.3", + "Polly.Core": "8.5.0", + "Ulid": "1.3.4" + }, + "compile": { + "lib/net9.0/DSharpPlus.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net9.0/DSharpPlus.dll": { + "related": ".xml" + } + } + }, + "HtmlAgilityPack/1.11.72": { + "type": "package", + "compile": { + "lib/netstandard2.0/HtmlAgilityPack.dll": { + "related": ".deps.json;.pdb;.xml" + } + }, + "runtime": { + "lib/netstandard2.0/HtmlAgilityPack.dll": { + "related": ".deps.json;.pdb;.xml" + } + } + }, + "ini-parser/2.5.2": { + "type": "package", + "compile": { + "lib/net20/INIFileParser.dll": { + "related": ".dll.mdb;.xml" + } + }, + "runtime": { + "lib/net20/INIFileParser.dll": { + "related": ".dll.mdb;.xml" + } + } + }, + "Microsoft.Extensions.Caching.Abstractions/9.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "9.0.0" + }, + "compile": { + "lib/net9.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net8.0/_._": {} + } + }, + "Microsoft.Extensions.Caching.Memory/9.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "9.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", + "Microsoft.Extensions.Logging.Abstractions": "9.0.0", + "Microsoft.Extensions.Options": "9.0.0", + "Microsoft.Extensions.Primitives": "9.0.0" + }, + "compile": { + "lib/net9.0/Microsoft.Extensions.Caching.Memory.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Caching.Memory.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net8.0/_._": {} + } + }, + "Microsoft.Extensions.DependencyInjection/9.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0" + }, + "compile": { + "lib/net9.0/Microsoft.Extensions.DependencyInjection.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.DependencyInjection.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net8.0/_._": {} + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/9.0.0": { + "type": "package", + "compile": { + "lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net8.0/_._": {} + } + }, + "Microsoft.Extensions.Logging/9.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "9.0.0", + "Microsoft.Extensions.Logging.Abstractions": "9.0.0", + "Microsoft.Extensions.Options": "9.0.0" + }, + "compile": { + "lib/net9.0/Microsoft.Extensions.Logging.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Logging.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net8.0/_._": {} + } + }, + "Microsoft.Extensions.Logging.Abstractions/9.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0" + }, + "compile": { + "lib/net9.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets": {} + } + }, + "Microsoft.Extensions.Options/9.0.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", + "Microsoft.Extensions.Primitives": "9.0.0" + }, + "compile": { + "lib/net9.0/Microsoft.Extensions.Options.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Options.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net8.0/Microsoft.Extensions.Options.targets": {} + } + }, + "Microsoft.Extensions.Primitives/9.0.0": { + "type": "package", + "compile": { + "lib/net9.0/Microsoft.Extensions.Primitives.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Primitives.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net8.0/_._": {} + } + }, + "Microsoft.NET.ILLink.Tasks/9.0.0": { + "type": "package", + "build": { + "build/Microsoft.NET.ILLink.Tasks.props": {} + } + }, + "NetEscapades.EnumGenerators/1.0.0-beta11": { + "type": "package", + "compile": { + "lib/netstandard2.0/NetEscapades.EnumGenerators.Attributes.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/NetEscapades.EnumGenerators.Attributes.dll": { + "related": ".xml" + } + }, + "build": { + "build/_._": {} + } + }, + "Newtonsoft.Json/13.0.3": { + "type": "package", + "compile": { + "lib/net6.0/Newtonsoft.Json.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Newtonsoft.Json.dll": { + "related": ".xml" + } + } + }, + "OpenAI/2.1.0": { + "type": "package", + "dependencies": { + "System.ClientModel": "1.2.1", + "System.Diagnostics.DiagnosticSource": "6.0.1" + }, + "compile": { + "lib/net6.0/OpenAI.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/OpenAI.dll": { + "related": ".xml" + } + } + }, + "Polly.Core/8.5.0": { + "type": "package", + "compile": { + "lib/net8.0/Polly.Core.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net8.0/Polly.Core.dll": { + "related": ".pdb;.xml" + } + } + }, + "System.ClientModel/1.2.1": { + "type": "package", + "dependencies": { + "System.Memory.Data": "6.0.0", + "System.Text.Json": "6.0.10" + }, + "compile": { + "lib/net6.0/System.ClientModel.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.ClientModel.dll": { + "related": ".xml" + } + } + }, + "System.Diagnostics.DiagnosticSource/6.0.1": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Diagnostics.DiagnosticSource.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Memory.Data/6.0.0": { + "type": "package", + "dependencies": { + "System.Text.Json": "6.0.0" + }, + "compile": { + "lib/net6.0/System.Memory.Data.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Memory.Data.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Text.Encodings.Web/6.0.0": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net6.0/System.Text.Encodings.Web.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Text.Encodings.Web.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + }, + "System.Text.Json/6.0.10": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0" + }, + "compile": { + "lib/net6.0/System.Text.Json.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Text.Json.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/System.Text.Json.targets": {} + } + }, + "Ulid/1.3.4": { + "type": "package", + "compile": { + "lib/net8.0/Ulid.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Ulid.dll": { + "related": ".xml" + } + } + }, + "RobertMart/1.0.0": { + "type": "project", + "framework": ".NETCoreApp,Version=v9.0", + "dependencies": { + "HtmlAgilityPack": "1.11.72" + }, + "compile": { + "bin/placeholder/RobertMart.dll": {} + }, + "runtime": { + "bin/placeholder/RobertMart.dll": {} + } } } }, @@ -440,6 +890,55 @@ "lib/net9.0/DSharpPlus.xml" ] }, + "HtmlAgilityPack/1.11.72": { + "sha512": "RNLgXxTFdIGFI+o5l8c2aJ2L5StIRn9Uv8HKR76p7QP4ZUL26wzpWUCWh08xWUdkL2kocl+Xhv6VUu0rA1npVg==", + "type": "package", + "path": "htmlagilitypack/1.11.72", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "htmlagilitypack.1.11.72.nupkg.sha512", + "htmlagilitypack.nuspec", + "lib/Net35/HtmlAgilityPack.dll", + "lib/Net35/HtmlAgilityPack.pdb", + "lib/Net35/HtmlAgilityPack.xml", + "lib/Net40-client/HtmlAgilityPack.dll", + "lib/Net40-client/HtmlAgilityPack.pdb", + "lib/Net40-client/HtmlAgilityPack.xml", + "lib/Net40/HtmlAgilityPack.XML", + "lib/Net40/HtmlAgilityPack.dll", + "lib/Net40/HtmlAgilityPack.pdb", + "lib/Net45/HtmlAgilityPack.XML", + "lib/Net45/HtmlAgilityPack.dll", + "lib/Net45/HtmlAgilityPack.pdb", + "lib/NetCore45/HtmlAgilityPack.XML", + "lib/NetCore45/HtmlAgilityPack.dll", + "lib/NetCore45/HtmlAgilityPack.pdb", + "lib/netstandard1.3/HtmlAgilityPack.deps.json", + "lib/netstandard1.3/HtmlAgilityPack.dll", + "lib/netstandard1.3/HtmlAgilityPack.pdb", + "lib/netstandard1.3/HtmlAgilityPack.xml", + "lib/netstandard1.6/HtmlAgilityPack.deps.json", + "lib/netstandard1.6/HtmlAgilityPack.dll", + "lib/netstandard1.6/HtmlAgilityPack.pdb", + "lib/netstandard1.6/HtmlAgilityPack.xml", + "lib/netstandard2.0/HtmlAgilityPack.deps.json", + "lib/netstandard2.0/HtmlAgilityPack.dll", + "lib/netstandard2.0/HtmlAgilityPack.pdb", + "lib/netstandard2.0/HtmlAgilityPack.xml", + "lib/portable-net45+netcore45+wp8+MonoAndroid+MonoTouch/HtmlAgilityPack.XML", + "lib/portable-net45+netcore45+wp8+MonoAndroid+MonoTouch/HtmlAgilityPack.dll", + "lib/portable-net45+netcore45+wp8+MonoAndroid+MonoTouch/HtmlAgilityPack.pdb", + "lib/portable-net45+netcore45+wpa81+wp8+MonoAndroid+MonoTouch/HtmlAgilityPack.XML", + "lib/portable-net45+netcore45+wpa81+wp8+MonoAndroid+MonoTouch/HtmlAgilityPack.dll", + "lib/portable-net45+netcore45+wpa81+wp8+MonoAndroid+MonoTouch/HtmlAgilityPack.pdb", + "lib/uap10.0/HtmlAgilityPack.XML", + "lib/uap10.0/HtmlAgilityPack.dll", + "lib/uap10.0/HtmlAgilityPack.pdb", + "lib/uap10.0/HtmlAgilityPack.pri", + "readme.md" + ] + }, "ini-parser/2.5.2": { "sha512": "hp3gKmC/14+6eKLgv7Jd1Z7OV86lO+tNfOXr/stQbwmRhdQuXVSvrRAuAe7G5+lwhkov0XkqZ8/bn1PYWMx6eg==", "type": "package", @@ -744,6 +1243,57 @@ "useSharedDesignerContext.txt" ] }, + "Microsoft.NET.ILLink.Tasks/9.0.0": { + "sha512": "zAwp213evC3UkimtVXRb+Dlgc/40QG145nmZDtp2LO9zJJMfrp+i/87BnXN7tRXEA4liyzdFkjqG1HE8/RPb4A==", + "type": "package", + "path": "microsoft.net.illink.tasks/9.0.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "Sdk/Sdk.props", + "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/cs/ILLink.CodeFixProvider.dll", + "analyzers/dotnet/cs/ILLink.RoslynAnalyzer.dll", + "build/Microsoft.NET.ILLink.Analyzers.props", + "build/Microsoft.NET.ILLink.Tasks.props", + "build/Microsoft.NET.ILLink.targets", + "microsoft.net.illink.tasks.9.0.0.nupkg.sha512", + "microsoft.net.illink.tasks.nuspec", + "tools/net472/ILLink.Tasks.dll", + "tools/net472/ILLink.Tasks.dll.config", + "tools/net472/Mono.Cecil.Mdb.dll", + "tools/net472/Mono.Cecil.Pdb.dll", + "tools/net472/Mono.Cecil.Rocks.dll", + "tools/net472/Mono.Cecil.dll", + "tools/net472/Sdk/Sdk.props", + "tools/net472/System.Buffers.dll", + "tools/net472/System.Collections.Immutable.dll", + "tools/net472/System.Memory.dll", + "tools/net472/System.Numerics.Vectors.dll", + "tools/net472/System.Reflection.Metadata.dll", + "tools/net472/System.Runtime.CompilerServices.Unsafe.dll", + "tools/net472/build/Microsoft.NET.ILLink.Analyzers.props", + "tools/net472/build/Microsoft.NET.ILLink.Tasks.props", + "tools/net472/build/Microsoft.NET.ILLink.targets", + "tools/net9.0/ILLink.Tasks.deps.json", + "tools/net9.0/ILLink.Tasks.dll", + "tools/net9.0/Mono.Cecil.Mdb.dll", + "tools/net9.0/Mono.Cecil.Pdb.dll", + "tools/net9.0/Mono.Cecil.Rocks.dll", + "tools/net9.0/Mono.Cecil.dll", + "tools/net9.0/Sdk/Sdk.props", + "tools/net9.0/build/Microsoft.NET.ILLink.Analyzers.props", + "tools/net9.0/build/Microsoft.NET.ILLink.Tasks.props", + "tools/net9.0/build/Microsoft.NET.ILLink.targets", + "tools/net9.0/illink.deps.json", + "tools/net9.0/illink.dll", + "tools/net9.0/illink.runtimeconfig.json", + "useSharedDesignerContext.txt" + ] + }, "NetEscapades.EnumGenerators/1.0.0-beta11": { "sha512": "37btDZQX5OzwUmF6xvqxDb0mRTXi3O/h3nVKjvri2XEwyUnHsY5g43jbPJo8Sp2gxbfJd2lto7fLLQujw5aT5Q==", "type": "package", @@ -1035,12 +1585,19 @@ "ulid.1.3.4.nupkg.sha512", "ulid.nuspec" ] + }, + "RobertMart/1.0.0": { + "type": "project", + "path": "../RobertMart/RobertMart.csproj", + "msbuildProject": "../RobertMart/RobertMart.csproj" } }, "projectFileDependencyGroups": { "net9.0": [ "DSharpPlus >= 5.0.0-nightly-02450", + "Microsoft.NET.ILLink.Tasks >= 9.0.0", "OpenAI >= 2.1.0", + "RobertMart >= 1.0.0", "ini-parser >= 2.5.2" ] }, @@ -1068,7 +1625,11 @@ "frameworks": { "net9.0": { "targetAlias": "net9.0", - "projectReferences": {} + "projectReferences": { + "C:\\Users\\jerem\\RiderProjects\\Robert\\RobertMart\\RobertMart.csproj": { + "projectPath": "C:\\Users\\jerem\\RiderProjects\\Robert\\RobertMart\\RobertMart.csproj" + } + } } }, "warningProperties": { @@ -1091,6 +1652,12 @@ "target": "Package", "version": "[5.0.0-nightly-02450, )" }, + "Microsoft.NET.ILLink.Tasks": { + "suppressParent": "All", + "target": "Package", + "version": "[9.0.0, )", + "autoReferenced": true + }, "OpenAI": { "target": "Package", "version": "[2.1.0, )" @@ -1111,6 +1678,20 @@ ], "assetTargetFallback": true, "warn": true, + "downloadDependencies": [ + { + "name": "Microsoft.AspNetCore.App.Runtime.linux-x64", + "version": "[9.0.0, 9.0.0]" + }, + { + "name": "Microsoft.NETCore.App.Host.linux-x64", + "version": "[9.0.0, 9.0.0]" + }, + { + "name": "Microsoft.NETCore.App.Runtime.linux-x64", + "version": "[9.0.0, 9.0.0]" + } + ], "frameworkReferences": { "Microsoft.NETCore.App": { "privateAssets": "all" @@ -1118,6 +1699,11 @@ }, "runtimeIdentifierGraphPath": "C:\\Users\\jerem\\.dotnet\\sdk\\9.0.100/PortableRuntimeIdentifierGraph.json" } + }, + "runtimes": { + "linux-x64": { + "#import": [] + } } }, "logs": [ diff --git a/Bot/obj/project.nuget.cache b/Bot/obj/project.nuget.cache index 3c5f9de..ab61f99 100644 --- a/Bot/obj/project.nuget.cache +++ b/Bot/obj/project.nuget.cache @@ -1,11 +1,12 @@ { "version": 2, - "dgSpecHash": "6DG89n12Fl0=", + "dgSpecHash": "h+hcN35o2Y0=", "success": true, "projectFilePath": "C:\\Users\\jerem\\RiderProjects\\Robert\\Bot\\Bot.csproj", "expectedPackageFiles": [ "C:\\Users\\jerem\\.nuget\\packages\\communitytoolkit.highperformance\\8.3.2\\communitytoolkit.highperformance.8.3.2.nupkg.sha512", "C:\\Users\\jerem\\.nuget\\packages\\dsharpplus\\5.0.0-nightly-02450\\dsharpplus.5.0.0-nightly-02450.nupkg.sha512", + "C:\\Users\\jerem\\.nuget\\packages\\htmlagilitypack\\1.11.72\\htmlagilitypack.1.11.72.nupkg.sha512", "C:\\Users\\jerem\\.nuget\\packages\\ini-parser\\2.5.2\\ini-parser.2.5.2.nupkg.sha512", "C:\\Users\\jerem\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\9.0.0\\microsoft.extensions.caching.abstractions.9.0.0.nupkg.sha512", "C:\\Users\\jerem\\.nuget\\packages\\microsoft.extensions.caching.memory\\9.0.0\\microsoft.extensions.caching.memory.9.0.0.nupkg.sha512", @@ -15,6 +16,7 @@ "C:\\Users\\jerem\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\9.0.0\\microsoft.extensions.logging.abstractions.9.0.0.nupkg.sha512", "C:\\Users\\jerem\\.nuget\\packages\\microsoft.extensions.options\\9.0.0\\microsoft.extensions.options.9.0.0.nupkg.sha512", "C:\\Users\\jerem\\.nuget\\packages\\microsoft.extensions.primitives\\9.0.0\\microsoft.extensions.primitives.9.0.0.nupkg.sha512", + "C:\\Users\\jerem\\.nuget\\packages\\microsoft.net.illink.tasks\\9.0.0\\microsoft.net.illink.tasks.9.0.0.nupkg.sha512", "C:\\Users\\jerem\\.nuget\\packages\\netescapades.enumgenerators\\1.0.0-beta11\\netescapades.enumgenerators.1.0.0-beta11.nupkg.sha512", "C:\\Users\\jerem\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512", "C:\\Users\\jerem\\.nuget\\packages\\openai\\2.1.0\\openai.2.1.0.nupkg.sha512", @@ -25,7 +27,10 @@ "C:\\Users\\jerem\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", "C:\\Users\\jerem\\.nuget\\packages\\system.text.encodings.web\\6.0.0\\system.text.encodings.web.6.0.0.nupkg.sha512", "C:\\Users\\jerem\\.nuget\\packages\\system.text.json\\6.0.10\\system.text.json.6.0.10.nupkg.sha512", - "C:\\Users\\jerem\\.nuget\\packages\\ulid\\1.3.4\\ulid.1.3.4.nupkg.sha512" + "C:\\Users\\jerem\\.nuget\\packages\\ulid\\1.3.4\\ulid.1.3.4.nupkg.sha512", + "C:\\Users\\jerem\\.nuget\\packages\\microsoft.netcore.app.runtime.linux-x64\\9.0.0\\microsoft.netcore.app.runtime.linux-x64.9.0.0.nupkg.sha512", + "C:\\Users\\jerem\\.nuget\\packages\\microsoft.aspnetcore.app.runtime.linux-x64\\9.0.0\\microsoft.aspnetcore.app.runtime.linux-x64.9.0.0.nupkg.sha512", + "C:\\Users\\jerem\\.nuget\\packages\\microsoft.netcore.app.host.linux-x64\\9.0.0\\microsoft.netcore.app.host.linux-x64.9.0.0.nupkg.sha512" ], "logs": [ { diff --git a/Bot/obj/project.packagespec.json b/Bot/obj/project.packagespec.json index f6de653..aa8b324 100644 --- a/Bot/obj/project.packagespec.json +++ b/Bot/obj/project.packagespec.json @@ -1 +1 @@ -"restore":{"projectUniqueName":"C:\\Users\\jerem\\RiderProjects\\Robert\\Bot\\Bot.csproj","projectName":"Bot","projectPath":"C:\\Users\\jerem\\RiderProjects\\Robert\\Bot\\Bot.csproj","outputPath":"C:\\Users\\jerem\\RiderProjects\\Robert\\Bot\\obj\\","projectStyle":"PackageReference","originalTargetFrameworks":["net9.0"],"sources":{"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net9.0":{"targetAlias":"net9.0","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]},"restoreAuditProperties":{"enableAudit":"true","auditLevel":"low","auditMode":"all"},"SdkAnalysisLevel":"9.0.100"}"frameworks":{"net9.0":{"targetAlias":"net9.0","dependencies":{"DSharpPlus":{"target":"Package","version":"[5.0.0-nightly-02450, )"},"OpenAI":{"target":"Package","version":"[2.1.0, )"},"ini-parser":{"target":"Package","version":"[2.5.2, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"C:\\Users\\jerem\\.dotnet\\sdk\\9.0.100/PortableRuntimeIdentifierGraph.json"}} \ No newline at end of file +"restore":{"projectUniqueName":"C:\\Users\\jerem\\RiderProjects\\Robert\\Bot\\Bot.csproj","projectName":"Bot","projectPath":"C:\\Users\\jerem\\RiderProjects\\Robert\\Bot\\Bot.csproj","outputPath":"C:\\Users\\jerem\\RiderProjects\\Robert\\Bot\\obj\\","projectStyle":"PackageReference","originalTargetFrameworks":["net9.0"],"sources":{"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net9.0":{"targetAlias":"net9.0","projectReferences":{"C:\\Users\\jerem\\RiderProjects\\Robert\\RobertMart\\RobertMart.csproj":{"projectPath":"C:\\Users\\jerem\\RiderProjects\\Robert\\RobertMart\\RobertMart.csproj"}}}},"warningProperties":{"warnAsError":["NU1605"]},"restoreAuditProperties":{"enableAudit":"true","auditLevel":"low","auditMode":"all"},"SdkAnalysisLevel":"9.0.100"}"frameworks":{"net9.0":{"targetAlias":"net9.0","dependencies":{"DSharpPlus":{"target":"Package","version":"[5.0.0-nightly-02450, )"},"OpenAI":{"target":"Package","version":"[2.1.0, )"},"ini-parser":{"target":"Package","version":"[2.5.2, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"C:\\Users\\jerem\\.dotnet\\sdk\\9.0.100/PortableRuntimeIdentifierGraph.json"}} \ No newline at end of file diff --git a/Bot/obj/rider.project.model.nuget.info b/Bot/obj/rider.project.model.nuget.info index a71427f..3246b07 100644 --- a/Bot/obj/rider.project.model.nuget.info +++ b/Bot/obj/rider.project.model.nuget.info @@ -1 +1 @@ -17376010223077519 \ No newline at end of file +17393804755893759 \ No newline at end of file diff --git a/Bot/obj/rider.project.restore.info b/Bot/obj/rider.project.restore.info index 08ec610..a20f8c4 100644 --- a/Bot/obj/rider.project.restore.info +++ b/Bot/obj/rider.project.restore.info @@ -1 +1 @@ -17376089123902687 \ No newline at end of file +17393793386527819 \ No newline at end of file diff --git a/Robert.sln b/Robert.sln index 62ce14b..50cfc40 100644 --- a/Robert.sln +++ b/Robert.sln @@ -2,6 +2,8 @@ Microsoft Visual Studio Solution File, Format Version 12.00 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bot", "Bot\Bot.csproj", "{15F2CD23-B53C-4C59-9D68-B2FD3F0F2C48}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RobertMart", "RobertMart\RobertMart.csproj", "{FA57B949-39DA-44CD-9F9F-880A0F585D7D}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -12,5 +14,9 @@ Global {15F2CD23-B53C-4C59-9D68-B2FD3F0F2C48}.Debug|Any CPU.Build.0 = Debug|Any CPU {15F2CD23-B53C-4C59-9D68-B2FD3F0F2C48}.Release|Any CPU.ActiveCfg = Release|Any CPU {15F2CD23-B53C-4C59-9D68-B2FD3F0F2C48}.Release|Any CPU.Build.0 = Release|Any CPU + {FA57B949-39DA-44CD-9F9F-880A0F585D7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FA57B949-39DA-44CD-9F9F-880A0F585D7D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FA57B949-39DA-44CD-9F9F-880A0F585D7D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FA57B949-39DA-44CD-9F9F-880A0F585D7D}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection EndGlobal diff --git a/Robert.sln.DotSettings.user b/Robert.sln.DotSettings.user index 8c2f580..da8dac2 100644 --- a/Robert.sln.DotSettings.user +++ b/Robert.sln.DotSettings.user @@ -1,4 +1,7 @@  + ForceIncluded + ForceIncluded + ForceIncluded <AssemblyExplorer> <Assembly Path="C:\Users\jerem\.nuget\packages\dsharpplus\4.5.0\lib\netstandard2.0\DSharpPlus.dll" /> </AssemblyExplorer> \ No newline at end of file diff --git a/RobertMart/CommodityTracker.cs b/RobertMart/CommodityTracker.cs new file mode 100644 index 0000000..7b7ce60 --- /dev/null +++ b/RobertMart/CommodityTracker.cs @@ -0,0 +1,69 @@ +using HtmlAgilityPack; + +namespace RobertMart +{ + public class CommodityTracker + { + public static readonly Dictionary Commodities = new Dictionary() + { + {"Eggs", 6.00m}, + {"Gas", 3.000m}, + }; + + private const string EggsSourceUri = "https://tradingeconomics.com"; + private const string GasSourceUri = "https://gasprices.aaa.com/"; + + public static async void FetchCommodities() + { + try + { + var client = new HttpClient(); + var httpRequest = new HttpRequestMessage + { + Method = HttpMethod.Get, + RequestUri = new Uri($"{EggsSourceUri}/commodity/eggs-us"), + Headers = + { + {"Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, + { "User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0" }, + } + }; + var html = await client.SendAsync(httpRequest).Result.Content.ReadAsStringAsync(); + var doc = new HtmlDocument(); + doc.LoadHtml(html); + var tableNode = doc.DocumentNode.SelectSingleNode("//table[@class='table']"); + var tr = tableNode.SelectSingleNode("./tr"); + var priceNode = tr.SelectSingleNode("./td[2]"); + var price = decimal.Parse(priceNode.InnerText.Trim()); + Commodities["Eggs"] = price; + + var gasHttpRequest = new HttpRequestMessage + { + Method = HttpMethod.Get, + RequestUri = new Uri(GasSourceUri), + Headers = + { + { "Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" }, + { + "User-Agent", + "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0" + }, + }, + }; + + var gasClient = new HttpClient(); + var gasHtml = await gasClient.SendAsync(gasHttpRequest).Result.Content.ReadAsStringAsync(); + var gasDoc = new HtmlDocument(); + gasDoc.LoadHtml(gasHtml); + var gasPriceNode = gasDoc.DocumentNode.SelectSingleNode("//p[@class='numb']"); + var stringGasPrice = gasPriceNode.SelectSingleNode("text()").InnerText.Trim(); + var gasPrice = decimal.Parse(stringGasPrice.Replace("$", "")); + Commodities["Gas"] = gasPrice; + } + catch (Exception e) + { + Console.WriteLine(e); + } + } + } +} \ No newline at end of file diff --git a/RobertMart/RobertMart.csproj b/RobertMart/RobertMart.csproj new file mode 100644 index 0000000..3b22976 --- /dev/null +++ b/RobertMart/RobertMart.csproj @@ -0,0 +1,13 @@ + + + + net9.0 + enable + enable + + + + + + +