JSON_UNESCAPED_UNICODE для функции json_encode, При декоде вы в любом случае должны получить обычный текст независимо от того кодировали его с JSON_UNESCAPED_UNICODE или нет.
Возвращаемые значения:
Возвращает ассоциативный массив нестатических свойств объекта object, доступных в данной области видимости. Замечание:
Неинициализированные свойства считаются недоступными и поэтому не включаются в массив.
Вы неправильно читаете, в начале пакета идет размер текущего сообщения, нужно смотреть этот размер и после этого читать нужное кол-во байт. Лишнее оставлять для следующего пакета. Пакеты не всегда приходят в целом виде.
У вас расчеты вообще не похожи на те формулы на какие вы ссылаетесь, нужно использовать скользящие средние, указывать период расчета. В итоге у вас должно быть 366-14 расчетных результатов, а не одно что вы насчитали.
Потому что вы установили лимит времени ожидания, лимит истёк, в потоках ничего не изменилось, функция вернула пустой результат. Уберите лимит и она будет ждать пока что-то изменится и тогда вернет потоки на которых произошли изменения.
У меня была проблема с производительностью при переходе на mysql8, проблема была в том что в 8-ой версии по-умолчанию включен бинлог. Чтоб его выключить нужно в конфиге прописать
Не уверен что такое возможно, есть сильно отличающиеся номера кошельков, а есть на одинаковом движке так сказать (если не ошибаюсь то BTC и LTC). И у них могут пересекаться номера кошельков.
Ну вам нужно ловить исключения с помощью try ... catch. Куда его воткнуть в этой дичи колбэков я без понятия, но примерно подозреваю что вокруг "return $client->request...".
Не скажу про вайбер, но знаю про телеграм, вы или локально сами имитируете запросы на свой вэбхук, или сами проверяете обновления (т.е. вы дергаете их апи чтоб узнать пришли ли новые сообщения)