var host = new HostBuilder()
.ConfigureAppConfiguration( ( hostingContext, config ) =>
{
config.AddJsonFile( "appsettings.json", optional: false );
} )
.ConfigureLogging( x =>
{
x.AddConsole();
} )
.ConfigureDiscordHost( ( context, config ) =>
{
config.SocketConfig = new DiscordSocketConfig
{
LogLevel = LogSeverity.Debug,
AlwaysDownloadUsers = true,
GatewayIntents = GatewayIntents.All,
MessageCacheSize = 200
};
var openAIConfig = context.Configuration.GetSection( "OpenAPIConfig" ).Get<OpenAIAPIConfig>();
config.Token = openAIConfig.ApiKey;
} )
.UseInteractionService( (context, config) =>
{
config.UseCompiledLambda = true;
} )
.UseCommandService((context, config) =>
{
} )
.ConfigureServices( ( hostContext, services ) =>
{
services
.Configure<DiscordSocketConfig>( hostContext.Configuration.GetSection( "DiscordConfig" ) )
.Configure<KuinoxSemiAGI.DiscordConfig>( hostContext.Configuration.GetSection( "DiscordConfig" ) )
.AddSingleton<OpenAIAPI>()
.AddSingleton<DiscordAskChatGPT>()
;
} )
.Build();
await host.RunAsync();
var host = new HostBuilder()
.ConfigureAppConfiguration( ( hostingContext, config ) =>
{
config.AddJsonFile( "appsettings.json", optional: false );
} )
.ConfigureLogging( x =>
{
x.AddConsole();
} )
.ConfigureDiscordHost( ( context, config ) =>
{
config.SocketConfig = new DiscordSocketConfig
{
LogLevel = LogSeverity.Debug,
AlwaysDownloadUsers = true,
GatewayIntents = GatewayIntents.All,
MessageCacheSize = 200
};
var openAIConfig = context.Configuration.GetSection( "OpenAPIConfig" ).Get<OpenAIAPIConfig>();
config.Token = openAIConfig.ApiKey;
} )
.UseInteractionService( (context, config) =>
{
config.UseCompiledLambda = true;
} )
.UseCommandService((context, config) =>
{
} )
.ConfigureServices( ( hostContext, services ) =>
{
services
.Configure<DiscordSocketConfig>( hostContext.Configuration.GetSection( "DiscordConfig" ) )
.Configure<KuinoxSemiAGI.DiscordConfig>( hostContext.Configuration.GetSection( "DiscordConfig" ) )
.AddSingleton<OpenAIAPI>()
.AddSingleton<DiscordAskChatGPT>()
;
} )
.Build();
await host.RunAsync();