Take advantage of the translations in the context object
This commit is contained in:
parent
295a1d575d
commit
7fb88bd106
7 changed files with 62 additions and 98 deletions
|
@ -1,4 +1,4 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
@ -11,7 +11,6 @@ using Geekbot.net.Lib;
|
||||||
using Geekbot.net.Lib.CommandPreconditions;
|
using Geekbot.net.Lib.CommandPreconditions;
|
||||||
using Geekbot.net.Lib.ErrorHandling;
|
using Geekbot.net.Lib.ErrorHandling;
|
||||||
using Geekbot.net.Lib.Extensions;
|
using Geekbot.net.Lib.Extensions;
|
||||||
using Geekbot.net.Lib.Localization;
|
|
||||||
using Geekbot.net.Lib.ReactionListener;
|
using Geekbot.net.Lib.ReactionListener;
|
||||||
|
|
||||||
namespace Geekbot.net.Commands.Admin
|
namespace Geekbot.net.Commands.Admin
|
||||||
|
@ -23,14 +22,12 @@ namespace Geekbot.net.Commands.Admin
|
||||||
private readonly DatabaseContext _database;
|
private readonly DatabaseContext _database;
|
||||||
private readonly IErrorHandler _errorHandler;
|
private readonly IErrorHandler _errorHandler;
|
||||||
private readonly IReactionListener _reactionListener;
|
private readonly IReactionListener _reactionListener;
|
||||||
private readonly ITranslationHandler _translationHandler;
|
|
||||||
|
|
||||||
public Role(DatabaseContext database, IErrorHandler errorHandler, IReactionListener reactionListener, ITranslationHandler translationHandler)
|
public Role(DatabaseContext database, IErrorHandler errorHandler, IReactionListener reactionListener)
|
||||||
{
|
{
|
||||||
_database = database;
|
_database = database;
|
||||||
_errorHandler = errorHandler;
|
_errorHandler = errorHandler;
|
||||||
_reactionListener = reactionListener;
|
_reactionListener = reactionListener;
|
||||||
_translationHandler = translationHandler;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command(RunMode = RunMode.Async)]
|
[Command(RunMode = RunMode.Async)]
|
||||||
|
@ -39,17 +36,16 @@ namespace Geekbot.net.Commands.Admin
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var transContext = await _translationHandler.GetGuildContext(Context);
|
|
||||||
var roles = _database.RoleSelfService.Where(g => g.GuildId.Equals(Context.Guild.Id.AsLong())).ToList();
|
var roles = _database.RoleSelfService.Where(g => g.GuildId.Equals(Context.Guild.Id.AsLong())).ToList();
|
||||||
if (roles.Count == 0)
|
if (roles.Count == 0)
|
||||||
{
|
{
|
||||||
await ReplyAsync(transContext.GetString("NoRolesConfigured"));
|
await ReplyAsync(Context.Translations.GetString("NoRolesConfigured"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var sb = new StringBuilder();
|
var sb = new StringBuilder();
|
||||||
sb.AppendLine(transContext.GetString("ListHeader", Context.Guild.Name));
|
sb.AppendLine(Context.Translations.GetString("ListHeader", Context.Guild.Name));
|
||||||
sb.AppendLine(transContext.GetString("ListInstruction"));
|
sb.AppendLine(Context.Translations.GetString("ListInstruction"));
|
||||||
foreach (var role in roles) sb.AppendLine($"- {role.WhiteListName}");
|
foreach (var role in roles) sb.AppendLine($"- {role.WhiteListName}");
|
||||||
await ReplyAsync(sb.ToString());
|
await ReplyAsync(sb.ToString());
|
||||||
}
|
}
|
||||||
|
@ -65,7 +61,6 @@ namespace Geekbot.net.Commands.Admin
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var transContext = await _translationHandler.GetGuildContext(Context);
|
|
||||||
var roleName = roleNameRaw.ToLower();
|
var roleName = roleNameRaw.ToLower();
|
||||||
var roleFromDb = _database.RoleSelfService.FirstOrDefault(e =>
|
var roleFromDb = _database.RoleSelfService.FirstOrDefault(e =>
|
||||||
e.GuildId.Equals(Context.Guild.Id.AsLong()) && e.WhiteListName.Equals(roleName));
|
e.GuildId.Equals(Context.Guild.Id.AsLong()) && e.WhiteListName.Equals(roleName));
|
||||||
|
@ -75,23 +70,23 @@ namespace Geekbot.net.Commands.Admin
|
||||||
var role = Context.Guild.Roles.First(r => r.Id == roleFromDb.RoleId.AsUlong());
|
var role = Context.Guild.Roles.First(r => r.Id == roleFromDb.RoleId.AsUlong());
|
||||||
if (role == null)
|
if (role == null)
|
||||||
{
|
{
|
||||||
await ReplyAsync(transContext.GetString("RoleNotFound"));
|
await ReplyAsync(Context.Translations.GetString("RoleNotFound"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (guildUser.RoleIds.Contains(role.Id))
|
if (guildUser.RoleIds.Contains(role.Id))
|
||||||
{
|
{
|
||||||
await guildUser.RemoveRoleAsync(role);
|
await guildUser.RemoveRoleAsync(role);
|
||||||
await ReplyAsync(transContext.GetString("RemovedUserFromRole", role.Name));
|
await ReplyAsync(Context.Translations.GetString("RemovedUserFromRole", role.Name));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
await guildUser.AddRoleAsync(role);
|
await guildUser.AddRoleAsync(role);
|
||||||
await ReplyAsync(transContext.GetString("AddedUserFromRole", role.Name));
|
await ReplyAsync(Context.Translations.GetString("AddedUserFromRole", role.Name));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
await ReplyAsync(transContext.GetString("RoleNotFound"));
|
await ReplyAsync(Context.Translations.GetString("RoleNotFound"));
|
||||||
}
|
}
|
||||||
catch (HttpException e)
|
catch (HttpException e)
|
||||||
{
|
{
|
||||||
|
@ -110,10 +105,9 @@ namespace Geekbot.net.Commands.Admin
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var transContext = await _translationHandler.GetGuildContext(Context);
|
|
||||||
if (role.IsManaged)
|
if (role.IsManaged)
|
||||||
{
|
{
|
||||||
await ReplyAsync(transContext.GetString("CannotAddManagedRole"));
|
await ReplyAsync(Context.Translations.GetString("CannotAddManagedRole"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -123,7 +117,7 @@ namespace Geekbot.net.Commands.Admin
|
||||||
|| role.Permissions.BanMembers
|
|| role.Permissions.BanMembers
|
||||||
|| role.Permissions.KickMembers)
|
|| role.Permissions.KickMembers)
|
||||||
{
|
{
|
||||||
await ReplyAsync(transContext.GetString("CannotAddDangerousRole"));
|
await ReplyAsync(Context.Translations.GetString("CannotAddDangerousRole"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -134,7 +128,7 @@ namespace Geekbot.net.Commands.Admin
|
||||||
WhiteListName = roleName
|
WhiteListName = roleName
|
||||||
});
|
});
|
||||||
await _database.SaveChangesAsync();
|
await _database.SaveChangesAsync();
|
||||||
await ReplyAsync(transContext.GetString("CannotAddDangerousRole", role.Name));
|
await ReplyAsync(Context.Translations.GetString("CannotAddDangerousRole", role.Name));
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
@ -149,18 +143,17 @@ namespace Geekbot.net.Commands.Admin
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var transContext = await _translationHandler.GetGuildContext(Context);
|
|
||||||
var roleFromDb = _database.RoleSelfService.FirstOrDefault(e =>
|
var roleFromDb = _database.RoleSelfService.FirstOrDefault(e =>
|
||||||
e.GuildId.Equals(Context.Guild.Id.AsLong()) && e.WhiteListName.Equals(roleName));
|
e.GuildId.Equals(Context.Guild.Id.AsLong()) && e.WhiteListName.Equals(roleName));
|
||||||
if (roleFromDb != null)
|
if (roleFromDb != null)
|
||||||
{
|
{
|
||||||
_database.RoleSelfService.Remove(roleFromDb);
|
_database.RoleSelfService.Remove(roleFromDb);
|
||||||
await _database.SaveChangesAsync();
|
await _database.SaveChangesAsync();
|
||||||
await ReplyAsync(transContext.GetString("RemovedRoleFromWhitelist", roleName));
|
await ReplyAsync(Context.Translations.GetString("RemovedRoleFromWhitelist", roleName));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
await ReplyAsync(transContext.GetString("RoleNotFound"));
|
await ReplyAsync(Context.Translations.GetString("RoleNotFound"));
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Discord.Commands;
|
using Discord.Commands;
|
||||||
|
@ -18,14 +18,12 @@ namespace Geekbot.net.Commands.Games
|
||||||
{
|
{
|
||||||
private readonly IErrorHandler _errorHandler;
|
private readonly IErrorHandler _errorHandler;
|
||||||
private readonly IAlmostRedis _redis;
|
private readonly IAlmostRedis _redis;
|
||||||
private readonly ITranslationHandler _translation;
|
|
||||||
private readonly DatabaseContext _database;
|
private readonly DatabaseContext _database;
|
||||||
private readonly IRandomNumberGenerator _randomNumberGenerator;
|
private readonly IRandomNumberGenerator _randomNumberGenerator;
|
||||||
|
|
||||||
public Roll(IAlmostRedis redis, IErrorHandler errorHandler, ITranslationHandler translation, DatabaseContext database, IRandomNumberGenerator randomNumberGenerator)
|
public Roll(IAlmostRedis redis, IErrorHandler errorHandler, DatabaseContext database, IRandomNumberGenerator randomNumberGenerator)
|
||||||
{
|
{
|
||||||
_redis = redis;
|
_redis = redis;
|
||||||
_translation = translation;
|
|
||||||
_database = database;
|
_database = database;
|
||||||
_randomNumberGenerator = randomNumberGenerator;
|
_randomNumberGenerator = randomNumberGenerator;
|
||||||
_errorHandler = errorHandler;
|
_errorHandler = errorHandler;
|
||||||
|
@ -40,7 +38,6 @@ namespace Geekbot.net.Commands.Games
|
||||||
var number = _randomNumberGenerator.Next(1, 100);
|
var number = _randomNumberGenerator.Next(1, 100);
|
||||||
var guess = 1000;
|
var guess = 1000;
|
||||||
int.TryParse(stuff, out guess);
|
int.TryParse(stuff, out guess);
|
||||||
var transContext = await _translation.GetGuildContext(Context);
|
|
||||||
if (guess <= 100 && guess > 0)
|
if (guess <= 100 && guess > 0)
|
||||||
{
|
{
|
||||||
var prevRoll = _redis.Db.HashGet($"{Context.Guild.Id}:RollsPrevious2", Context.Message.Author.Id).ToString()?.Split('|');
|
var prevRoll = _redis.Db.HashGet($"{Context.Guild.Id}:RollsPrevious2", Context.Message.Author.Id).ToString()?.Split('|');
|
||||||
|
@ -48,17 +45,17 @@ namespace Geekbot.net.Commands.Games
|
||||||
{
|
{
|
||||||
if (prevRoll[0] == guess.ToString() && DateTime.Parse(prevRoll[1]) > DateTime.Now.AddDays(-1))
|
if (prevRoll[0] == guess.ToString() && DateTime.Parse(prevRoll[1]) > DateTime.Now.AddDays(-1))
|
||||||
{
|
{
|
||||||
await ReplyAsync(transContext.GetString("NoPrevGuess", Context.Message.Author.Mention));
|
await ReplyAsync(Context.Translations.GetString("NoPrevGuess", Context.Message.Author.Mention));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_redis.Db.HashSet($"{Context.Guild.Id}:RollsPrevious2", new[] {new HashEntry(Context.Message.Author.Id, $"{guess}|{DateTime.Now}")});
|
_redis.Db.HashSet($"{Context.Guild.Id}:RollsPrevious2", new[] {new HashEntry(Context.Message.Author.Id, $"{guess}|{DateTime.Now}")});
|
||||||
|
|
||||||
await ReplyAsync(transContext.GetString("Rolled", Context.Message.Author.Mention, number, guess));
|
await ReplyAsync(Context.Translations.GetString("Rolled", Context.Message.Author.Mention, number, guess));
|
||||||
if (guess == number)
|
if (guess == number)
|
||||||
{
|
{
|
||||||
await ReplyAsync(transContext.GetString("Gratz", Context.Message.Author));
|
await ReplyAsync(Context.Translations.GetString("Gratz", Context.Message.Author));
|
||||||
_redis.Db.HashIncrement($"{Context.Guild.Id}:Rolls", Context.User.Id.ToString());
|
_redis.Db.HashIncrement($"{Context.Guild.Id}:Rolls", Context.User.Id.ToString());
|
||||||
var user = await GetUser(Context.User.Id);
|
var user = await GetUser(Context.User.Id);
|
||||||
user.Rolls += 1;
|
user.Rolls += 1;
|
||||||
|
@ -68,7 +65,7 @@ namespace Geekbot.net.Commands.Games
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
await ReplyAsync(transContext.GetString("RolledNoGuess", Context.Message.Author.Mention, number));
|
await ReplyAsync(Context.Translations.GetString("RolledNoGuess", Context.Message.Author.Mention, number));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
|
|
|
@ -20,14 +20,12 @@ namespace Geekbot.net.Commands.Rpg
|
||||||
{
|
{
|
||||||
private readonly DatabaseContext _database;
|
private readonly DatabaseContext _database;
|
||||||
private readonly IErrorHandler _errorHandler;
|
private readonly IErrorHandler _errorHandler;
|
||||||
private readonly ITranslationHandler _translation;
|
|
||||||
private readonly IRandomNumberGenerator _randomNumberGenerator;
|
private readonly IRandomNumberGenerator _randomNumberGenerator;
|
||||||
|
|
||||||
public Cookies(DatabaseContext database, IErrorHandler errorHandler, ITranslationHandler translation , IRandomNumberGenerator randomNumberGenerator)
|
public Cookies(DatabaseContext database, IErrorHandler errorHandler, IRandomNumberGenerator randomNumberGenerator)
|
||||||
{
|
{
|
||||||
_database = database;
|
_database = database;
|
||||||
_errorHandler = errorHandler;
|
_errorHandler = errorHandler;
|
||||||
_translation = translation;
|
|
||||||
_randomNumberGenerator = randomNumberGenerator;
|
_randomNumberGenerator = randomNumberGenerator;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,18 +35,17 @@ namespace Geekbot.net.Commands.Rpg
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var transContext = await _translation.GetGuildContext(Context);
|
|
||||||
var actor = await GetUser(Context.User.Id);
|
var actor = await GetUser(Context.User.Id);
|
||||||
if (actor.LastPayout.Value.AddHours(24) > DateTimeOffset.Now)
|
if (actor.LastPayout.Value.AddHours(24) > DateTimeOffset.Now)
|
||||||
{
|
{
|
||||||
var formatedWaitTime = transContext.FormatDateTimeAsRemaining(actor.LastPayout.Value.AddHours(24));
|
var formatedWaitTime = Context.Translations.FormatDateTimeAsRemaining(actor.LastPayout.Value.AddHours(24));
|
||||||
await ReplyAsync(transContext.GetString("WaitForMoreCookies", formatedWaitTime));
|
await ReplyAsync(Context.Translations.GetString("WaitForMoreCookies", formatedWaitTime));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
actor.Cookies += 10;
|
actor.Cookies += 10;
|
||||||
actor.LastPayout = DateTimeOffset.Now;
|
actor.LastPayout = DateTimeOffset.Now;
|
||||||
await SetUser(actor);
|
await SetUser(actor);
|
||||||
await ReplyAsync(transContext.GetString("GetCookies", 10, actor.Cookies));
|
await ReplyAsync(Context.Translations.GetString("GetCookies", 10, actor.Cookies));
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
|
@ -63,9 +60,8 @@ namespace Geekbot.net.Commands.Rpg
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var transContext = await _translation.GetGuildContext(Context);
|
|
||||||
var actor = await GetUser(Context.User.Id);
|
var actor = await GetUser(Context.User.Id);
|
||||||
await ReplyAsync(transContext.GetString("InYourJar", actor.Cookies));
|
await ReplyAsync(Context.Translations.GetString("InYourJar", actor.Cookies));
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
@ -79,12 +75,11 @@ namespace Geekbot.net.Commands.Rpg
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var transContext = await _translation.GetGuildContext(Context);
|
|
||||||
var giver = await GetUser(Context.User.Id);
|
var giver = await GetUser(Context.User.Id);
|
||||||
|
|
||||||
if (giver.Cookies < amount)
|
if (giver.Cookies < amount)
|
||||||
{
|
{
|
||||||
await ReplyAsync(transContext.GetString("NotEnoughToGive"));
|
await ReplyAsync(Context.Translations.GetString("NotEnoughToGive"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -96,7 +91,7 @@ namespace Geekbot.net.Commands.Rpg
|
||||||
await SetUser(giver);
|
await SetUser(giver);
|
||||||
await SetUser(taker);
|
await SetUser(taker);
|
||||||
|
|
||||||
await ReplyAsync(transContext.GetString("Given", amount, user.Username));
|
await ReplyAsync(Context.Translations.GetString("Given", amount, user.Username));
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
@ -110,12 +105,11 @@ namespace Geekbot.net.Commands.Rpg
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var transContext = await _translation.GetGuildContext(Context);
|
|
||||||
var actor = await GetUser(Context.User.Id);
|
var actor = await GetUser(Context.User.Id);
|
||||||
|
|
||||||
if (actor.Cookies < 5)
|
if (actor.Cookies < 5)
|
||||||
{
|
{
|
||||||
await ReplyAsync(transContext.GetString("NotEnoughCookiesToEat"));
|
await ReplyAsync(Context.Translations.GetString("NotEnoughCookiesToEat"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -124,7 +118,7 @@ namespace Geekbot.net.Commands.Rpg
|
||||||
|
|
||||||
await SetUser(actor);
|
await SetUser(actor);
|
||||||
|
|
||||||
await ReplyAsync(transContext.GetString("AteCookies", amount, actor.Cookies));
|
await ReplyAsync(Context.Translations.GetString("AteCookies", amount, actor.Cookies));
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -9,7 +9,6 @@ using Geekbot.net.Lib;
|
||||||
using Geekbot.net.Lib.CommandPreconditions;
|
using Geekbot.net.Lib.CommandPreconditions;
|
||||||
using Geekbot.net.Lib.ErrorHandling;
|
using Geekbot.net.Lib.ErrorHandling;
|
||||||
using Geekbot.net.Lib.Extensions;
|
using Geekbot.net.Lib.Extensions;
|
||||||
using Geekbot.net.Lib.Localization;
|
|
||||||
|
|
||||||
namespace Geekbot.net.Commands.User
|
namespace Geekbot.net.Commands.User
|
||||||
{
|
{
|
||||||
|
@ -18,13 +17,11 @@ namespace Geekbot.net.Commands.User
|
||||||
{
|
{
|
||||||
private readonly IErrorHandler _errorHandler;
|
private readonly IErrorHandler _errorHandler;
|
||||||
private readonly DatabaseContext _database;
|
private readonly DatabaseContext _database;
|
||||||
private readonly ITranslationHandler _translation;
|
|
||||||
|
|
||||||
public Karma(DatabaseContext database, IErrorHandler errorHandler, ITranslationHandler translation)
|
public Karma(DatabaseContext database, IErrorHandler errorHandler)
|
||||||
{
|
{
|
||||||
_database = database;
|
_database = database;
|
||||||
_errorHandler = errorHandler;
|
_errorHandler = errorHandler;
|
||||||
_translation = translation;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command("good", RunMode = RunMode.Async)]
|
[Command("good", RunMode = RunMode.Async)]
|
||||||
|
@ -33,16 +30,15 @@ namespace Geekbot.net.Commands.User
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var transContext = await _translation.GetGuildContext(Context);
|
|
||||||
var actor = await GetUser(Context.User.Id);
|
var actor = await GetUser(Context.User.Id);
|
||||||
if (user.Id == Context.User.Id)
|
if (user.Id == Context.User.Id)
|
||||||
{
|
{
|
||||||
await ReplyAsync(transContext.GetString("CannotChangeOwn", Context.User.Username));
|
await ReplyAsync(Context.Translations.GetString("CannotChangeOwn", Context.User.Username));
|
||||||
}
|
}
|
||||||
else if (TimeoutFinished(actor.TimeOut))
|
else if (TimeoutFinished(actor.TimeOut))
|
||||||
{
|
{
|
||||||
var formatedWaitTime = transContext.FormatDateTimeAsRemaining(actor.TimeOut.AddMinutes(3));
|
var formatedWaitTime = Context.Translations.FormatDateTimeAsRemaining(actor.TimeOut.AddMinutes(3));
|
||||||
await ReplyAsync(transContext.GetString("WaitUntill", Context.User.Username, formatedWaitTime));
|
await ReplyAsync(Context.Translations.GetString("WaitUntill", Context.User.Username, formatedWaitTime));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -61,10 +57,10 @@ namespace Geekbot.net.Commands.User
|
||||||
.WithName(user.Username));
|
.WithName(user.Username));
|
||||||
|
|
||||||
eb.WithColor(new Color(138, 219, 146));
|
eb.WithColor(new Color(138, 219, 146));
|
||||||
eb.Title = transContext.GetString("Increased");
|
eb.Title = Context.Translations.GetString("Increased");
|
||||||
eb.AddInlineField(transContext.GetString("By"), Context.User.Username);
|
eb.AddInlineField(Context.Translations.GetString("By"), Context.User.Username);
|
||||||
eb.AddInlineField(transContext.GetString("Amount"), "+1");
|
eb.AddInlineField(Context.Translations.GetString("Amount"), "+1");
|
||||||
eb.AddInlineField(transContext.GetString("Current"), target.Karma);
|
eb.AddInlineField(Context.Translations.GetString("Current"), target.Karma);
|
||||||
await ReplyAsync("", false, eb.Build());
|
await ReplyAsync("", false, eb.Build());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -80,16 +76,15 @@ namespace Geekbot.net.Commands.User
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var transContext = await _translation.GetGuildContext(Context);
|
|
||||||
var actor = await GetUser(Context.User.Id);
|
var actor = await GetUser(Context.User.Id);
|
||||||
if (user.Id == Context.User.Id)
|
if (user.Id == Context.User.Id)
|
||||||
{
|
{
|
||||||
await ReplyAsync(transContext.GetString("CannotChangeOwn", Context.User.Username));
|
await ReplyAsync(Context.Translations.GetString("CannotChangeOwn", Context.User.Username));
|
||||||
}
|
}
|
||||||
else if (TimeoutFinished(actor.TimeOut))
|
else if (TimeoutFinished(actor.TimeOut))
|
||||||
{
|
{
|
||||||
var formatedWaitTime = transContext.FormatDateTimeAsRemaining(actor.TimeOut.AddMinutes(3));
|
var formatedWaitTime = Context.Translations.FormatDateTimeAsRemaining(actor.TimeOut.AddMinutes(3));
|
||||||
await ReplyAsync(transContext.GetString("WaitUntill", Context.User.Username, formatedWaitTime));
|
await ReplyAsync(Context.Translations.GetString("WaitUntill", Context.User.Username, formatedWaitTime));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -108,10 +103,10 @@ namespace Geekbot.net.Commands.User
|
||||||
.WithName(user.Username));
|
.WithName(user.Username));
|
||||||
|
|
||||||
eb.WithColor(new Color(138, 219, 146));
|
eb.WithColor(new Color(138, 219, 146));
|
||||||
eb.Title = transContext.GetString("Decreased");
|
eb.Title = Context.Translations.GetString("Decreased");
|
||||||
eb.AddInlineField(transContext.GetString("By"), Context.User.Username);
|
eb.AddInlineField(Context.Translations.GetString("By"), Context.User.Username);
|
||||||
eb.AddInlineField(transContext.GetString("Amount"), "-1");
|
eb.AddInlineField(Context.Translations.GetString("Amount"), "-1");
|
||||||
eb.AddInlineField(transContext.GetString("Current"), target.Karma);
|
eb.AddInlineField(Context.Translations.GetString("Current"), target.Karma);
|
||||||
await ReplyAsync("", false, eb.Build());
|
await ReplyAsync("", false, eb.Build());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,20 +20,15 @@ namespace Geekbot.net.Commands.User.Ranking
|
||||||
{
|
{
|
||||||
private readonly IEmojiConverter _emojiConverter;
|
private readonly IEmojiConverter _emojiConverter;
|
||||||
private readonly IHighscoreManager _highscoreManager;
|
private readonly IHighscoreManager _highscoreManager;
|
||||||
private readonly ITranslationHandler _translationHandler;
|
|
||||||
private readonly IErrorHandler _errorHandler;
|
private readonly IErrorHandler _errorHandler;
|
||||||
private readonly DatabaseContext _database;
|
private readonly DatabaseContext _database;
|
||||||
private readonly IUserRepository _userRepository;
|
|
||||||
|
|
||||||
public Rank(DatabaseContext database, IErrorHandler errorHandler, IUserRepository userRepository,
|
public Rank(DatabaseContext database, IErrorHandler errorHandler, IEmojiConverter emojiConverter, IHighscoreManager highscoreManager)
|
||||||
IEmojiConverter emojiConverter, IHighscoreManager highscoreManager, ITranslationHandler translationHandler)
|
|
||||||
{
|
{
|
||||||
_database = database;
|
_database = database;
|
||||||
_errorHandler = errorHandler;
|
_errorHandler = errorHandler;
|
||||||
_userRepository = userRepository;
|
|
||||||
_emojiConverter = emojiConverter;
|
_emojiConverter = emojiConverter;
|
||||||
_highscoreManager = highscoreManager;
|
_highscoreManager = highscoreManager;
|
||||||
_translationHandler = translationHandler;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command("rank", RunMode = RunMode.Async)]
|
[Command("rank", RunMode = RunMode.Async)]
|
||||||
|
@ -43,7 +38,6 @@ namespace Geekbot.net.Commands.User.Ranking
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var transContext = await _translationHandler.GetGuildContext(Context);
|
|
||||||
HighscoreTypes type;
|
HighscoreTypes type;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -52,14 +46,14 @@ namespace Geekbot.net.Commands.User.Ranking
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
await ReplyAsync(transContext.GetString("InvalidType"));
|
await ReplyAsync(Context.Translations.GetString("InvalidType"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var replyBuilder = new StringBuilder();
|
var replyBuilder = new StringBuilder();
|
||||||
if (amount > 20)
|
if (amount > 20)
|
||||||
{
|
{
|
||||||
await ReplyAsync(transContext.GetString("LimitingTo20Warning"));
|
await ReplyAsync(Context.Translations.GetString("LimitingTo20Warning"));
|
||||||
amount = 20;
|
amount = 20;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -71,7 +65,7 @@ namespace Geekbot.net.Commands.User.Ranking
|
||||||
}
|
}
|
||||||
catch (HighscoreListEmptyException)
|
catch (HighscoreListEmptyException)
|
||||||
{
|
{
|
||||||
await ReplyAsync(transContext.GetString("NoTypeFoundForServer", type));
|
await ReplyAsync(Context.Translations.GetString("NoTypeFoundForServer", type));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,8 +80,8 @@ namespace Geekbot.net.Commands.User.Ranking
|
||||||
|
|
||||||
var failedToRetrieveUser = highscoreUsers.Any(e => string.IsNullOrEmpty(e.Key.Username));
|
var failedToRetrieveUser = highscoreUsers.Any(e => string.IsNullOrEmpty(e.Key.Username));
|
||||||
|
|
||||||
if (failedToRetrieveUser) replyBuilder.AppendLine(transContext.GetString("FailedToResolveAllUsernames"));
|
if (failedToRetrieveUser) replyBuilder.AppendLine(Context.Translations.GetString("FailedToResolveAllUsernames"));
|
||||||
replyBuilder.AppendLine(transContext.GetString("HighscoresFor", type.ToString().CapitalizeFirst(), Context.Guild.Name));
|
replyBuilder.AppendLine(Context.Translations.GetString("HighscoresFor", type.ToString().CapitalizeFirst(), Context.Guild.Name));
|
||||||
var highscorePlace = 1;
|
var highscorePlace = 1;
|
||||||
foreach (var user in highscoreUsers)
|
foreach (var user in highscoreUsers)
|
||||||
{
|
{
|
||||||
|
|
|
@ -10,12 +10,10 @@ namespace Geekbot.net.Commands.Utils
|
||||||
public class Choose : GeekbotBase
|
public class Choose : GeekbotBase
|
||||||
{
|
{
|
||||||
private readonly IErrorHandler _errorHandler;
|
private readonly IErrorHandler _errorHandler;
|
||||||
private readonly ITranslationHandler _translation;
|
|
||||||
|
|
||||||
public Choose(IErrorHandler errorHandler, ITranslationHandler translation)
|
public Choose(IErrorHandler errorHandler)
|
||||||
{
|
{
|
||||||
_errorHandler = errorHandler;
|
_errorHandler = errorHandler;
|
||||||
_translation = translation;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command("choose", RunMode = RunMode.Async)]
|
[Command("choose", RunMode = RunMode.Async)]
|
||||||
|
@ -25,10 +23,9 @@ namespace Geekbot.net.Commands.Utils
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var transContext = await _translation.GetGuildContext(Context);
|
|
||||||
var choicesArray = choices.Split(';');
|
var choicesArray = choices.Split(';');
|
||||||
var choice = new Random().Next(choicesArray.Length);
|
var choice = new Random().Next(choicesArray.Length);
|
||||||
await ReplyAsync(transContext.GetString("Choice", choicesArray[choice].Trim()));
|
await ReplyAsync(Context.Translations.GetString("Choice", choicesArray[choice].Trim()));
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -22,14 +22,12 @@ namespace Geekbot.net.Commands.Utils.Quote
|
||||||
private readonly IErrorHandler _errorHandler;
|
private readonly IErrorHandler _errorHandler;
|
||||||
private readonly DatabaseContext _database;
|
private readonly DatabaseContext _database;
|
||||||
private readonly IRandomNumberGenerator _randomNumberGenerator;
|
private readonly IRandomNumberGenerator _randomNumberGenerator;
|
||||||
private readonly ITranslationHandler _translationHandler;
|
|
||||||
|
|
||||||
public Quote(IErrorHandler errorHandler, DatabaseContext database, IRandomNumberGenerator randomNumberGenerator, ITranslationHandler translationHandler)
|
public Quote(IErrorHandler errorHandler, DatabaseContext database, IRandomNumberGenerator randomNumberGenerator)
|
||||||
{
|
{
|
||||||
_errorHandler = errorHandler;
|
_errorHandler = errorHandler;
|
||||||
_database = database;
|
_database = database;
|
||||||
_randomNumberGenerator = randomNumberGenerator;
|
_randomNumberGenerator = randomNumberGenerator;
|
||||||
_translationHandler = translationHandler;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command]
|
[Command]
|
||||||
|
@ -42,8 +40,7 @@ namespace Geekbot.net.Commands.Utils.Quote
|
||||||
|
|
||||||
if (!s.Any())
|
if (!s.Any())
|
||||||
{
|
{
|
||||||
var transContext = await _translationHandler.GetGuildContext(Context);
|
await ReplyAsync(Context.Translations.GetString("NoQuotesFound"));
|
||||||
await ReplyAsync(transContext.GetString("NoQuotesFound"));
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,16 +62,15 @@ namespace Geekbot.net.Commands.Utils.Quote
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var transContext = await _translationHandler.GetGuildContext(Context);
|
|
||||||
if (user.Id == Context.Message.Author.Id)
|
if (user.Id == Context.Message.Author.Id)
|
||||||
{
|
{
|
||||||
await ReplyAsync(transContext.GetString("CannotSaveOwnQuotes"));
|
await ReplyAsync(Context.Translations.GetString("CannotSaveOwnQuotes"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (user.IsBot)
|
if (user.IsBot)
|
||||||
{
|
{
|
||||||
await ReplyAsync(transContext.GetString("CannotQuoteBots"));
|
await ReplyAsync(Context.Translations.GetString("CannotQuoteBots"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,7 +82,7 @@ namespace Geekbot.net.Commands.Utils.Quote
|
||||||
await _database.SaveChangesAsync();
|
await _database.SaveChangesAsync();
|
||||||
|
|
||||||
var embed = QuoteBuilder(quote);
|
var embed = QuoteBuilder(quote);
|
||||||
await ReplyAsync(transContext.GetString("QuoteAdded"), false, embed.Build());
|
await ReplyAsync(Context.Translations.GetString("QuoteAdded"), false, embed.Build());
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
@ -101,17 +97,16 @@ namespace Geekbot.net.Commands.Utils.Quote
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var transContext = await _translationHandler.GetGuildContext(Context);
|
|
||||||
var message = await Context.Channel.GetMessageAsync(messageId);
|
var message = await Context.Channel.GetMessageAsync(messageId);
|
||||||
if (message.Author.Id == Context.Message.Author.Id)
|
if (message.Author.Id == Context.Message.Author.Id)
|
||||||
{
|
{
|
||||||
await ReplyAsync(transContext.GetString("CannotSaveOwnQuotes"));
|
await ReplyAsync(Context.Translations.GetString("CannotSaveOwnQuotes"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (message.Author.IsBot)
|
if (message.Author.IsBot)
|
||||||
{
|
{
|
||||||
await ReplyAsync(transContext.GetString("CannotQuoteBots"));
|
await ReplyAsync(Context.Translations.GetString("CannotQuoteBots"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -120,7 +115,7 @@ namespace Geekbot.net.Commands.Utils.Quote
|
||||||
await _database.SaveChangesAsync();
|
await _database.SaveChangesAsync();
|
||||||
|
|
||||||
var embed = QuoteBuilder(quote);
|
var embed = QuoteBuilder(quote);
|
||||||
await ReplyAsync(transContext.GetString("QuoteAdded"), false, embed.Build());
|
await ReplyAsync(Context.Translations.GetString("QuoteAdded"), false, embed.Build());
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
@ -175,18 +170,17 @@ namespace Geekbot.net.Commands.Utils.Quote
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var transContext = await _translationHandler.GetGuildContext(Context);
|
|
||||||
var quote = _database.Quotes.Where(e => e.GuildId == Context.Guild.Id.AsLong() && e.InternalId == id)?.FirstOrDefault();
|
var quote = _database.Quotes.Where(e => e.GuildId == Context.Guild.Id.AsLong() && e.InternalId == id)?.FirstOrDefault();
|
||||||
if (quote != null)
|
if (quote != null)
|
||||||
{
|
{
|
||||||
_database.Quotes.Remove(quote);
|
_database.Quotes.Remove(quote);
|
||||||
await _database.SaveChangesAsync();
|
await _database.SaveChangesAsync();
|
||||||
var embed = QuoteBuilder(quote);
|
var embed = QuoteBuilder(quote);
|
||||||
await ReplyAsync(transContext.GetString("Removed", id), false, embed.Build());
|
await ReplyAsync(Context.Translations.GetString("Removed", id), false, embed.Build());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
await ReplyAsync(transContext.GetString("NotFoundWithId"));
|
await ReplyAsync(Context.Translations.GetString("NotFoundWithId"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
|
|
Loading…
Reference in a new issue