Draw commands done
This commit is contained in:
		@@ -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>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user