You don't need a bot. But how would you properly do it more than once? Money withdrawals and deposits take long.
I know many people do it manually, I actually posted another thread about automating deposits and withdrawals, but I don't think its possible,
For me withdrawals and deposits take 10-15 mins, thats not too bad, price doesn't change too much in that time, you can manually arbitrage easily, I had a sick setup last time with a huge gap in LTCBTC so I wanted to give it a shot, (my 1st time) but I couldn't withdraw because your account has to be 3 days old on BTCE too withdraw, whatever,
You can arbitrage without withdraw/deposit,
if and only if the gap between 2 different exchanges is NOT constant. EDIT:
**(Obviously you'll withdraw after a while)
And also this method will not make you USD, it will make you LTC or BTC