1) if (!error) {
...
}
проверяем, есть ли ошибки, 520 ошибка благополучно отработает.
2) if(response) {
...
}
проверяем есть ли ответ
3) if (body && body.bots) {
...
}
проверяем, есть ли в ответе данные и в этих данных bots
ну... как бы вам надо не туториал читать, а мануал по тому api, который вы хотите подключить.
А если подключать из фронтенда, то вообще, без разницы, на ноде сайт написан или на php, или на java.
Наверное, уже не актуально, но все таки...
Почему бы не прописать в БД пользователю этот самый ID комнаты?
При обновлении страницы происходит запрос к БД, откуда и получается комната, в которой происходит игра.