Draw commands done
This commit is contained in:
parent
45f69bac58
commit
5ed0ee4ef8
@ -4,8 +4,6 @@ using ImageSharp;
|
|||||||
using NadekoBot.Attributes;
|
using NadekoBot.Attributes;
|
||||||
using NadekoBot.Extensions;
|
using NadekoBot.Extensions;
|
||||||
using NadekoBot.Modules.Gambling.Models;
|
using NadekoBot.Modules.Gambling.Models;
|
||||||
using NLog;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
@ -19,15 +17,15 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
[Group]
|
[Group]
|
||||||
public class DrawCommands : NadekoSubmodule
|
public class DrawCommands : NadekoSubmodule
|
||||||
{
|
{
|
||||||
private static readonly ConcurrentDictionary<IGuild, Cards> AllDecks = new ConcurrentDictionary<IGuild, Cards>();
|
private static readonly ConcurrentDictionary<IGuild, Cards> _allDecks = new ConcurrentDictionary<IGuild, Cards>();
|
||||||
|
|
||||||
private const string cardsPath = "data/images/cards";
|
private const string _cardsPath = "data/images/cards";
|
||||||
|
|
||||||
[NadekoCommand, Usage, Description, Aliases]
|
[NadekoCommand, Usage, Description, Aliases]
|
||||||
[RequireContext(ContextType.Guild)]
|
[RequireContext(ContextType.Guild)]
|
||||||
public async Task Draw(int num = 1)
|
public async Task Draw(int num = 1)
|
||||||
{
|
{
|
||||||
var cards = AllDecks.GetOrAdd(Context.Guild, (s) => new Cards());
|
var cards = _allDecks.GetOrAdd(Context.Guild, (s) => new Cards());
|
||||||
var images = new List<Image>();
|
var images = new List<Image>();
|
||||||
var cardObjects = new List<Cards.Card>();
|
var cardObjects = new List<Cards.Card>();
|
||||||
if (num > 5) num = 5;
|
if (num > 5) num = 5;
|
||||||
@ -35,12 +33,19 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
{
|
{
|
||||||
if (cards.CardPool.Count == 0 && i != 0)
|
if (cards.CardPool.Count == 0 && i != 0)
|
||||||
{
|
{
|
||||||
try { await Context.Channel.SendErrorAsync("No more cards in a deck.").ConfigureAwait(false); } catch { }
|
try
|
||||||
|
{
|
||||||
|
await ReplyErrorLocalized("no_more_cards").ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
// ignored
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
var currentCard = cards.DrawACard();
|
var currentCard = cards.DrawACard();
|
||||||
cardObjects.Add(currentCard);
|
cardObjects.Add(currentCard);
|
||||||
using (var stream = File.OpenRead(Path.Combine(cardsPath, currentCard.ToString().ToLowerInvariant()+ ".jpg").Replace(' ','_')))
|
using (var stream = File.OpenRead(Path.Combine(_cardsPath, currentCard.ToString().ToLowerInvariant()+ ".jpg").Replace(' ','_')))
|
||||||
images.Add(new Image(stream));
|
images.Add(new Image(stream));
|
||||||
}
|
}
|
||||||
MemoryStream bitmapStream = new MemoryStream();
|
MemoryStream bitmapStream = new MemoryStream();
|
||||||
@ -59,7 +64,7 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
{
|
{
|
||||||
//var channel = (ITextChannel)Context.Channel;
|
//var channel = (ITextChannel)Context.Channel;
|
||||||
|
|
||||||
AllDecks.AddOrUpdate(Context.Guild,
|
_allDecks.AddOrUpdate(Context.Guild,
|
||||||
(g) => new Cards(),
|
(g) => new Cards(),
|
||||||
(g, c) =>
|
(g, c) =>
|
||||||
{
|
{
|
||||||
@ -67,7 +72,7 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
return c;
|
return c;
|
||||||
});
|
});
|
||||||
|
|
||||||
await Context.Channel.SendConfirmAsync("Deck reshuffled.").ConfigureAwait(false);
|
await ReplyConfirmLocalized("deck_reshuffled").ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
18
src/NadekoBot/Resources/ResponseStrings.Designer.cs
generated
18
src/NadekoBot/Resources/ResponseStrings.Designer.cs
generated
@ -2108,6 +2108,15 @@ namespace NadekoBot.Resources {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Deck reshuffled..
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_deck_reshuffled {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_deck_reshuffled", 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>
|
||||||
@ -2198,6 +2207,15 @@ namespace NadekoBot.Resources {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to No more cards in the deck..
|
||||||
|
/// </summary>
|
||||||
|
public static string gambling_no_more_cards {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("gambling_no_more_cards", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to You don't have enough {0}.
|
/// Looks up a localized string similar to You don't have enough {0}.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -882,6 +882,9 @@ Reason: {1}</value>
|
|||||||
<data name="gambling_br_win" xml:space="preserve">
|
<data name="gambling_br_win" xml:space="preserve">
|
||||||
<value>Congratulations! You won {0} for rolling above {1}</value>
|
<value>Congratulations! You won {0} for rolling above {1}</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="gambling_deck_reshuffled" xml:space="preserve">
|
||||||
|
<value>Deck reshuffled.</value>
|
||||||
|
</data>
|
||||||
<data name="gambling_flipped" xml:space="preserve">
|
<data name="gambling_flipped" xml:space="preserve">
|
||||||
<value>flipped {0}.</value>
|
<value>flipped {0}.</value>
|
||||||
<comment>User flipped tails.</comment>
|
<comment>User flipped tails.</comment>
|
||||||
@ -918,6 +921,9 @@ Reason: {1}</value>
|
|||||||
<data name="gambling_not_enough" xml:space="preserve">
|
<data name="gambling_not_enough" xml:space="preserve">
|
||||||
<value>You don't have enough {0}</value>
|
<value>You don't have enough {0}</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="gambling_no_more_cards" xml:space="preserve">
|
||||||
|
<value>No more cards in the deck.</value>
|
||||||
|
</data>
|
||||||
<data name="gambling_raffled_user" xml:space="preserve">
|
<data name="gambling_raffled_user" xml:space="preserve">
|
||||||
<value>Raffled User</value>
|
<value>Raffled User</value>
|
||||||
</data>
|
</data>
|
||||||
|
Loading…
Reference in New Issue
Block a user