Fixed bugs with currency again
This commit is contained in:
		| @@ -75,7 +75,7 @@ namespace NadekoBot.Modules.Gambling | ||||
|             var success = await CurrencyHandler.RemoveCurrencyAsync((IGuildUser)umsg.Author, $"Gift to {receiver.Username} ({receiver.Id}).", amount, true).ConfigureAwait(false); | ||||
|             if (!success) | ||||
|             { | ||||
|                 await channel.SendMessageAsync($"{umsg.Author.Mention} You don't have enough {Gambling.CurrencyPluralName}s.").ConfigureAwait(false); | ||||
|                 await channel.SendMessageAsync($"{umsg.Author.Mention} You don't have enough {Gambling.CurrencyPluralName}.").ConfigureAwait(false); | ||||
|                 return; | ||||
|             } | ||||
|             await CurrencyHandler.AddCurrencyAsync(receiver, $"Gift from {umsg.Author.Username} ({umsg.Author.Id}).", amount, true).ConfigureAwait(false); | ||||
| @@ -136,12 +136,12 @@ namespace NadekoBot.Modules.Gambling | ||||
|             long userFlowers; | ||||
|             using (var uow = DbHandler.UnitOfWork()) | ||||
|             { | ||||
|                 userFlowers = uow.Currency.GetOrCreate(umsg.Id).Amount; | ||||
|                 userFlowers = uow.Currency.GetOrCreate(umsg.Author.Id).Amount; | ||||
|             } | ||||
|  | ||||
|             if (userFlowers < amount) | ||||
|             { | ||||
|                 await channel.SendMessageAsync($"{guildUser.Mention} You don't have enough {Gambling.CurrencyName}s. You only have {userFlowers}{Gambling.CurrencySign}.").ConfigureAwait(false); | ||||
|                 await channel.SendMessageAsync($"{guildUser.Mention} You don't have enough {Gambling.CurrencyPluralName}. You only have {userFlowers}{Gambling.CurrencySign}.").ConfigureAwait(false); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|   | ||||
| @@ -27,7 +27,7 @@ namespace NadekoBot.Modules.Games | ||||
|         /// https://discord.gg/0TYNJfCU4De7YIk8 | ||||
|         /// </summary> | ||||
|         [Group] | ||||
|         public class PlantPick | ||||
|         public class PlantPickCommands | ||||
|         { | ||||
|  | ||||
|             private Random rng; | ||||
| @@ -41,7 +41,7 @@ namespace NadekoBot.Modules.Games | ||||
|             private float chance; | ||||
|             private int cooldown; | ||||
|  | ||||
|             public PlantPick() | ||||
|             public PlantPickCommands() | ||||
|             { | ||||
|                 NadekoBot.Client.MessageReceived += PotentialFlowerGeneration; | ||||
|                 rng = new Random(); | ||||
| @@ -113,14 +113,14 @@ namespace NadekoBot.Modules.Games | ||||
|  | ||||
|                 List<IUserMessage> msgs; | ||||
|  | ||||
|                 await imsg.DeleteAsync().ConfigureAwait(false); | ||||
|                 try { await imsg.DeleteAsync().ConfigureAwait(false); } catch { } | ||||
|                 if (!plantedFlowers.TryRemove(channel.Id, out msgs)) | ||||
|                     return; | ||||
|  | ||||
|                 await Task.WhenAll(msgs.Select(toDelete => toDelete.DeleteAsync())).ConfigureAwait(false); | ||||
|  | ||||
|                 await CurrencyHandler.AddCurrencyAsync((IGuildUser)imsg.Author, "Picked a flower.", 1, false).ConfigureAwait(false); | ||||
|                 var msg = await channel.SendMessageAsync($"**{imsg.Author.Username}** picked a {Gambling.Gambling.CurrencyName}!").ConfigureAwait(false); | ||||
|                 await CurrencyHandler.AddCurrencyAsync((IGuildUser)imsg.Author, "Picked flower(s).", msgs.Count, false).ConfigureAwait(false); | ||||
|                 var msg = await channel.SendMessageAsync($"**{imsg.Author.Username}** picked {msgs.Count}{Gambling.Gambling.CurrencySign}!").ConfigureAwait(false); | ||||
|                 var t = Task.Run(async () => | ||||
|                  { | ||||
|                      try | ||||
| @@ -143,7 +143,7 @@ namespace NadekoBot.Modules.Games | ||||
|                 var removed = await CurrencyHandler.RemoveCurrencyAsync((IGuildUser)imsg.Author, "Planted a flower.", 1, false).ConfigureAwait(false); | ||||
|                 if (!removed) | ||||
|                 { | ||||
|                     await channel.SendMessageAsync($"You don't have any {Gambling.Gambling.CurrencyName}s.").ConfigureAwait(false); | ||||
|                     await channel.SendMessageAsync($"You don't have any {Gambling.Gambling.CurrencyPluralName}.").ConfigureAwait(false); | ||||
|                     return; | ||||
|                 } | ||||
|  | ||||
|   | ||||
| @@ -44,8 +44,8 @@ namespace NadekoBot | ||||
|             Commands = new CommandService(); | ||||
|             Localizer = new Localization(); | ||||
|             Google = new GoogleApiService(); | ||||
|             Stats = new StatsService(Client); | ||||
|             CommandHandler = new CommandHandler(Client, Commands); | ||||
|             Stats = new StatsService(Client, CommandHandler); | ||||
|             _log = LogManager.GetCurrentClassLogger(); | ||||
|  | ||||
|             //setup DI | ||||
|   | ||||
| @@ -15,7 +15,7 @@ namespace NadekoBot.Services.Database.Models | ||||
|         public bool ForwardMessages { get; set; } = true; | ||||
|         public bool ForwardToAllOwners { get; set; } = true; | ||||
|  | ||||
|         public float CurrencyGenerationChance { get; set; } = 0.1f; | ||||
|         public float CurrencyGenerationChance { get; set; } = 0.02f; | ||||
|         public int CurrencyGenerationCooldown { get; set; } = 10; | ||||
|  | ||||
|         public List<ModulePrefix> ModulePrefixes { get; set; } = new List<ModulePrefix>() | ||||
|   | ||||
| @@ -15,19 +15,21 @@ namespace NadekoBot.Services.Impl | ||||
|         private int messageCounter; | ||||
|         private DiscordSocketClient client; | ||||
|         private DateTime started; | ||||
|         private int commandsRan = 0; | ||||
|  | ||||
|         public string BotVersion => "1.0-alpha"; | ||||
|  | ||||
|         public string Heap => Math.Round((double)GC.GetTotalMemory(false) / 1.MiB(), 2).ToString(); | ||||
|  | ||||
|  | ||||
|         public StatsService(DiscordSocketClient client) | ||||
|         public StatsService(DiscordSocketClient client, CommandHandler cmdHandler) | ||||
|         { | ||||
|  | ||||
|             this.client = client; | ||||
|  | ||||
|             Reset(); | ||||
|             this.client.MessageReceived += _ => Task.FromResult(messageCounter++); | ||||
|             cmdHandler.CommandExecuted += (_, e) => commandsRan++; | ||||
|  | ||||
|             this.client.Disconnected += _ => Reset(); | ||||
|         } | ||||
| @@ -37,6 +39,7 @@ namespace NadekoBot.Services.Impl | ||||
| `Owners' Ids: {string.Join(", ", NadekoBot.Credentials.OwnerIds)}` | ||||
| `Uptime: {GetUptimeString()}` | ||||
| `Servers: {client.GetGuilds().Count} | TextChannels: {client.GetGuilds().SelectMany(g => g.GetChannels().Where(c => c is ITextChannel)).Count()} | VoiceChannels: {client.GetGuilds().SelectMany(g => g.GetChannels().Where(c => c is IVoiceChannel)).Count()}` | ||||
| `Commands Ran this session: {commandsRan}` | ||||
| `Messages: {messageCounter} ({messageCounter / (double)GetUptime().TotalSeconds:F2}/sec)` `Heap: {Heap} MB`"); | ||||
|  | ||||
|         public Task Reset() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user