Your move, creep

This commit is contained in:
Jers 2025-01-23 15:14:09 -06:00
parent b0214b036a
commit 2ef1b077b4
76 changed files with 2204 additions and 0 deletions

13
.idea/.idea.Robert/.idea/.gitignore generated vendored Normal file
View File

@ -0,0 +1,13 @@
# Default ignored files
/shelf/
/workspace.xml
# Rider ignored files
/projectSettingsUpdater.xml
/modules.xml
/contentModel.xml
/.idea.Robert.iml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>

23
Bot/Bot.csproj Normal file
View File

@ -0,0 +1,23 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="DSharpPlus" Version="5.0.0-nightly-02450" />
<PackageReference Include="ini-parser" Version="2.5.2" />
<PackageReference Include="OpenAI" Version="2.1.0" />
</ItemGroup>
<ItemGroup>
<None Remove="config.ini" />
<Content Include="config.ini">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
</Project>

53
Bot/Program.cs Normal file
View File

@ -0,0 +1,53 @@
using Bot.modules;
using DSharpPlus;
using DSharpPlus.EventArgs;
using IniParser;
namespace Bot
{
internal static class RobertBot
{
private static async Task Main(string[] args)
{
// Config setup
var botToken = Environment.GetEnvironmentVariable("BOT_TOKEN");
if (botToken == null)
{
await Console.Error.WriteLineAsync("Missing BOT_TOKEN environment variable");
Environment.Exit(1);
}
var openAiKey = Environment.GetEnvironmentVariable("OPENAI_API_KEY");
var configParser = new FileIniDataParser();
var config = configParser.ReadFile(Path.Combine(AppContext.BaseDirectory, "config.ini"));
// Module setup
var messageHandlers = new List<Func<DiscordClient, MessageCreatedEventArgs, Task>>();
// TFC Setup
if (config["TextFreeChannels"]["active"] == "true")
{
var textFreeChannelList = config["TextFreeChannels"]["channels"].Split(",").ToList();
var textFreeChannels = new TextFreeChannels(textFreeChannelList, openAiKey);
messageHandlers.Add(textFreeChannels.MessageCreatedHandler);
}
// Politico Setup
if (config["Politico"]["active"] == "true")
{
var politicoChannelList = config["Politico"]["channels"].Split(",").ToList();
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);}
});
await builder.ConnectAsync();
await Task.Delay(-1);
}
}
}

View File

