public void OrderCancelled(CrossBot routine, string msg, bool faulted)
 {
     OnFinish?.Invoke(routine);
     Trader.SendMessageAsync($"Oops! Something has happened with your order: {msg}");
     if (!faulted)
     {
         CommandSentChannel.SendMessageAsync($"{Trader.Mention} - Your order has been cancelled: {msg}");
     }
 }
 public void TradeCanceled(PokeRoutineExecutor routine, PokeTradeDetail <T> info, PokeTradeResult msg)
 {
     OnFinish?.Invoke(routine);
     Trader.SendMessageAsync($"Trade canceled: {msg}").ConfigureAwait(false);
     if (msg == PokeTradeResult.NoTrainerFound)
     {
         CommandSentChannel.SendMessageAsync($"{Trader.Mention} - Something happened with your trade: {msg}. This has been reported.");
     }
 }