waifu game completely localizable?
This commit is contained in:
parent
b287321712
commit
1517143248
@ -3,13 +3,11 @@ using Discord.Commands;
|
|||||||
using NadekoBot.Attributes;
|
using NadekoBot.Attributes;
|
||||||
using NadekoBot.Extensions;
|
using NadekoBot.Extensions;
|
||||||
using NadekoBot.Services;
|
using NadekoBot.Services;
|
||||||
using NadekoBot.Services.Database;
|
|
||||||
using NadekoBot.Services.Database.Models;
|
using NadekoBot.Services.Database.Models;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace NadekoBot.Modules.Gambling
|
namespace NadekoBot.Modules.Gambling
|
||||||
@ -49,8 +47,8 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
[Group]
|
[Group]
|
||||||
public class WaifuClaimCommands : NadekoSubmodule
|
public class WaifuClaimCommands : NadekoSubmodule
|
||||||
{
|
{
|
||||||
private static ConcurrentDictionary<ulong, DateTime> _divorceCooldowns { get; } = new ConcurrentDictionary<ulong, DateTime>();
|
private static ConcurrentDictionary<ulong, DateTime> divorceCooldowns { get; } = new ConcurrentDictionary<ulong, DateTime>();
|
||||||
private static ConcurrentDictionary<ulong, DateTime> _affinityCooldowns { get; } = new ConcurrentDictionary<ulong, DateTime>();
|
private static ConcurrentDictionary<ulong, DateTime> affinityCooldowns { get; } = new ConcurrentDictionary<ulong, DateTime>();
|
||||||
|
|
||||||
enum WaifuClaimResult
|
enum WaifuClaimResult
|
||||||
{
|
{
|
||||||
@ -65,20 +63,19 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
{
|
{
|
||||||
if (amount < 50)
|
if (amount < 50)
|
||||||
{
|
{
|
||||||
await Context.Channel.SendErrorAsync($"{Context.User.Mention} No waifu is that cheap. You must pay at least 50{NadekoBot.BotConfig.CurrencySign} to get a waifu, even if their actual value is lower.").ConfigureAwait(false);
|
await ReplyErrorLocalized("waifu_isnt_cheap", 50 + CurrencySign).ConfigureAwait(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (target.Id == Context.User.Id)
|
if (target.Id == Context.User.Id)
|
||||||
{
|
{
|
||||||
await Context.Channel.SendErrorAsync(Context.User.Mention + " You can't claim yourself.").ConfigureAwait(false);
|
await ReplyErrorLocalized("waifu_not_yourself").ConfigureAwait(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
WaifuClaimResult result = WaifuClaimResult.NotEnoughFunds;
|
WaifuClaimResult result;
|
||||||
int? oldPrice = null;
|
|
||||||
WaifuInfo w;
|
WaifuInfo w;
|
||||||
var isAffinity = false;
|
bool isAffinity;
|
||||||
using (var uow = DbHandler.UnitOfWork())
|
using (var uow = DbHandler.UnitOfWork())
|
||||||
{
|
{
|
||||||
w = uow.Waifus.ByWaifuUserId(target.Id);
|
w = uow.Waifus.ByWaifuUserId(target.Id);
|
||||||
@ -120,7 +117,6 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
{
|
{
|
||||||
var oldClaimer = w.Claimer;
|
var oldClaimer = w.Claimer;
|
||||||
w.Claimer = uow.DiscordUsers.GetOrCreate(Context.User);
|
w.Claimer = uow.DiscordUsers.GetOrCreate(Context.User);
|
||||||
oldPrice = w.Price;
|
|
||||||
w.Price = amount + (amount / 4);
|
w.Price = amount + (amount / 4);
|
||||||
result = WaifuClaimResult.Success;
|
result = WaifuClaimResult.Success;
|
||||||
|
|
||||||
@ -143,7 +139,6 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
{
|
{
|
||||||
var oldClaimer = w.Claimer;
|
var oldClaimer = w.Claimer;
|
||||||
w.Claimer = uow.DiscordUsers.GetOrCreate(Context.User);
|
w.Claimer = uow.DiscordUsers.GetOrCreate(Context.User);
|
||||||
oldPrice = w.Price;
|
|
||||||
w.Price = amount;
|
w.Price = amount;
|
||||||
result = WaifuClaimResult.Success;
|
result = WaifuClaimResult.Success;
|
||||||
|
|
||||||
@ -165,22 +160,20 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
|
|
||||||
if (result == WaifuClaimResult.InsufficientAmount)
|
if (result == WaifuClaimResult.InsufficientAmount)
|
||||||
{
|
{
|
||||||
await Context.Channel.SendErrorAsync($"{Context.User.Mention} You must pay {Math.Ceiling(w.Price * (isAffinity ? 0.88f : 1.1f))} or more to claim that waifu!").ConfigureAwait(false);
|
await ReplyErrorLocalized("waifu_not_enough", Math.Ceiling(w.Price * (isAffinity ? 0.88f : 1.1f))).ConfigureAwait(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (result == WaifuClaimResult.NotEnoughFunds)
|
if (result == WaifuClaimResult.NotEnoughFunds)
|
||||||
{
|
{
|
||||||
await Context.Channel.SendConfirmAsync($"{Context.User.Mention} you don't have {amount}{NadekoBot.BotConfig.CurrencySign}!")
|
await ReplyErrorLocalized("not_enough", CurrencySign).ConfigureAwait(false);
|
||||||
.ConfigureAwait(false);
|
return;
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var msg = $"{Context.User.Mention} claimed {target.Mention} as their waifu for {amount}{NadekoBot.BotConfig.CurrencySign}!";
|
|
||||||
if (w.Affinity?.UserId == Context.User.Id)
|
|
||||||
msg += $"\n🎉 Their love is fulfilled! 🎉\n**{target}'s** new value is {w.Price}{NadekoBot.BotConfig.CurrencySign}!";
|
|
||||||
await Context.Channel.SendConfirmAsync(msg)
|
|
||||||
.ConfigureAwait(false);
|
|
||||||
}
|
}
|
||||||
|
var msg = GetText("waifu_claimed",
|
||||||
|
Format.Bold(target.ToString()),
|
||||||
|
amount + CurrencySign);
|
||||||
|
if (w.Affinity?.UserId == Context.User.Id)
|
||||||
|
msg += "\n" + GetText("waifu_fulfilled", target, w.Price + CurrencySign);
|
||||||
|
await Context.Channel.SendConfirmAsync(Context.User.Mention + msg).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum DivorceResult
|
public enum DivorceResult
|
||||||
@ -192,7 +185,7 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private static readonly TimeSpan DivorceLimit = TimeSpan.FromHours(6);
|
private static readonly TimeSpan _divorceLimit = TimeSpan.FromHours(6);
|
||||||
[NadekoCommand, Usage, Description, Aliases]
|
[NadekoCommand, Usage, Description, Aliases]
|
||||||
[RequireContext(ContextType.Guild)]
|
[RequireContext(ContextType.Guild)]
|
||||||
public async Task Divorce([Remainder]IUser target)
|
public async Task Divorce([Remainder]IUser target)
|
||||||
@ -200,19 +193,19 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
if (target.Id == Context.User.Id)
|
if (target.Id == Context.User.Id)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var result = DivorceResult.NotYourWife;
|
DivorceResult result;
|
||||||
TimeSpan difference = TimeSpan.Zero;
|
var difference = TimeSpan.Zero;
|
||||||
var amount = 0;
|
var amount = 0;
|
||||||
WaifuInfo w = null;
|
WaifuInfo w = null;
|
||||||
using (var uow = DbHandler.UnitOfWork())
|
using (var uow = DbHandler.UnitOfWork())
|
||||||
{
|
{
|
||||||
w = uow.Waifus.ByWaifuUserId(target.Id);
|
w = uow.Waifus.ByWaifuUserId(target.Id);
|
||||||
var now = DateTime.UtcNow;
|
var now = DateTime.UtcNow;
|
||||||
if (w == null || w.Claimer == null || w.Claimer.UserId != Context.User.Id)
|
if (w?.Claimer == null || w.Claimer.UserId != Context.User.Id)
|
||||||
result = DivorceResult.NotYourWife;
|
result = DivorceResult.NotYourWife;
|
||||||
else if (_divorceCooldowns.AddOrUpdate(Context.User.Id,
|
else if (divorceCooldowns.AddOrUpdate(Context.User.Id,
|
||||||
now,
|
now,
|
||||||
(key, old) => ((difference = now.Subtract(old)) > DivorceLimit) ? now : old) != now)
|
(key, old) => ((difference = now.Subtract(old)) > _divorceLimit) ? now : old) != now)
|
||||||
{
|
{
|
||||||
result = DivorceResult.Cooldown;
|
result = DivorceResult.Cooldown;
|
||||||
}
|
}
|
||||||
@ -249,37 +242,39 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
|
|
||||||
if (result == DivorceResult.SucessWithPenalty)
|
if (result == DivorceResult.SucessWithPenalty)
|
||||||
{
|
{
|
||||||
await Context.Channel.SendConfirmAsync($"{Context.User.Mention} You have divorced a waifu who likes you. You heartless monster.\n{w.Waifu} received {amount}{NadekoBot.BotConfig.CurrencySign} as a compensation.").ConfigureAwait(false);
|
await ReplyConfirmLocalized("waifu_divorced_like", Format.Bold(w.Waifu.ToString()), amount + CurrencySign).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
else if (result == DivorceResult.Success)
|
else if (result == DivorceResult.Success)
|
||||||
{
|
{
|
||||||
await Context.Channel.SendConfirmAsync($"{Context.User.Mention} You have divorced a waifu who doesn't like you. You received {amount}{NadekoBot.BotConfig.CurrencySign} back.").ConfigureAwait(false);
|
await ReplyConfirmLocalized("waifu_divorced_notlike", amount + CurrencySign).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
else if (result == DivorceResult.NotYourWife)
|
else if (result == DivorceResult.NotYourWife)
|
||||||
{
|
{
|
||||||
await Context.Channel.SendErrorAsync($"{Context.User.Mention} That waifu is not yours.").ConfigureAwait(false);
|
await ReplyErrorLocalized("waifu_not_yours").ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var remaining = DivorceLimit.Subtract(difference);
|
var remaining = _divorceLimit.Subtract(difference);
|
||||||
await Context.Channel.SendErrorAsync($"{Context.User.Mention} You divorced recently. You must wait **{remaining.Hours} hours and {remaining.Minutes} minutes** to divorce again.").ConfigureAwait(false);
|
await ReplyErrorLocalized("waifu_recent_divorce",
|
||||||
|
Format.Bold(((int)remaining.TotalHours).ToString()),
|
||||||
|
Format.Bold(remaining.Minutes.ToString())).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static readonly TimeSpan AffinityLimit = TimeSpan.FromMinutes(30);
|
private static readonly TimeSpan _affinityLimit = TimeSpan.FromMinutes(30);
|
||||||
[NadekoCommand, Usage, Description, Aliases]
|
[NadekoCommand, Usage, Description, Aliases]
|
||||||
[RequireContext(ContextType.Guild)]
|
[RequireContext(ContextType.Guild)]
|
||||||
public async Task WaifuClaimerAffinity([Remainder]IUser u = null)
|
public async Task WaifuClaimerAffinity([Remainder]IUser u = null)
|
||||||
{
|
{
|
||||||
if (u?.Id == Context.User.Id)
|
if (u?.Id == Context.User.Id)
|
||||||
{
|
{
|
||||||
await Context.Channel.SendErrorAsync($"{Context.User.Mention} you can't set affinity to yourself, you egomaniac.").ConfigureAwait(false);
|
await ReplyErrorLocalized("waifu_egomaniac").ConfigureAwait(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
DiscordUser oldAff = null;
|
DiscordUser oldAff = null;
|
||||||
var sucess = false;
|
var sucess = false;
|
||||||
var cooldown = false;
|
var cooldown = false;
|
||||||
TimeSpan difference = TimeSpan.Zero;
|
var difference = TimeSpan.Zero;
|
||||||
using (var uow = DbHandler.UnitOfWork())
|
using (var uow = DbHandler.UnitOfWork())
|
||||||
{
|
{
|
||||||
var w = uow.Waifus.ByWaifuUserId(Context.User.Id);
|
var w = uow.Waifus.ByWaifuUserId(Context.User.Id);
|
||||||
@ -287,13 +282,11 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
var now = DateTime.UtcNow;
|
var now = DateTime.UtcNow;
|
||||||
if (w?.Affinity?.UserId == u?.Id)
|
if (w?.Affinity?.UserId == u?.Id)
|
||||||
{
|
{
|
||||||
sucess = false;
|
|
||||||
}
|
}
|
||||||
else if (_affinityCooldowns.AddOrUpdate(Context.User.Id,
|
else if (affinityCooldowns.AddOrUpdate(Context.User.Id,
|
||||||
now,
|
now,
|
||||||
(key, old) => ((difference = now.Subtract(old)) > AffinityLimit) ? now : old) != now)
|
(key, old) => ((difference = now.Subtract(old)) > _affinityLimit) ? now : old) != now)
|
||||||
{
|
{
|
||||||
sucess = false;
|
|
||||||
cooldown = true;
|
cooldown = true;
|
||||||
}
|
}
|
||||||
else if (w == null)
|
else if (w == null)
|
||||||
@ -338,19 +331,29 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
{
|
{
|
||||||
if (cooldown)
|
if (cooldown)
|
||||||
{
|
{
|
||||||
var remaining = AffinityLimit.Subtract(difference);
|
var remaining = _affinityLimit.Subtract(difference);
|
||||||
await Context.Channel.SendErrorAsync($"{Context.User.Mention} You must wait **{remaining.Hours} hours and {remaining.Minutes} minutes** in order to change your affinity again.").ConfigureAwait(false);
|
await ReplyErrorLocalized("waifu_affinity_cooldown",
|
||||||
|
Format.Bold(((int)remaining.TotalHours).ToString()),
|
||||||
|
Format.Bold(remaining.Minutes.ToString())).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
await Context.Channel.SendErrorAsync($"{Context.User.Mention} your affinity is already set to that waifu or you're trying to remove your affinity while not having one.").ConfigureAwait(false);
|
{
|
||||||
|
await ReplyErrorLocalized("waifu_affinity_already").ConfigureAwait(false);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (u == null)
|
if (u == null)
|
||||||
await Context.Channel.SendConfirmAsync("Affinity Reset", $"{Context.User.Mention} Your affinity is reset. You no longer have a person you like.").ConfigureAwait(false);
|
{
|
||||||
|
await ReplyConfirmLocalized("waifu_affinity_reset").ConfigureAwait(false);
|
||||||
|
}
|
||||||
else if (oldAff == null)
|
else if (oldAff == null)
|
||||||
await Context.Channel.SendConfirmAsync("Affinity Set", $"{Context.User.Mention} wants to be {u.Mention}'s waifu. Aww <3").ConfigureAwait(false);
|
{
|
||||||
|
await ReplyConfirmLocalized("waifu_affinity_set", Format.Bold(u.ToString())).ConfigureAwait(false);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
await Context.Channel.SendConfirmAsync("Affinity Changed", $"{Context.User.Mention} changed their affinity from {oldAff} to {u.Mention}.\n\n*This is morally questionable.*🤔").ConfigureAwait(false);
|
{
|
||||||
|
await ReplyConfirmLocalized("waifu_affinity_changed", Format.Bold(oldAff.ToString()), Format.Bold(u.ToString())).ConfigureAwait(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[NadekoCommand, Usage, Description, Aliases]
|
[NadekoCommand, Usage, Description, Aliases]
|
||||||
@ -365,19 +368,20 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
|
|
||||||
if (waifus.Count == 0)
|
if (waifus.Count == 0)
|
||||||
{
|
{
|
||||||
await Context.Channel.SendConfirmAsync("No waifus have been claimed yet.").ConfigureAwait(false);
|
await ReplyConfirmLocalized("waifu_none").ConfigureAwait(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var embed = new EmbedBuilder()
|
var embed = new EmbedBuilder()
|
||||||
.WithTitle("Top Waifus")
|
.WithTitle(GetText("waifus_top_waifus"))
|
||||||
.WithOkColor();
|
.WithOkColor();
|
||||||
|
|
||||||
for (int i = 0; i < waifus.Count; i++)
|
for (var i = 0; i < waifus.Count; i++)
|
||||||
{
|
{
|
||||||
var w = waifus[i];
|
var w = waifus[i];
|
||||||
|
|
||||||
embed.AddField(efb => efb.WithName("#" + (i + 1) + " - " + w.Price + NadekoBot.BotConfig.CurrencySign).WithValue(w.ToString()).WithIsInline(false));
|
var j = i;
|
||||||
|
embed.AddField(efb => efb.WithName("#" + (j + 1) + " - " + w.Price + NadekoBot.BotConfig.CurrencySign).WithValue(w.ToString()).WithIsInline(false));
|
||||||
}
|
}
|
||||||
|
|
||||||
await Context.Channel.EmbedAsync(embed).ConfigureAwait(false);
|
await Context.Channel.EmbedAsync(embed).ConfigureAwait(false);
|
||||||
@ -419,15 +423,16 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
var claimInfo = GetClaimTitle(target.Id);
|
var claimInfo = GetClaimTitle(target.Id);
|
||||||
var affInfo = GetAffinityTitle(target.Id);
|
var affInfo = GetAffinityTitle(target.Id);
|
||||||
|
|
||||||
|
var nobody = GetText("nobody");
|
||||||
var embed = new EmbedBuilder()
|
var embed = new EmbedBuilder()
|
||||||
.WithOkColor()
|
.WithOkColor()
|
||||||
.WithTitle("Waifu " + w.Waifu + " - \"the " + claimInfo.Title + "\"")
|
.WithTitle("Waifu " + w.Waifu + " - \"the " + claimInfo.Title + "\"")
|
||||||
.AddField(efb => efb.WithName("Price").WithValue(w.Price.ToString()).WithIsInline(true))
|
.AddField(efb => efb.WithName(GetText("price")).WithValue(w.Price.ToString()).WithIsInline(true))
|
||||||
.AddField(efb => efb.WithName("Claimed by").WithValue(w.Claimer?.ToString() ?? "No one").WithIsInline(true))
|
.AddField(efb => efb.WithName(GetText("claimed_by")).WithValue(w.Claimer?.ToString() ?? nobody).WithIsInline(true))
|
||||||
.AddField(efb => efb.WithName("Likes").WithValue(w.Affinity?.ToString() ?? "Nobody").WithIsInline(true))
|
.AddField(efb => efb.WithName(GetText("likes")).WithValue(w.Affinity?.ToString() ?? nobody).WithIsInline(true))
|
||||||
.AddField(efb => efb.WithName("Changes Of Heart").WithValue($"{affInfo.Count} - \"the {affInfo.Title}\"").WithIsInline(true))
|
.AddField(efb => efb.WithName(GetText("changes_of_heart")).WithValue($"{affInfo.Count} - \"the {affInfo.Title}\"").WithIsInline(true))
|
||||||
.AddField(efb => efb.WithName("Divorces").WithValue(divorces.ToString()).WithIsInline(true))
|
.AddField(efb => efb.WithName(GetText("divorces")).WithValue(divorces.ToString()).WithIsInline(true))
|
||||||
.AddField(efb => efb.WithName($"Waifus ({claims.Count})").WithValue(claims.Count == 0 ? "Nobody" : string.Join("\n", claims.Select(x => x.Waifu))).WithIsInline(true));
|
.AddField(efb => efb.WithName($"Waifus ({claims.Count})").WithValue(claims.Count == 0 ? nobody : string.Join("\n", claims.Select(x => x.Waifu))).WithIsInline(true));
|
||||||
|
|
||||||
await Context.Channel.EmbedAsync(embed).ConfigureAwait(false);
|
await Context.Channel.EmbedAsync(embed).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
@ -447,13 +452,13 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
|
|
||||||
private static WaifuProfileTitle GetClaimTitle(ulong userId)
|
private static WaifuProfileTitle GetClaimTitle(ulong userId)
|
||||||
{
|
{
|
||||||
int count = 0;
|
int count;
|
||||||
using (var uow = DbHandler.UnitOfWork())
|
using (var uow = DbHandler.UnitOfWork())
|
||||||
{
|
{
|
||||||
count = uow.Waifus.ByClaimerUserId(userId).Count;
|
count = uow.Waifus.ByClaimerUserId(userId).Count;
|
||||||
}
|
}
|
||||||
|
|
||||||
ClaimTitles title = ClaimTitles.Lonely;
|
ClaimTitles title;
|
||||||
if (count == 0)
|
if (count == 0)
|
||||||
title = ClaimTitles.Lonely;
|
title = ClaimTitles.Lonely;
|
||||||
else if (count == 1)
|
else if (count == 1)
|
||||||
@ -484,13 +489,13 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
|
|
||||||
private static WaifuProfileTitle GetAffinityTitle(ulong userId)
|
private static WaifuProfileTitle GetAffinityTitle(ulong userId)
|
||||||
{
|
{
|
||||||
int count = 0;
|
int count;
|
||||||
using (var uow = DbHandler.UnitOfWork())
|
using (var uow = DbHandler.UnitOfWork())
|
||||||
{
|
{
|
||||||
count = uow._context.WaifuUpdates.Count(w => w.User.UserId == userId && w.UpdateType == WaifuUpdateType.AffinityChanged);
|
count = uow._context.WaifuUpdates.Count(w => w.User.UserId == userId && w.UpdateType == WaifuUpdateType.AffinityChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
AffinityTitles title = AffinityTitles.Pure;
|
AffinityTitles title;
|
||||||
if (count < 1)
|
if (count < 1)
|
||||||
title = AffinityTitles.Pure;
|
title = AffinityTitles.Pure;
|
||||||
else if (count < 2)
|
else if (count < 2)
|
||||||
|
@ -127,7 +127,7 @@ namespace NadekoBot.Modules.Searches
|
|||||||
.WithIconUrl("http://i.imgur.com/G46fm8J.png"))
|
.WithIconUrl("http://i.imgur.com/G46fm8J.png"))
|
||||||
.WithDescription(res.Link)
|
.WithDescription(res.Link)
|
||||||
.WithImageUrl(res.Link)
|
.WithImageUrl(res.Link)
|
||||||
.WithTitle(Context.User.Mention);
|
.WithTitle(Context.User.ToString());
|
||||||
await Context.Channel.EmbedAsync(embed).ConfigureAwait(false);
|
await Context.Channel.EmbedAsync(embed).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
@ -157,7 +157,7 @@ namespace NadekoBot.Modules.Searches
|
|||||||
.WithIconUrl("http://s.imgur.com/images/logo-1200-630.jpg?"))
|
.WithIconUrl("http://s.imgur.com/images/logo-1200-630.jpg?"))
|
||||||
.WithDescription(source)
|
.WithDescription(source)
|
||||||
.WithImageUrl(source)
|
.WithImageUrl(source)
|
||||||
.WithTitle(Context.User.Mention);
|
.WithTitle(Context.User.ToString());
|
||||||
await Context.Channel.EmbedAsync(embed).ConfigureAwait(false);
|
await Context.Channel.EmbedAsync(embed).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -179,7 +179,7 @@ namespace NadekoBot.Modules.Searches
|
|||||||
.WithIconUrl("http://i.imgur.com/G46fm8J.png"))
|
.WithIconUrl("http://i.imgur.com/G46fm8J.png"))
|
||||||
.WithDescription(res.Link)
|
.WithDescription(res.Link)
|
||||||
.WithImageUrl(res.Link)
|
.WithImageUrl(res.Link)
|
||||||
.WithTitle(Context.User.Mention);
|
.WithTitle(Context.User.ToString());
|
||||||
await Context.Channel.EmbedAsync(embed).ConfigureAwait(false);
|
await Context.Channel.EmbedAsync(embed).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
@ -210,7 +210,7 @@ namespace NadekoBot.Modules.Searches
|
|||||||
.WithIconUrl("http://s.imgur.com/images/logo-1200-630.jpg?"))
|
.WithIconUrl("http://s.imgur.com/images/logo-1200-630.jpg?"))
|
||||||
.WithDescription(source)
|
.WithDescription(source)
|
||||||
.WithImageUrl(source)
|
.WithImageUrl(source)
|
||||||
.WithTitle(Context.User.Mention);
|
.WithTitle(Context.User.ToString());
|
||||||
await Context.Channel.EmbedAsync(embed).ConfigureAwait(false);
|
await Context.Channel.EmbedAsync(embed).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
204
src/NadekoBot/Resources/ResponseStrings.Designer.cs
generated
204
src/NadekoBot/Resources/ResponseStrings.Designer.cs
generated
@ -2198,6 +2198,24 @@ namespace NadekoBot.Resources {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Changes Of Heart.
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_changes_of_heart {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_changes_of_heart", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Claimed By.
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_claimed_by {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_claimed_by", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Deck reshuffled..
|
/// Looks up a localized string similar to Deck reshuffled..
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -2234,6 +2252,15 @@ namespace NadekoBot.Resources {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Divorces.
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_divorces {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_divorces", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to You guessed it! You won {0}.
|
/// Looks up a localized string similar to You guessed it! You won {0}.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -2324,6 +2351,15 @@ namespace NadekoBot.Resources {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Likes.
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_likes {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_likes", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Awarded {0} to {1} users from {2} role..
|
/// Looks up a localized string similar to Awarded {0} to {1} users from {2} role..
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -2369,6 +2405,15 @@ namespace NadekoBot.Resources {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Price.
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_price {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_price", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Failed starting the race. Another race is probably running..
|
/// Looks up a localized string similar to Failed starting the race. Another race is probably running..
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -2406,7 +2451,7 @@ namespace NadekoBot.Resources {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to second_larger_than_first.
|
/// Looks up a localized string similar to Second number must be larger than the first one..
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static string gambling_second_larger_than_first {
|
public static string gambling_second_larger_than_first {
|
||||||
get {
|
get {
|
||||||
@ -2523,6 +2568,163 @@ namespace NadekoBot.Resources {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to your affinity is already set to that waifu or you're trying to remove your affinity while not having one..
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_waifu_affinity_already {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_waifu_affinity_already", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to changed their affinity from {0} to {1}.
|
||||||
|
///
|
||||||
|
///*This is morally questionable.*🤔.
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_waifu_affinity_changed {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_waifu_affinity_changed", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to You must wait {0} hours and {1} minutes in order to change your affinity again..
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_waifu_affinity_cooldown {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_waifu_affinity_cooldown", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Your affinity is reset. You no longer have a person you like..
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_waifu_affinity_reset {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_waifu_affinity_reset", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to wants to be {0}'s waifu. Aww <3.
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_waifu_affinity_set {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_waifu_affinity_set", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to claimed {0} as their waifu for {1}!.
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_waifu_claimed {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_waifu_claimed", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to You have divorced a waifu who likes you. You heartless monster.
|
||||||
|
///{0} received {1} as a compensation..
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_waifu_divorced_like {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_waifu_divorced_like", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to You have divorced a waifu who doesn't like you. You received {0} back..
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_waifu_divorced_not_like {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_waifu_divorced_not_like", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to you can't set affinity to yourself, you egomaniac..
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_waifu_egomaniac {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_waifu_egomaniac", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to 🎉 Their love is fulfilled! 🎉
|
||||||
|
///{0}'s new value is {1}!.
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_waifu_fulfilled {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_waifu_fulfilled", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to No waifu is that cheap. You must pay at least {0} to get a waifu, even if their actual value is lower..
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_waifu_isnt_cheap {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_waifu_isnt_cheap", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to You must pay {0} or more to claim that waifu!.
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_waifu_not_enough {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_waifu_not_enough", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to That waifu is not yours..
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_waifu_not_yours {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_waifu_not_yours", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to You can't claim yourself..
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_waifu_not_yourself {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_waifu_not_yourself", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to You divorced recently. You must wait {0} hours and {1} minutes to divorce again..
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_waifu_recent_divorce {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_waifu_recent_divorce", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to No waifus have been claimed yet..
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_waifus_none {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_waifus_none", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Top Waifus.
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_waifus_top_waifus {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_waifus_top_waifus", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Back to ToC.
|
/// Looks up a localized string similar to Back to ToC.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -1073,10 +1073,95 @@ Don't forget to leave your discord name or id in the message.
|
|||||||
<data name="gambling_animal_race_won_money" xml:space="preserve">
|
<data name="gambling_animal_race_won_money" xml:space="preserve">
|
||||||
<value>{0} as {1} Won the race and {2}!</value>
|
<value>{0} as {1} Won the race and {2}!</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="gambling_dice_invalid_number" xml:space="preserve">
|
||||||
|
<value>Invalid number specified. You can roll up to {0}-{1} dice at a time.</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_dice_rolled" xml:space="preserve">
|
||||||
|
<value>rolled {0}</value>
|
||||||
|
<comment>Someone rolled 35</comment>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_dice_rolled_num" xml:space="preserve">
|
||||||
|
<value>Dice rolled: {1}</value>
|
||||||
|
<comment>Dice Rolled: 5</comment>
|
||||||
|
</data>
|
||||||
<data name="gambling_race_failed_starting" xml:space="preserve">
|
<data name="gambling_race_failed_starting" xml:space="preserve">
|
||||||
<value>Failed starting the race. Another race is probably running.</value>
|
<value>Failed starting the race. Another race is probably running.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="gambling_race_not_exist" xml:space="preserve">
|
<data name="gambling_race_not_exist" xml:space="preserve">
|
||||||
<value>No race exists on this server</value>
|
<value>No race exists on this server</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="gambling_second_larger_than_first" xml:space="preserve">
|
||||||
|
<value>Second number must be larger than the first one.</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_changes_of_heart" xml:space="preserve">
|
||||||
|
<value>Changes Of Heart</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_claimed_by" xml:space="preserve">
|
||||||
|
<value>Claimed By</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_divorces" xml:space="preserve">
|
||||||
|
<value>Divorces</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_likes" xml:space="preserve">
|
||||||
|
<value>Likes</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_price" xml:space="preserve">
|
||||||
|
<value>Price</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_waifus_none" xml:space="preserve">
|
||||||
|
<value>No waifus have been claimed yet.</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_waifus_top_waifus" xml:space="preserve">
|
||||||
|
<value>Top Waifus</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_waifu_affinity_already" xml:space="preserve">
|
||||||
|
<value>your affinity is already set to that waifu or you're trying to remove your affinity while not having one.</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_waifu_affinity_changed" xml:space="preserve">
|
||||||
|
<value>changed their affinity from {0} to {1}.
|
||||||
|
|
||||||
|
*This is morally questionable.*🤔</value>
|
||||||
|
<comment>Make sure to get the formatting right, and leave the thinking emoji</comment>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_waifu_affinity_cooldown" xml:space="preserve">
|
||||||
|
<value>You must wait {0} hours and {1} minutes in order to change your affinity again.</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_waifu_affinity_reset" xml:space="preserve">
|
||||||
|
<value>Your affinity is reset. You no longer have a person you like.</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_waifu_affinity_set" xml:space="preserve">
|
||||||
|
<value>wants to be {0}'s waifu. Aww <3</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_waifu_claimed" xml:space="preserve">
|
||||||
|
<value>claimed {0} as their waifu for {1}!</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_waifu_divorced_like" xml:space="preserve">
|
||||||
|
<value>You have divorced a waifu who likes you. You heartless monster.
|
||||||
|
{0} received {1} as a compensation.</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_waifu_divorced_not_like" xml:space="preserve">
|
||||||
|
<value>You have divorced a waifu who doesn't like you. You received {0} back.</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_waifu_egomaniac" xml:space="preserve">
|
||||||
|
<value>you can't set affinity to yourself, you egomaniac.</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_waifu_fulfilled" xml:space="preserve">
|
||||||
|
<value>🎉 Their love is fulfilled! 🎉
|
||||||
|
{0}'s new value is {1}!</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_waifu_isnt_cheap" xml:space="preserve">
|
||||||
|
<value>No waifu is that cheap. You must pay at least {0} to get a waifu, even if their actual value is lower.</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_waifu_not_enough" xml:space="preserve">
|
||||||
|
<value>You must pay {0} or more to claim that waifu!</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_waifu_not_yours" xml:space="preserve">
|
||||||
|
<value>That waifu is not yours.</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_waifu_not_yourself" xml:space="preserve">
|
||||||
|
<value>You can't claim yourself.</value>
|
||||||
|
</data>
|
||||||
|
<data name="gambling_waifu_recent_divorce" xml:space="preserve">
|
||||||
|
<value>You divorced recently. You must wait {0} hours and {1} minutes to divorce again.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
Loading…
Reference in New Issue
Block a user