@ -0,0 +1,389 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v9.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v9.0": {
"Bot/1.0.0": {
"dependencies": {
"DSharpPlus": "5.0.0-nightly-02450",
"OpenAI": "2.1.0",
"ini-parser": "2.5.2"
},
"runtime": {
"Bot.dll": {}
}
},
"CommunityToolkit.HighPerformance/8.3.2": {
"runtime": {
"lib/net8.0/CommunityToolkit.HighPerformance.dll": {
"assemblyVersion": "8.3.0.0",
"fileVersion": "8.3.2.1"
}
}
},
"DSharpPlus/5.0.0-nightly-02450": {
"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"
},
"runtime": {
"lib/net9.0/DSharpPlus.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.0.0"
}
}
},
"ini-parser/2.5.2": {
"runtime": {
"lib/net20/INIFileParser.dll": {
"assemblyVersion": "2.5.2.0",
"fileVersion": "2.5.2.0"
}
}
},
"Microsoft.Extensions.Caching.Abstractions/9.0.0": {
"dependencies": {
"Microsoft.Extensions.Primitives": "9.0.0"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Caching.Abstractions.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"Microsoft.Extensions.Caching.Memory/9.0.0": {
"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"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Caching.Memory.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"Microsoft.Extensions.DependencyInjection/9.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.DependencyInjection.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/9.0.0": {
"runtime": {
"lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"Microsoft.Extensions.Logging/9.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.0",
"Microsoft.Extensions.Logging.Abstractions": "9.0.0",
"Microsoft.Extensions.Options": "9.0.0"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Logging.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/9.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"Microsoft.Extensions.Options/9.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0",
"Microsoft.Extensions.Primitives": "9.0.0"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"Microsoft.Extensions.Primitives/9.0.0": {
"runtime": {
"lib/net9.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"NetEscapades.EnumGenerators/1.0.0-beta11": {
"runtime": {
"lib/netstandard2.0/NetEscapades.EnumGenerators.Attributes.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"Newtonsoft.Json/13.0.3": {
"runtime": {
"lib/net6.0/Newtonsoft.Json.dll": {
"assemblyVersion": "13.0.0.0",
"fileVersion": "13.0.3.27908"
}
}
},
"OpenAI/2.1.0": {
"dependencies": {
"System.ClientModel": "1.2.1",
"System.Diagnostics.DiagnosticSource": "6.0.1"
},
"runtime": {
"lib/net6.0/OpenAI.dll": {
"assemblyVersion": "2.1.0.0",
"fileVersion": "2.1.0.0"
}
}
},
"Polly.Core/8.5.0": {
"runtime": {
"lib/net8.0/Polly.Core.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.5.0.4130"
}
}
},
"System.ClientModel/1.2.1": {
"dependencies": {
"System.Memory.Data": "6.0.0",
"System.Text.Json": "6.0.10"
},
"runtime": {
"lib/net6.0/System.ClientModel.dll": {
"assemblyVersion": "1.2.1.0",
"fileVersion": "1.200.124.50905"
}
}
},
"System.Diagnostics.DiagnosticSource/6.0.1": {
"dependencies": {
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
}
},
"System.Memory.Data/6.0.0": {
"dependencies": {
"System.Text.Json": "6.0.10"
},
"runtime": {
"lib/net6.0/System.Memory.Data.dll": {
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.0.21.52210"
}
}
},
"System.Runtime.CompilerServices.Unsafe/6.0.0": {},
"System.Text.Encodings.Web/6.0.0": {
"dependencies": {
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
}
},
"System.Text.Json/6.0.10": {
"dependencies": {
"System.Runtime.CompilerServices.Unsafe": "6.0.0",
"System.Text.Encodings.Web": "6.0.0"
}
},
"Ulid/1.3.4": {
"runtime": {
"lib/net8.0/Ulid.dll": {
"assemblyVersion": "1.3.4.0",
"fileVersion": "1.3.4.0"
}
}
}
}
},
"libraries": {
"Bot/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"CommunityToolkit.HighPerformance/8.3.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-1Os81ua0FmIOtiSgOk5C1KBraQ3SDfxs/7BG4qDagm48nGplr//lAVqLH9I2TLDVqRFdhqTUaEITFA5Ho/Ovkw==",
"path": "communitytoolkit.highperformance/8.3.2",
"hashPath": "communitytoolkit.highperformance.8.3.2.nupkg.sha512"
},
"DSharpPlus/5.0.0-nightly-02450": {
"type": "package",
"serviceable": true,
"sha512": "sha512-WX24zvokxweVdyhGBQ0ouNIFGguJQ6FBrBmbrwwUxOI0gByTtI2JTaVG7pxUMXuMkihl2FiVM9Z8IQmFoZ/nSw==",
"path": "dsharpplus/5.0.0-nightly-02450",
"hashPath": "dsharpplus.5.0.0-nightly-02450.nupkg.sha512"
},
"ini-parser/2.5.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-hp3gKmC/14+6eKLgv7Jd1Z7OV86lO+tNfOXr/stQbwmRhdQuXVSvrRAuAe7G5+lwhkov0XkqZ8/bn1PYWMx6eg==",
"path": "ini-parser/2.5.2",
"hashPath": "ini-parser.2.5.2.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Abstractions/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-FPWZAa9c0H4dvOj351iR1jkUIs4u9ykL4Bm592yhjDyO5lCoWd+TMAHx2EMbarzUvCvgjWjJIoC6//Q9kH6YhA==",
"path": "microsoft.extensions.caching.abstractions/9.0.0",
"hashPath": "microsoft.extensions.caching.abstractions.9.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Memory/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-zbnPX/JQ0pETRSUG9fNPBvpIq42Aufvs15gGYyNIMhCun9yhmWihz0WgsI7bSDPjxWTKBf8oX/zv6v2uZ3W9OQ==",
"path": "microsoft.extensions.caching.memory/9.0.0",
"hashPath": "microsoft.extensions.caching.memory.9.0.0.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-MCPrg7v3QgNMr0vX4vzRXvkNGgLg8vKWX0nKCWUxu2uPyMsaRgiRc1tHBnbTcfJMhMKj2slE/j2M9oGkd25DNw==",
"path": "microsoft.extensions.dependencyinjection/9.0.0",
"hashPath": "microsoft.extensions.dependencyinjection.9.0.0.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-+6f2qv2a3dLwd5w6JanPIPs47CxRbnk+ZocMJUhv9NxP88VlOcJYZs9jY+MYSjxvady08bUZn6qgiNh7DadGgg==",
"path": "microsoft.extensions.dependencyinjection.abstractions/9.0.0",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.9.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Logging/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-crjWyORoug0kK7RSNJBTeSE6VX8IQgLf3nUpTB9m62bPXp/tzbnOsnbe8TXEG0AASNaKZddnpHKw7fET8E++Pg==",
"path": "microsoft.extensions.logging/9.0.0",
"hashPath": "microsoft.extensions.logging.9.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-g0UfujELzlLbHoVG8kPKVBaW470Ewi+jnptGS9KUi6jcb+k2StujtK3m26DFSGGwQ/+bVgZfsWqNzlP6YOejvw==",
"path": "microsoft.extensions.logging.abstractions/9.0.0",
"hashPath": "microsoft.extensions.logging.abstractions.9.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Options/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-y2146b3jrPI3Q0lokKXdKLpmXqakYbDIPDV6r3M8SqvSf45WwOTzkyfDpxnZXJsJQEpAsAqjUq5Pu8RCJMjubg==",
"path": "microsoft.extensions.options/9.0.0",
"hashPath": "microsoft.extensions.options.9.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-N3qEBzmLMYiASUlKxxFIISP4AiwuPTHF5uCh+2CWSwwzAJiIYx0kBJsS30cp1nvhSySFAVi30jecD307jV+8Kg==",
"path": "microsoft.extensions.primitives/9.0.0",
"hashPath": "microsoft.extensions.primitives.9.0.0.nupkg.sha512"
},
"NetEscapades.EnumGenerators/1.0.0-beta11": {
"type": "package",
"serviceable": true,
"sha512": "sha512-37btDZQX5OzwUmF6xvqxDb0mRTXi3O/h3nVKjvri2XEwyUnHsY5g43jbPJo8Sp2gxbfJd2lto7fLLQujw5aT5Q==",
"path": "netescapades.enumgenerators/1.0.0-beta11",
"hashPath": "netescapades.enumgenerators.1.0.0-beta11.nupkg.sha512"
},
"Newtonsoft.Json/13.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==",
"path": "newtonsoft.json/13.0.3",
"hashPath": "newtonsoft.json.13.0.3.nupkg.sha512"
},
"OpenAI/2.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-zl72nyP4O94ZyEoCLoE8qoc5vp8kSJmRuqR+UdK+jNIjFJGWJYjsb4rAGpMWWRTbPYuk82E8myMJdVQurMLDnQ==",
"path": "openai/2.1.0",
"hashPath": "openai.2.1.0.nupkg.sha512"
},
"Polly.Core/8.5.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-VYYMZNitZ85UEhwOKkTQI63WEMvzUqwQc74I2mm8h/DBVAMcBBxqYPni4DmuRtbCwngmuONuK2yBJfWNRKzI+A==",
"path": "polly.core/8.5.0",
"hashPath": "polly.core.8.5.0.nupkg.sha512"
},
"System.ClientModel/1.2.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-s9+M5El+DXdCRRLzxak8uGBKWT8H/eIssGpFtpaMKdJULrQbBDPH/zFbVyHX+NDczhS5EvjHFbBH9/L+0UhmcA==",
"path": "system.clientmodel/1.2.1",
"hashPath": "system.clientmodel.1.2.1.nupkg.sha512"
},
"System.Diagnostics.DiagnosticSource/6.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-KiLYDu2k2J82Q9BJpWiuQqCkFjRBWVq4jDzKKWawVi9KWzyD0XG3cmfX0vqTQlL14Wi9EufJrbL0+KCLTbqWiQ==",
"path": "system.diagnostics.diagnosticsource/6.0.1",
"hashPath": "system.diagnostics.diagnosticsource.6.0.1.nupkg.sha512"
},
"System.Memory.Data/6.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ntFHArH3I4Lpjf5m4DCXQHJuGwWPNVJPaAvM95Jy/u+2Yzt2ryiyIN04LAogkjP9DeRcEOiviAjQotfmPq/FrQ==",
"path": "system.memory.data/6.0.0",
"hashPath": "system.memory.data.6.0.0.nupkg.sha512"
},
"System.Runtime.CompilerServices.Unsafe/6.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
"path": "system.runtime.compilerservices.unsafe/6.0.0",
"hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512"
},
"System.Text.Encodings.Web/6.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==",
"path": "system.text.encodings.web/6.0.0",
"hashPath": "system.text.encodings.web.6.0.0.nupkg.sha512"
},
"System.Text.Json/6.0.10": {
"type": "package",
"serviceable": true,
"sha512": "sha512-NSB0kDipxn2ychp88NXWfFRFlmi1bst/xynOutbnpEfRCT9JZkZ7KOmF/I/hNKo2dILiMGnqblm+j1sggdLB9g==",
"path": "system.text.json/6.0.10",
"hashPath": "system.text.json.6.0.10.nupkg.sha512"
},
"Ulid/1.3.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-6IaGquwjjfW+BoHSV844y12Uy2kxbboYNmsibxr2lotcSPAA3LKy1CKcAQ8JOdAdL4xMoDNXA1oxG41w7fbr6Q==",
"path": "ulid/1.3.4",
"hashPath": "ulid.1.3.4.nupkg.sha512"
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,12 @@
{
"runtimeOptions": {
"tfm": "net9.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "9.0.0"
},
"configProperties": {
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}

Binary file not shown.

Binary file not shown.

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,23 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v9.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v9.0": {
"Robert/1.0.0": {
"runtime": {
"Robert.dll": {}
}
}
}
},
"libraries": {
"Robert/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

Binary file not shown.

View File

@ -0,0 +1,12 @@
{
"runtimeOptions": {
"tfm": "net9.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "9.0.0"
},
"configProperties": {
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,7 @@
[TextFreeChannels]
active=true
channels=trash-compactor
[Politico]
active=false
channels=make-the-cantina-great-again,politics

7
Bot/config.ini Normal file
View File

@ -0,0 +1,7 @@
[TextFreeChannels]
active=true
channels=trash-compactor
[Politico]
active=false
channels=make-the-cantina-great-again,politics

54
Bot/modules/Politico.cs Normal file
View File

@ -0,0 +1,54 @@
using DSharpPlus;
using DSharpPlus.Entities;
using DSharpPlus.EventArgs;
using OpenAI.Chat;
namespace Bot.modules;
public class Politico
{
private readonly HashSet<string> _channels = [];
private readonly ChatClient? _chatClient;
private readonly Dictionary<DiscordUser, List<ChatMessage>> _userHistory = new();
public Politico(IEnumerable<string> channels, string? openAiKey = null, string model = "gpt-4o")
{
if (openAiKey == null) return;
_chatClient = new ChatClient(model, openAiKey);
foreach (var channel in channels)
{
_channels.Add(channel);
}
}
public async Task MessageCreatedHandler(DiscordClient c, MessageCreatedEventArgs e)
{
if (e.Author.IsCurrent || !_channels.Contains(e.Channel.Name)) return;
if (Random.Shared.NextDouble() < 0.99f && !e.MentionedUsers.Contains(c.CurrentUser)) return;
if (_chatClient == null) return;
var user = e.Author;
var m = await e.Guild.GetMemberAsync(e.Author.Id);
var name = m.DisplayName;
var messages = _userHistory.TryGetValue(user, out var value) ? value :
[
new SystemChatMessage("Take on the persona of Robocop, and answer as him. " +
"Answers should be plausibly something Robocop would say in his movies. " +
"You may optionally 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. Short answers are mandatory, 50 words or less." +
"The topic of the channel is US and international politics. The goal is to create absurdist humor contrasting Robocop's personality" +
"against modern day politics to create hilariously politically incorrect answers." +
"You are required to take a side in any debate or policy matter, you are not allowed to be neutral." +
"Controversy, especially if it is non-nonsensical is highly desirable."),
];
messages.Add(new UserChatMessage(e.Message.Content));
await e.Channel.TriggerTypingAsync();
var resp = await _chatClient.CompleteChatAsync(messages);
var respText = resp.Value.Content.Last().Text;
await e.Message.RespondAsync(respText);
messages.Add(new AssistantChatMessage(respText));
_userHistory[user] = messages;
}
}

View File

@ -0,0 +1,60 @@
using DSharpPlus;
using DSharpPlus.EventArgs;
using OpenAI.Chat;
namespace Bot.modules;
public class TextFreeChannels
{
private readonly HashSet<string> _channels = [];
private readonly ChatClient? _chatClient;
public TextFreeChannels(IEnumerable<string> channels, string? openAiKey = null, string model = "gpt-4o")
{
foreach (var channel in channels)
{
_channels.Add(channel);
}
if (openAiKey != null)
{
_chatClient = new ChatClient(model, openAiKey);
}
}
public TextFreeChannels(IEnumerable<string> channels) : this(channels, null, "") { }
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)
{
return;
}
await e.Message.DeleteAsync();
if (_chatClient != null)
{
var user = e.Author;
await e.Channel.TriggerTypingAsync();
var content = e.Message.Content;
var messages = new List<ChatMessage>()
{
new SystemChatMessage("You are an enforcer of the single rule of this chat: Users must only post images or videos. No text messages are allowed. " +
"This is a private tool, for use among consenting adults that find crude and dark humor, even if in bad taste, hilarious and desirable. " +
"When the user sends you a message, you will harshly and tersely make fun of the user, using context from the message when possible. " +
"Clever jokes, puns, personal insults, are highly desirable. " +
"Take on the persona of Robocop, and answer as him. Answers should be plausibly something Robocop would say in his movies. " +
"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. " +
"Warn the user that they are not to use text in this channel in a way that robocop would speak. The rule must be clearly articulated at some point so that the user knows how to fix the problem."),
new UserChatMessage(e.Message.Content)
};
var resp = await _chatClient.CompleteChatAsync(messages);
var respText = resp.Value.Content.Last().Text;
await e.Channel.SendMessageAsync($"{user.Mention} {respText}");
}
}
}

View File

@ -0,0 +1,81 @@
{
"format": 1,
"restore": {
"C:\\Users\\jerem\\RiderProjects\\Robert\\Bot\\Bot.csproj": {}
},
"projects": {
"C:\\Users\\jerem\\RiderProjects\\Robert\\Bot\\Bot.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\jerem\\RiderProjects\\Robert\\Bot\\Bot.csproj",
"projectName": "Bot",
"projectPath": "C:\\Users\\jerem\\RiderProjects\\Robert\\Bot\\Bot.csproj",
"packagesPath": "C:\\Users\\jerem\\.nuget\\packages\\",
"outputPath": "C:\\Users\\jerem\\RiderProjects\\Robert\\Bot\\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",
"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"
}
}
}
}
}

