@@ -54,8 +54,14 @@ protected override async Task ExecuteAsync()
5454 {
5555 return ;
5656 }
57+ #region 黑名单地址处理
5758 var BlackList = _configuration . GetSection ( "BlackList" ) . Get < string [ ] > ( ) ?? new string [ 0 ] ;
59+ var PublicBlackList = _configuration . GetSection ( "PublicBlackList" ) . Get < List < PublicBlackList > > ( ) ?? new List < PublicBlackList > ( ) ;
60+ BlackList = BlackList . Concat ( PublicBlackList . Select ( x => x . Address ) ) . Distinct ( ) . ToArray ( ) ;
61+ #endregion
62+ var start = DateTime . Now . AddDays ( - 1 ) ; //仅查询一天内的交易
5863 var Orders = await _repository
64+ . Where ( x => x . CreateTime >= start )
5965 . Where ( x => x . OriginalCurrency == Currency . USDT )
6066 . Where ( x => x . Status == Status . Pending )
6167 . Where ( x => x . OriginalAmount >= UpdateHandlers . MinUSDT )
@@ -154,15 +160,6 @@ await _botClient.SendTextMessageAsync(bind.UserId, $@"<b>我们已向您发送{r
154160 }
155161 if ( AdminUserId > 0 )
156162 {
157- var _myTronConfig = provider . GetRequiredService < IOptionsSnapshot < MyTronConfig > > ( ) ;
158- var _wallet = provider . GetRequiredService < IWalletClient > ( ) ;
159- var protocol = _wallet . GetProtocol ( ) ;
160- var addr = _wallet . ParseAddress ( _myTronConfig . Value . Address ) ;
161- var account = await protocol . GetAccountAsync ( new TronNet . Protocol . Account
162- {
163- Address = addr
164- } ) ;
165- var TRX = Convert . ToDecimal ( account . Balance ) / 1_000_000L ;
166163
167164 await _botClient . SendTextMessageAsync ( AdminUserId , $@ "<b>{ record . ConvertCurrency } 出账通知!({ record . OriginalAmount : #.######} { record . OriginalCurrency } -> { record . ConvertAmount : #.######} { record . ConvertCurrency } )</b>
168165
@@ -171,10 +168,32 @@ await _botClient.SendTextMessageAsync(AdminUserId, $@"<b>{record.ConvertCurrency
171168转出:<b>{ record . ConvertAmount : #.######} { record . ConvertCurrency } </b>
172169时间:<b>{ record . PayTime : yyyy-MM-dd HH:mm:ss} </b>
173170地址:<code>{ record . FromAddress } </code>
174- -----------------------------
175- 余额:<b>{ TRX } TRX</b>
176- 已用带宽:<b>{ account . FreeNetUsage + account . NetUsage } </b>
177171" , Bot . Types . Enums . ParseMode . Html , replyMarkup : inlineKeyboard ) ;
172+ #pragma warning disable CS4014
173+ Task . Run ( async ( ) =>
174+ {
175+ await Task . Delay ( 5000 ) ; //确保数据准确,延迟5秒再查询
176+ var _myTronConfig = provider . GetRequiredService < IOptionsSnapshot < MyTronConfig > > ( ) ;
177+ var _wallet = provider . GetRequiredService < IWalletClient > ( ) ;
178+ var _contractClientFactory = provider . GetRequiredService < IContractClientFactory > ( ) ;
179+ var protocol = _wallet . GetProtocol ( ) ;
180+ var addr = _wallet . ParseAddress ( _myTronConfig . Value . Address ) ;
181+ var account = await protocol . GetAccountAsync ( new TronNet . Protocol . Account
182+ {
183+ Address = addr
184+ } ) ;
185+ var TRX = Convert . ToDecimal ( account . Balance ) / 1_000_000L ;
186+ var contractAddress = _myTronConfig . Value . USDTContractAddress ;
187+ var contractClient = _contractClientFactory . CreateClient ( ContractProtocol . TRC20 ) ;
188+ var USDT = await contractClient . BalanceOfAsync ( contractAddress , _wallet . GetAccount ( _myTronConfig . Value . PrivateKey ) ) ;
189+
190+ await _botClient . SendTextMessageAsync ( AdminUserId , $@ "<b>当前余额</b>
191+
192+ TRX余额:<b>{ TRX } TRX</b>
193+ USDT余额:<b>{ USDT } USDT</b>
194+ " , Bot . Types . Enums . ParseMode . Html , replyMarkup : inlineKeyboard ) ;
195+ } ) ;
196+ #pragma warning restore CS4014
178197 }
179198 }
180199 else
0 commit comments