Initial commit, basic proxying working
This commit is contained in:
@@ -6,12 +6,17 @@ using Autofac;
|
||||
using DSharpPlus;
|
||||
using DSharpPlus.EventArgs;
|
||||
|
||||
using Myriad.Cache;
|
||||
using Myriad.Gateway;
|
||||
|
||||
using NodaTime;
|
||||
|
||||
using PluralKit.Core;
|
||||
|
||||
using Sentry;
|
||||
|
||||
using Serilog;
|
||||
|
||||
namespace PluralKit.Bot
|
||||
{
|
||||
public class BotModule: Module
|
||||
@@ -30,6 +35,22 @@ namespace PluralKit.Bot
|
||||
builder.Register(c => new DiscordShardedClient(c.Resolve<DiscordConfiguration>())).AsSelf().SingleInstance();
|
||||
builder.Register(c => new DiscordRestClient(c.Resolve<DiscordConfiguration>())).AsSelf().SingleInstance();
|
||||
|
||||
builder.Register(c => new GatewaySettings
|
||||
{
|
||||
Token = c.Resolve<BotConfig>().Token,
|
||||
Intents = GatewayIntent.Guilds |
|
||||
GatewayIntent.DirectMessages |
|
||||
GatewayIntent.DirectMessageReactions |
|
||||
GatewayIntent.GuildEmojis |
|
||||
GatewayIntent.GuildMessages |
|
||||
GatewayIntent.GuildWebhooks |
|
||||
GatewayIntent.GuildMessageReactions
|
||||
}).AsSelf().SingleInstance();
|
||||
builder.RegisterType<Cluster>().AsSelf().SingleInstance();
|
||||
builder.Register(c => new Myriad.Rest.DiscordApiClient(c.Resolve<BotConfig>().Token, c.Resolve<ILogger>()))
|
||||
.AsSelf().SingleInstance();
|
||||
builder.RegisterType<MemoryDiscordCache>().AsSelf().As<IDiscordCache>().SingleInstance();
|
||||
|
||||
// Commands
|
||||
builder.RegisterType<CommandTree>().AsSelf();
|
||||
builder.RegisterType<Autoproxy>().AsSelf();
|
||||
@@ -55,10 +76,10 @@ namespace PluralKit.Bot
|
||||
|
||||
// Bot core
|
||||
builder.RegisterType<Bot>().AsSelf().SingleInstance();
|
||||
builder.RegisterType<MessageCreated>().As<IEventHandler<MessageCreateEventArgs>>();
|
||||
builder.RegisterType<MessageDeleted>().As<IEventHandler<MessageDeleteEventArgs>>().As<IEventHandler<MessageBulkDeleteEventArgs>>();
|
||||
builder.RegisterType<MessageEdited>().As<IEventHandler<MessageUpdateEventArgs>>();
|
||||
builder.RegisterType<ReactionAdded>().As<IEventHandler<MessageReactionAddEventArgs>>();
|
||||
builder.RegisterType<MessageCreated>().As<IEventHandler<MessageCreateEvent>>();
|
||||
builder.RegisterType<MessageDeleted>().As<IEventHandler<MessageDeleteEvent>>().As<IEventHandler<MessageDeleteBulkEvent>>();
|
||||
builder.RegisterType<MessageEdited>().As<IEventHandler<MessageUpdateEvent>>();
|
||||
builder.RegisterType<ReactionAdded>().As<IEventHandler<MessageReactionAddEvent>>();
|
||||
|
||||
// Event handler queue
|
||||
builder.RegisterType<HandlerQueue<MessageCreateEventArgs>>().AsSelf().SingleInstance();
|
||||
@@ -81,13 +102,14 @@ namespace PluralKit.Bot
|
||||
|
||||
// Sentry stuff
|
||||
builder.Register(_ => new Scope(null)).AsSelf().InstancePerLifetimeScope();
|
||||
builder.RegisterType<SentryEnricher>()
|
||||
.As<ISentryEnricher<MessageCreateEventArgs>>()
|
||||
.As<ISentryEnricher<MessageDeleteEventArgs>>()
|
||||
.As<ISentryEnricher<MessageUpdateEventArgs>>()
|
||||
.As<ISentryEnricher<MessageBulkDeleteEventArgs>>()
|
||||
.As<ISentryEnricher<MessageReactionAddEventArgs>>()
|
||||
.SingleInstance();
|
||||
// TODO:
|
||||
// builder.RegisterType<SentryEnricher>()
|
||||
// .As<ISentryEnricher<MessageCreateEvent>>()
|
||||
// .As<ISentryEnricher<MessageDeleteEvent>>()
|
||||
// .As<ISentryEnricher<MessageUpdateEvent>>()
|
||||
// .As<ISentryEnricher<MessageDeleteBulkEvent>>()
|
||||
// .As<ISentryEnricher<MessageReactionAddEvent>>()
|
||||
// .SingleInstance();
|
||||
|
||||
// Proxy stuff
|
||||
builder.RegisterType<ProxyMatcher>().AsSelf().SingleInstance();
|
||||
|
||||
Reference in New Issue
Block a user