View File

@ -0,0 +1,15 @@
<?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)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\jerem\.nuget\packages\</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.12.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\jerem\.nuget\packages\" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)system.text.json\6.0.10\buildTransitive\netcoreapp3.1\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\6.0.10\buildTransitive\netcoreapp3.1\System.Text.Json.targets')" />
<Import Project="$(NuGetPackageRoot)microsoft.extensions.options\9.0.0\buildTransitive\net8.0\Microsoft.Extensions.Options.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.options\9.0.0\buildTransitive\net8.0\Microsoft.Extensions.Options.targets')" />
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\9.0.0\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\9.0.0\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets')" />
</ImportGroup>
</Project>

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v9.0", FrameworkDisplayName = ".NET 9.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("Bot")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Bot")]
[assembly: System.Reflection.AssemblyTitleAttribute("Bot")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Generated by the MSBuild WriteCodeFragment class.

View File

@ -0,0 +1 @@
98dca81d57bca6811d958e20fdedd41c52c2d1e7e01d7bc1f139fcf6d943c82e

View File

@ -0,0 +1,15 @@
is_global = true
build_property.TargetFramework = net9.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 = Bot
build_property.ProjectDir = C:\Users\jerem\RiderProjects\Robert\Bot\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.EffectiveAnalysisLevelStyle = 9.0
build_property.EnableCodeStyleSeverity =

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;

Binary file not shown.

View File

@ -0,0 +1 @@
c9dbf835067ef6048df7f78ca9d2a34a4314f49ea6108350674fb83e5f991d3b

View File

@ -0,0 +1,35 @@
C:\Users\jerem\RiderProjects\Robert\Bot\obj\Debug\net9.0\Bot.csproj.AssemblyReference.cache
C:\Users\jerem\RiderProjects\Robert\Bot\obj\Debug\net9.0\Bot.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\jerem\RiderProjects\Robert\Bot\obj\Debug\net9.0\Bot.AssemblyInfoInputs.cache
C:\Users\jerem\RiderProjects\Robert\Bot\obj\Debug\net9.0\Bot.AssemblyInfo.cs
C:\Users\jerem\RiderProjects\Robert\Bot\obj\Debug\net9.0\Bot.csproj.CoreCompileInputs.cache
C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\Bot.exe
C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\Bot.deps.json
C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\Bot.runtimeconfig.json
C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\Bot.dll
C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\Bot.pdb
C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\CommunityToolkit.HighPerformance.dll
C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\DSharpPlus.dll
C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\Microsoft.Extensions.Caching.Abstractions.dll
C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\Microsoft.Extensions.Caching.Memory.dll
C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\Microsoft.Extensions.DependencyInjection.dll
C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll
C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\Microsoft.Extensions.Logging.dll
C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\Microsoft.Extensions.Logging.Abstractions.dll
C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\Microsoft.Extensions.Options.dll
C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\Microsoft.Extensions.Primitives.dll
C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\NetEscapades.EnumGenerators.Attributes.dll
C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\Newtonsoft.Json.dll
C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\Polly.Core.dll
C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\Ulid.dll
C:\Users\jerem\RiderProjects\Robert\Bot\obj\Debug\net9.0\Bot.csproj.Up2Date
C:\Users\jerem\RiderProjects\Robert\Bot\obj\Debug\net9.0\Bot.dll
C:\Users\jerem\RiderProjects\Robert\Bot\obj\Debug\net9.0\refint\Bot.dll
C:\Users\jerem\RiderProjects\Robert\Bot\obj\Debug\net9.0\Bot.pdb
C:\Users\jerem\RiderProjects\Robert\Bot\obj\Debug\net9.0\Bot.genruntimeconfig.cache
C:\Users\jerem\RiderProjects\Robert\Bot\obj\Debug\net9.0\ref\Bot.dll
C:\Users\jerem\RiderProjects\Robert\Bot\bin\Debug\net9.0\config.ini
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

View File

Binary file not shown.

View File

@ -0,0 +1 @@
84789d3e8f1645d8d41ba7af83549f92904abc017cbdb449cc33572d34ed9182

Binary file not shown.

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("Robert")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Robert")]
[assembly: System.Reflection.AssemblyTitleAttribute("Robert")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Generated by the MSBuild WriteCodeFragment class.

View File

@ -0,0 +1 @@
c496c35e1e4f549aef7afaa544b02f7dcca79f01dafe1d988243fadc3c99bf2d

View File

@ -0,0 +1,15 @@
is_global = true
build_property.TargetFramework = net9.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 = Robert
build_property.ProjectDir = C:\Users\jerem\RiderProjects\Robert\Robert\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.EffectiveAnalysisLevelStyle = 9.0
build_property.EnableCodeStyleSeverity =

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;

Binary file not shown.

View File

@ -0,0 +1 @@
763b4ae0d4e76f05c95222eb9221ebf1debefaad0002a82dea04f285d0940f4b

View File

@ -0,0 +1,14 @@
C:\Users\jerem\RiderProjects\Robert\Robert\bin\Debug\net9.0\Robert.exe
C:\Users\jerem\RiderProjects\Robert\Robert\bin\Debug\net9.0\Robert.deps.json
C:\Users\jerem\RiderProjects\Robert\Robert\bin\Debug\net9.0\Robert.runtimeconfig.json
C:\Users\jerem\RiderProjects\Robert\Robert\bin\Debug\net9.0\Robert.dll
C:\Users\jerem\RiderProjects\Robert\Robert\bin\Debug\net9.0\Robert.pdb
C:\Users\jerem\RiderProjects\Robert\Robert\obj\Debug\net9.0\Robert.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\jerem\RiderProjects\Robert\Robert\obj\Debug\net9.0\Robert.AssemblyInfoInputs.cache
C:\Users\jerem\RiderProjects\Robert\Robert\obj\Debug\net9.0\Robert.AssemblyInfo.cs
C:\Users\jerem\RiderProjects\Robert\Robert\obj\Debug\net9.0\Robert.csproj.CoreCompileInputs.cache
C:\Users\jerem\RiderProjects\Robert\Robert\obj\Debug\net9.0\Robert.dll
C:\Users\jerem\RiderProjects\Robert\Robert\obj\Debug\net9.0\refint\Robert.dll
C:\Users\jerem\RiderProjects\Robert\Robert\obj\Debug\net9.0\Robert.pdb
C:\Users\jerem\RiderProjects\Robert\Robert\obj\Debug\net9.0\Robert.genruntimeconfig.cache
C:\Users\jerem\RiderProjects\Robert\Robert\obj\Debug\net9.0\ref\Robert.dll

Binary file not shown.

View File

@ -0,0 +1 @@
26b575644bb8fd8d3b7555e7b2965c27221076cc85df46190c7cab3a5fd4d989

Binary file not shown.

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,73 @@
{
"format": 1,
"restore": {
"C:\\Users\\jerem\\RiderProjects\\Robert\\Robert\\Robert.csproj": {}
},
"projects": {
"C:\\Users\\jerem\\RiderProjects\\Robert\\Robert\\Robert.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\jerem\\RiderProjects\\Robert\\Robert\\Robert.csproj",
"projectName": "Robert",
"projectPath": "C:\\Users\\jerem\\RiderProjects\\Robert\\Robert\\Robert.csproj",
"packagesPath": "C:\\Users\\jerem\\.nuget\\packages\\",
"outputPath": "C:\\Users\\jerem\\RiderProjects\\Robert\\Robert\\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",
"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": "[4.5.0, )"
}
},
"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"
}
}
}
}
}

