triggered permissions are now translatable
This commit is contained in:
parent
ff56af3e73
commit
902ddc70f6
@ -165,7 +165,7 @@ namespace NadekoBot
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region permissions
|
#region permissions
|
||||||
var permissionsService = new PermissionService(Client, Db, BotConfig, CommandHandler);
|
var permissionsService = new PermissionService(Client, Db, BotConfig, CommandHandler, Strings);
|
||||||
var blacklistService = new BlacklistService(BotConfig);
|
var blacklistService = new BlacklistService(BotConfig);
|
||||||
var cmdcdsService = new CmdCdService(AllGuildConfigs);
|
var cmdcdsService = new CmdCdService(AllGuildConfigs);
|
||||||
var filterService = new FilterService(Client, AllGuildConfigs);
|
var filterService = new FilterService(Client, AllGuildConfigs);
|
||||||
@ -180,11 +180,11 @@ namespace NadekoBot
|
|||||||
|
|
||||||
var clashService = new ClashOfClansService(Client, Db, Localization, Strings, uow, startingGuildIdList);
|
var clashService = new ClashOfClansService(Client, Db, Localization, Strings, uow, startingGuildIdList);
|
||||||
var musicService = new MusicService(GoogleApi, Strings, Localization, Db, soundcloudApiService, Credentials, AllGuildConfigs);
|
var musicService = new MusicService(GoogleApi, Strings, Localization, Db, soundcloudApiService, Credentials, AllGuildConfigs);
|
||||||
var crService = new CustomReactionsService(permissionsService, Db, Client, CommandHandler, BotConfig, uow);
|
var crService = new CustomReactionsService(permissionsService, Db, Strings, Client, CommandHandler, BotConfig, uow);
|
||||||
|
|
||||||
#region Games
|
#region Games
|
||||||
var gamesService = new GamesService(Client, BotConfig, AllGuildConfigs, Strings, Images, CommandHandler);
|
var gamesService = new GamesService(Client, BotConfig, AllGuildConfigs, Strings, Images, CommandHandler);
|
||||||
var chatterBotService = new ChatterBotService(Client, permissionsService, AllGuildConfigs, CommandHandler);
|
var chatterBotService = new ChatterBotService(Client, permissionsService, AllGuildConfigs, CommandHandler, Strings);
|
||||||
var pollService = new PollService(Client, Strings);
|
var pollService = new PollService(Client, Strings);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
@ -27,8 +27,9 @@ namespace NadekoBot.Services.CustomReactions
|
|||||||
private readonly PermissionService _perms;
|
private readonly PermissionService _perms;
|
||||||
private readonly CommandHandler _cmd;
|
private readonly CommandHandler _cmd;
|
||||||
private readonly BotConfig _bc;
|
private readonly BotConfig _bc;
|
||||||
|
private readonly NadekoStrings _strings;
|
||||||
|
|
||||||
public CustomReactionsService(PermissionService perms, DbService db,
|
public CustomReactionsService(PermissionService perms, DbService db, NadekoStrings strings,
|
||||||
DiscordSocketClient client, CommandHandler cmd, BotConfig bc, IUnitOfWork uow)
|
DiscordSocketClient client, CommandHandler cmd, BotConfig bc, IUnitOfWork uow)
|
||||||
{
|
{
|
||||||
_log = LogManager.GetCurrentClassLogger();
|
_log = LogManager.GetCurrentClassLogger();
|
||||||
@ -37,6 +38,7 @@ namespace NadekoBot.Services.CustomReactions
|
|||||||
_perms = perms;
|
_perms = perms;
|
||||||
_cmd = cmd;
|
_cmd = cmd;
|
||||||
_bc = bc;
|
_bc = bc;
|
||||||
|
_strings = strings;
|
||||||
|
|
||||||
var items = uow.CustomReactions.GetAll();
|
var items = uow.CustomReactions.GetAll();
|
||||||
GuildReactions = new ConcurrentDictionary<ulong, CustomReaction[]>(items.Where(g => g.GuildId != null && g.GuildId != 0).GroupBy(k => k.GuildId.Value).ToDictionary(g => g.Key, g => g.ToArray()));
|
GuildReactions = new ConcurrentDictionary<ulong, CustomReaction[]>(items.Where(g => g.GuildId != null && g.GuildId != 0).GroupBy(k => k.GuildId.Value).ToDictionary(g => g.Key, g => g.ToArray()));
|
||||||
@ -109,7 +111,7 @@ namespace NadekoBot.Services.CustomReactions
|
|||||||
{
|
{
|
||||||
if (pc.Verbose)
|
if (pc.Verbose)
|
||||||
{
|
{
|
||||||
var returnMsg = $"Permission number #{index + 1} **{pc.Permissions[index].GetCommand(_cmd.GetPrefix(guild), sg)}** is preventing this action.";
|
var returnMsg = _strings.GetText("trigger", guild.Id, "Permissions".ToLowerInvariant(), index + 1, Format.Bold(pc.Permissions[index].GetCommand(_cmd.GetPrefix(guild), (SocketGuild)guild)));
|
||||||
try { await msg.Channel.SendErrorAsync(returnMsg).ConfigureAwait(false); } catch { }
|
try { await msg.Channel.SendErrorAsync(returnMsg).ConfigureAwait(false); } catch { }
|
||||||
_log.Info(returnMsg);
|
_log.Info(returnMsg);
|
||||||
}
|
}
|
||||||
|
@ -19,15 +19,18 @@ namespace NadekoBot.Services.Games
|
|||||||
private readonly Logger _log;
|
private readonly Logger _log;
|
||||||
private readonly PermissionService _perms;
|
private readonly PermissionService _perms;
|
||||||
private readonly CommandHandler _cmd;
|
private readonly CommandHandler _cmd;
|
||||||
|
private readonly NadekoStrings _strings;
|
||||||
|
|
||||||
public ConcurrentDictionary<ulong, Lazy<ChatterBotSession>> ChatterBotGuilds { get; }
|
public ConcurrentDictionary<ulong, Lazy<ChatterBotSession>> ChatterBotGuilds { get; }
|
||||||
|
|
||||||
public ChatterBotService(DiscordSocketClient client, PermissionService perms, IEnumerable<GuildConfig> gcs, CommandHandler cmd)
|
public ChatterBotService(DiscordSocketClient client, PermissionService perms, IEnumerable<GuildConfig> gcs,
|
||||||
|
CommandHandler cmd, NadekoStrings strings)
|
||||||
{
|
{
|
||||||
_client = client;
|
_client = client;
|
||||||
_log = LogManager.GetCurrentClassLogger();
|
_log = LogManager.GetCurrentClassLogger();
|
||||||
_perms = perms;
|
_perms = perms;
|
||||||
_cmd = cmd;
|
_cmd = cmd;
|
||||||
|
_strings = strings;
|
||||||
|
|
||||||
ChatterBotGuilds = new ConcurrentDictionary<ulong, Lazy<ChatterBotSession>>(
|
ChatterBotGuilds = new ConcurrentDictionary<ulong, Lazy<ChatterBotSession>>(
|
||||||
gcs.Where(gc => gc.CleverbotEnabled)
|
gcs.Where(gc => gc.CleverbotEnabled)
|
||||||
@ -102,7 +105,7 @@ namespace NadekoBot.Services.Games
|
|||||||
if (pc.Verbose)
|
if (pc.Verbose)
|
||||||
{
|
{
|
||||||
//todo move this to permissions
|
//todo move this to permissions
|
||||||
var returnMsg = $"Permission number #{index + 1} **{pc.Permissions[index].GetCommand(_cmd.GetPrefix(guild), sg)}** is preventing this action.";
|
var returnMsg = _strings.GetText("trigger", guild.Id, "Permissions".ToLowerInvariant(), index + 1, Format.Bold(pc.Permissions[index].GetCommand(_cmd.GetPrefix(guild), (SocketGuild)guild)));
|
||||||
try { await usrMsg.Channel.SendErrorAsync(returnMsg).ConfigureAwait(false); } catch { }
|
try { await usrMsg.Channel.SendErrorAsync(returnMsg).ConfigureAwait(false); } catch { }
|
||||||
_log.Info(returnMsg);
|
_log.Info(returnMsg);
|
||||||
}
|
}
|
||||||
|
@ -20,16 +20,18 @@ namespace NadekoBot.Services.Permissions
|
|||||||
private readonly DbService _db;
|
private readonly DbService _db;
|
||||||
private readonly Logger _log;
|
private readonly Logger _log;
|
||||||
private readonly CommandHandler _cmd;
|
private readonly CommandHandler _cmd;
|
||||||
|
private readonly NadekoStrings _strings;
|
||||||
|
|
||||||
//guildid, root permission
|
//guildid, root permission
|
||||||
public ConcurrentDictionary<ulong, PermissionCache> Cache { get; } =
|
public ConcurrentDictionary<ulong, PermissionCache> Cache { get; } =
|
||||||
new ConcurrentDictionary<ulong, PermissionCache>();
|
new ConcurrentDictionary<ulong, PermissionCache>();
|
||||||
|
|
||||||
public PermissionService(DiscordSocketClient client, DbService db, BotConfig bc, CommandHandler cmd)
|
public PermissionService(DiscordSocketClient client, DbService db, BotConfig bc, CommandHandler cmd, NadekoStrings strings)
|
||||||
{
|
{
|
||||||
_log = LogManager.GetCurrentClassLogger();
|
_log = LogManager.GetCurrentClassLogger();
|
||||||
_db = db;
|
_db = db;
|
||||||
_cmd = cmd;
|
_cmd = cmd;
|
||||||
|
_strings = strings;
|
||||||
|
|
||||||
var sw = Stopwatch.StartNew();
|
var sw = Stopwatch.StartNew();
|
||||||
if (client.ShardId == 0)
|
if (client.ShardId == 0)
|
||||||
@ -205,11 +207,9 @@ WHERE secondaryTargetName LIKE '.%' OR
|
|||||||
PermissionCache pc = GetCache(guild.Id);
|
PermissionCache pc = GetCache(guild.Id);
|
||||||
if (!resetCommand && !pc.Permissions.CheckPermissions(msg, commandName, moduleName, out int index))
|
if (!resetCommand && !pc.Permissions.CheckPermissions(msg, commandName, moduleName, out int index))
|
||||||
{
|
{
|
||||||
var returnMsg = $"Permission number #{index + 1} **{pc.Permissions[index].GetCommand(_cmd.GetPrefix(guild), (SocketGuild)guild)}** is preventing this action.";
|
|
||||||
if (pc.Verbose)
|
if (pc.Verbose)
|
||||||
try { await channel.SendErrorAsync(returnMsg).ConfigureAwait(false); } catch { }
|
try { await channel.SendErrorAsync(_strings.GetText("trigger", guild.Id, "Permissions".ToLowerInvariant(), index + 1, Format.Bold(pc.Permissions[index].GetCommand(_cmd.GetPrefix(guild), (SocketGuild)guild)))).ConfigureAwait(false); } catch { }
|
||||||
return true;
|
return true;
|
||||||
//return new ExecuteCommandResult(cmd, pc, SearchResult.FromError(CommandError.Exception, returnMsg));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -222,7 +222,6 @@ WHERE secondaryTargetName LIKE '.%' OR
|
|||||||
if (pc.Verbose)
|
if (pc.Verbose)
|
||||||
try { await channel.SendErrorAsync(returnMsg).ConfigureAwait(false); } catch { }
|
try { await channel.SendErrorAsync(returnMsg).ConfigureAwait(false); } catch { }
|
||||||
return true;
|
return true;
|
||||||
//return new ExecuteCommandResult(cmd, pc, SearchResult.FromError(CommandError.Exception, $"You need the **{pc.PermRole}** role in order to use permission commands."));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -154,6 +154,7 @@
|
|||||||
"administration_old_topic": "Old topic",
|
"administration_old_topic": "Old topic",
|
||||||
"administration_perms": "Error. Most likely I don't have sufficient permissions.",
|
"administration_perms": "Error. Most likely I don't have sufficient permissions.",
|
||||||
"permissions_perms_reset": "Permissions for this server are reset.",
|
"permissions_perms_reset": "Permissions for this server are reset.",
|
||||||
|
"permissions_trigger": "Permission number #{0} {1} is preventing this action.",
|
||||||
"administration_prot_active": "Active protections",
|
"administration_prot_active": "Active protections",
|
||||||
"administration_prot_disable": "{0} has been **disabled** on this server.",
|
"administration_prot_disable": "{0} has been **disabled** on this server.",
|
||||||
"administration_prot_enable": "{0} Enabled",
|
"administration_prot_enable": "{0} Enabled",
|
||||||
|
Loading…
Reference in New Issue
Block a user