Removed module projects because it can't work like that atm. Commented out package commands.
This commit is contained in:
		| @@ -0,0 +1,21 @@ | ||||
| using System.Threading.Tasks; | ||||
| using NadekoBot.Core.Services; | ||||
| using System.Collections.Concurrent; | ||||
| using NadekoBot.Modules.Gambling.Common.AnimalRacing; | ||||
|  | ||||
| namespace NadekoBot.Modules.Gambling.Services | ||||
| { | ||||
|     public class AnimalRaceService : INService, IUnloadableService | ||||
|     { | ||||
|         public ConcurrentDictionary<ulong, AnimalRace> AnimalRaces { get; } = new ConcurrentDictionary<ulong, AnimalRace>(); | ||||
|  | ||||
|         public Task Unload() | ||||
|         { | ||||
|             foreach (var kvp in AnimalRaces) | ||||
|             { | ||||
|                 try { kvp.Value.Dispose(); } catch { } | ||||
|             } | ||||
|             return Task.CompletedTask; | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,66 @@ | ||||
| using Discord; | ||||
| using Discord.Commands; | ||||
| using NadekoBot.Modules.Gambling.Common; | ||||
| using NadekoBot.Modules.Gambling.Common.CurrencyEvents; | ||||
| using NadekoBot.Core.Services; | ||||
| using System.Collections.Concurrent; | ||||
| using System.Collections.Generic; | ||||
| using System.Threading; | ||||
| using System.Threading.Tasks; | ||||
|  | ||||
| namespace NadekoBot.Modules.Gambling.Services | ||||
| { | ||||
|     public class CurrencyEventsService : INService, IUnloadableService | ||||
|     { | ||||
|         public ConcurrentDictionary<ulong, List<ReactionEvent>> ReactionEvents { get; } | ||||
|  | ||||
|         public SneakyEvent SneakyEvent { get; private set; } = null; | ||||
|         private SemaphoreSlim _sneakyLock = new SemaphoreSlim(1, 1); | ||||
|  | ||||
|         public CurrencyEventsService() | ||||
|         { | ||||
|             ReactionEvents = new ConcurrentDictionary<ulong, List<ReactionEvent>>(); | ||||
|         } | ||||
|  | ||||
|         public async Task<bool> StartSneakyEvent(SneakyEvent ev, IUserMessage msg, ICommandContext ctx) | ||||
|         { | ||||
|             await _sneakyLock.WaitAsync().ConfigureAwait(false); | ||||
|             try | ||||
|             { | ||||
|                 if (SneakyEvent != null) | ||||
|                     return false; | ||||
|  | ||||
|                 SneakyEvent = ev; | ||||
|                 ev.OnEnded += () => SneakyEvent = null; | ||||
|                 var _ = SneakyEvent.Start(msg, ctx).ConfigureAwait(false); | ||||
|             } | ||||
|             finally | ||||
|             { | ||||
|                 _sneakyLock.Release(); | ||||
|             } | ||||
|             return true; | ||||
|         } | ||||
|  | ||||
|         public async Task Unload() | ||||
|         { | ||||
|             foreach (var kvp in ReactionEvents) | ||||
|             { | ||||
|                 foreach (var ev in kvp.Value) | ||||
|                 { | ||||
|                     try { await ev.Stop().ConfigureAwait(false); } catch { } | ||||
|                 } | ||||
|             } | ||||
|             ReactionEvents.Clear(); | ||||
|  | ||||
|             await _sneakyLock.WaitAsync().ConfigureAwait(false); | ||||
|             try | ||||
|             { | ||||
|                 await SneakyEvent.Stop().ConfigureAwait(false); | ||||
|             } | ||||
|             finally | ||||
|             { | ||||
|                 _sneakyLock.Release(); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										12
									
								
								NadekoBot.Core/Modules/Gambling/Services/WaifuService.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								NadekoBot.Core/Modules/Gambling/Services/WaifuService.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| using NadekoBot.Core.Services; | ||||
| using System; | ||||
| using System.Collections.Concurrent; | ||||
|  | ||||
| namespace NadekoBot.Modules.Gambling.Services | ||||
| { | ||||
|     public class WaifuService : INService | ||||
|     { | ||||
|         public ConcurrentDictionary<ulong, DateTime> DivorceCooldowns { get; } = new ConcurrentDictionary<ulong, DateTime>(); | ||||
|         public ConcurrentDictionary<ulong, DateTime> AffinityCooldowns { get; } = new ConcurrentDictionary<ulong, DateTime>(); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user