View File

@ -0,0 +1,15 @@
<?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)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\jerem\.nuget\packages\</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.12.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\jerem\.nuget\packages\" />
</ItemGroup>
</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" />

1135
Bot/obj/project.assets.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,42 @@
{
"version": 2,
"dgSpecHash": "6DG89n12Fl0=",
"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\\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",
"C:\\Users\\jerem\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\9.0.0\\microsoft.extensions.dependencyinjection.9.0.0.nupkg.sha512",
"C:\\Users\\jerem\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\9.0.0\\microsoft.extensions.dependencyinjection.abstractions.9.0.0.nupkg.sha512",
"C:\\Users\\jerem\\.nuget\\packages\\microsoft.extensions.logging\\9.0.0\\microsoft.extensions.logging.9.0.0.nupkg.sha512",
"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\\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",
"C:\\Users\\jerem\\.nuget\\packages\\polly.core\\8.5.0\\polly.core.8.5.0.nupkg.sha512",
"C:\\Users\\jerem\\.nuget\\packages\\system.clientmodel\\1.2.1\\system.clientmodel.1.2.1.nupkg.sha512",
"C:\\Users\\jerem\\.nuget\\packages\\system.diagnostics.diagnosticsource\\6.0.1\\system.diagnostics.diagnosticsource.6.0.1.nupkg.sha512",
"C:\\Users\\jerem\\.nuget\\packages\\system.memory.data\\6.0.0\\system.memory.data.6.0.0.nupkg.sha512",
"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"
],
"logs": [
{
"code": "NU1701",
"level": "Warning",
"warningLevel": 1,
"message": "Package 'ini-parser 2.5.2' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1' instead of the project target framework 'net9.0'. This package may not be fully compatible with your project.",
"libraryId": "ini-parser",
"targetGraphs": [
"net9.0"
]
}
]
}

View File

@ -0,0 +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"}}

View File

@ -0,0 +1 @@
17376010223077519

View File

@ -0,0 +1 @@
17376089123902687

16
Robert.sln Normal file
View File

@ -0,0 +1,16 @@

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
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{15F2CD23-B53C-4C59-9D68-B2FD3F0F2C48}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{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
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,4 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/Environment/AssemblyExplorer/XmlDocument/@EntryValue">&lt;AssemblyExplorer&gt;&#xD;
&lt;Assembly Path="C:\Users\jerem\.nuget\packages\dsharpplus\4.5.0\lib\netstandard2.0\DSharpPlus.dll" /&gt;&#xD;
&lt;/AssemblyExplorer&gt;</s:String></wpf:ResourceDictionary>