44using API . Util ;
55using DotNetBungieAPI . Extensions ;
66using DotNetBungieAPI . Models . Destiny ;
7+ using DotNetBungieAPI . Models . Destiny . Definitions . InventoryItems ;
78using DotNetBungieAPI . Service . Abstractions ;
89using Microsoft . EntityFrameworkCore ;
910using static DotNetBungieAPI . HashReferences . DefinitionHashes ;
11+ using UserExtensions = API . Util . UserExtensions ;
1012
1113namespace API . Tasks ;
1214
@@ -35,6 +37,9 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken)
3537
3638 TaskSchedulerService . Tasks . First ( t => t . Name == ServiceName ) . IsRunning = true ;
3739
40+ var nfAdept = string . Empty ;
41+ var trialsAdept = string . Empty ;
42+
3843 try
3944 {
4045 var vendorUser = db . Users . Include ( u => u . BungieProfiles )
@@ -120,6 +125,23 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken)
120125 "FetchWeaponVendors" , vendorWeapon ) ;
121126
122127 db . WeaponSales . Add ( vendorItem ) ;
128+
129+ var validDef = bungieClient . TryGetDefinition < DestinyInventoryItemDefinition > (
130+ vendorWeapon , out var adeptWeaponDef ) ;
131+
132+ switch ( vendor . Key )
133+ {
134+ case Vendors . FocusedDecoding_502095006 :
135+ trialsAdept = validDef
136+ ? adeptWeaponDef . DisplayProperties . Name
137+ : "Unknown" ;
138+ break ;
139+ case Vendors . FocusedDecoding_2232145065 :
140+ nfAdept = validDef
141+ ? adeptWeaponDef . DisplayProperties . Name
142+ : "Unknown" ;
143+ break ;
144+ }
123145 }
124146 else
125147 {
@@ -140,10 +162,23 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken)
140162 logger . LogInformation ( "[{service}]: No adept weapon found." , "FetchWeaponVendors" ) ;
141163
142164 db . WeaponSales . Add ( vendorItem ) ;
165+
166+ switch ( vendor . Value )
167+ {
168+ case Vendors . FocusedDecoding_502095006 :
169+ trialsAdept = "None" ;
170+ break ;
171+ case Vendors . FocusedDecoding_2232145065 :
172+ nfAdept = "None" ;
173+ break ;
174+ }
143175 }
144176 }
145177
146178 await db . SaveChangesAsync ( stoppingToken ) ;
179+
180+ await DiscordTools . SendMessage ( DiscordTools . WebhookChannel . Vendors ,
181+ $ "**Trials Adept:** { trialsAdept } \n **Nightfall Adept:** { nfAdept } ") ;
147182 }
148183 }
149184 catch ( Exception e )
@@ -154,7 +189,7 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken)
154189 TaskSchedulerService . Tasks . First ( t => t . Name == ServiceName ) . IsRunning = false ;
155190 TaskSchedulerService . Tasks . First ( t => t . Name == ServiceName ) . LastRun = DateTime . UtcNow ;
156191
157- await Task . Delay ( DateTimeExtensions . GetRoundTimeSpan ( 60 ) , stoppingToken ) ;
192+ await bungieClient . ResetService . WaitForNextDailyReset ( TimeSpan . FromMinutes ( 1 ) , stoppingToken ) ;
158193 }
159194 }
160195}
0 commit comments