Ну вам нужно ловить исключения с помощью try ... catch. Куда его воткнуть в этой дичи колбэков я без понятия, но примерно подозреваю что вокруг "return $client->request...".
Вернуться в нормальное состояние "git checkout master"
Удалить последний (крайний) коммит "git reset --hard HEAD~1"
Удалить в середине "git rebase -i" а дальше читайте мануалы что там прописывать.
Ну и соответственно после манипуляций "git push -f"
Не скажу про вайбер, но знаю про телеграм, вы или локально сами имитируете запросы на свой вэбхук, или сами проверяете обновления (т.е. вы дергаете их апи чтоб узнать пришли ли новые сообщения)
$stmt->bind_param("s", $email)
Почему "s" если у вас там вопросительный знак и должен быть "0"? Включите вывод ошибок и посмотрите что у вас в реальности получается в sql, у вас в запросе ошибка, и я подозреваю что из-за неправильного бинда.