feat: dynamically show primary command prefix

This commit is contained in:
rladenson 2024-12-31 08:09:18 -07:00 committed by Petal Ladenson
parent 1d50022d6d
commit edfc6714d6
30 changed files with 202 additions and 197 deletions

View file

@ -17,15 +17,17 @@ public class InteractionCreated: IEventHandler<InteractionCreateEvent>
private readonly ILifetimeScope _services;
private readonly ILogger _logger;
private readonly ModelRepository _repo;
private readonly BotConfig _config;
public InteractionCreated(InteractionDispatchService interactionDispatch, ApplicationCommandTree commandTree,
ILifetimeScope services, ILogger logger, ModelRepository repo)
ILifetimeScope services, ILogger logger, ModelRepository repo, BotConfig config)
{
_interactionDispatch = interactionDispatch;
_commandTree = commandTree;
_services = services;
_logger = logger;
_repo = repo;
_config = config;
}
public async Task Handle(int shardId, InteractionCreateEvent evt)
@ -42,7 +44,7 @@ public class InteractionCreated: IEventHandler<InteractionCreateEvent>
if (customId == null) return;
if (customId.Contains("help-menu"))
await Help.ButtonClick(ctx);
await Help.ButtonClick(ctx, (_config.Prefixes[0] ?? BotConfig.DefaultPrefixes[0]));
else
await _interactionDispatch.Dispatch(customId, ctx);

View file

@ -131,7 +131,7 @@ public class MessageCreated: IEventHandler<MessageCreateEvent>
var config = system != null ? await _repo.GetSystemConfig(system.Id) : null;
var guildConfig = guild != null ? await _repo.GetGuild(guild.Id) : null;
await _tree.ExecuteCommand(new Context(_services, shardId, guild, channel, evt, cmdStart, system, config, guildConfig));
await _tree.ExecuteCommand(new Context(_services, shardId, guild, channel, evt, cmdStart, system, config, guildConfig, _config.Prefixes ?? BotConfig.DefaultPrefixes));
}
catch (PKError)
{
@ -174,7 +174,7 @@ public class MessageCreated: IEventHandler<MessageCreateEvent>
try
{
return await _proxy.HandleIncomingMessage(evt, ctx, guild, channel, true, botPermissions);
return await _proxy.HandleIncomingMessage(evt, ctx, guild, channel, true, botPermissions, (_config.Prefixes[0] ?? BotConfig.DefaultPrefixes[0]));
}
// Catch any failed proxy checks so they get ignored in the global error handler

View file

@ -84,7 +84,7 @@ public class MessageEdited: IEventHandler<MessageUpdateEvent>
try
{
await _proxy.HandleIncomingMessage(equivalentEvt, ctx, allowAutoproxy: false, guild: guild,
channel: channel, botPermissions: botPermissions);
channel: channel, botPermissions: botPermissions, prefix: (_config.Prefixes[0] ?? BotConfig.DefaultPrefixes[0]));
}
// Catch any failed proxy checks so they get ignored in the global error handler
catch (ProxyService.ProxyChecksFailedException) { }