Extract bot launch from main