Да и, с учётом действий Роскомнадзора, оповещения в Телеграм могут работать не очень хорошо. ВК - хороший вариант для первой интеграции
Вид для печати
Да и, с учётом действий Роскомнадзора, оповещения в Телеграм могут работать не очень хорошо. ВК - хороший вариант для первой интеграции
Сообщения, приходящие от сервера на мою почту, к примеру на яндекс, могут идти как от одной секунды, так и до часа по времени.
Все зависит от загруженности почтового сервера.
Но есть еще и вопросы к тому, от имени какой почты отправляется письмо с логами. Если это ноунейм, то может как вообще не прийти, так и попасть в папку спам, так и идти дольше "известных" почтовых серверов. К примеру, ранее, в мобильном клиенте яндекс почты, количество писем в папке спам не отображалось, как и не выводилось во всплывающем уведомлении.
Лучше всего будет реализовать нормальный плагин с возможностью выбора: отправлять по почте или же смс сообщением.
Это проблемы либо почтового сервера, либо хостинга веб-сайта, на котором расположен PHP-скрипт для отправки сообщений (и возможно, вебмастера, не предпринимающего мер по снижению нагрузки от сайта). В любом случае, едва ли это относится к самому инклуду.
Если же это к тому, что теряется точное время ошибки, то в следующей версии инклуда я добавлю вывод времени в самом начале текста сообщения.
Проверял на mail.ru - если в параметре "DC_CRASHREPORT_EMAIL_SENDER" ввести валидный адрес отправителя, письмо не попадало в спам. Впрочем, в первой версии инклуда я сделал параметр опциональным (при его отсутствии в графе "отправитель" указывается "CrashReport" и в этом случае письма могут улететь в спам) - в следующей версии сделаю его обязательным, чтобы не сбивать пользователей с толку.
Ок, здесь возможны 2 варианта:
- Плагин без "горы" (на самом деле всего 2) зависимостей, повторяющий в себе функционал из CrashDetect (и одновременно с CrashDetect его не поюзаешь).
- Никаких велосипедов; делаем так, чтобы плагин взаимодействовал с CrashDetect и YSF. Но тогда код взаимодействия придётся делать (сюрприз-сюрприз!) всё в том же инклуде, а в плагине останется только код отправки сообщений.
Ну и стоит ли оно того?
В одну SMS-ку текст ошибки не уместишь, не говоря уже о том, что отправка может стоить денег.
Про смс скажу, что достаточно лишь оповещения, что есть ошибка и информация о ней отправлена на почту. Платить или не платить - удел владельца. Не так ли?
Про плагин: все зависит от фантазии автора, т.е. только тебя. Кортез, ты спросил про советы, я их даю. Принимать или нет, остается за тобой.
Немного не по теме, но чтобы не пропустить сообщения крашдетекта помогает установка crashdetect_log в server.cfg.
Пример
Тогда все сообщения крашдетекта будут помещаться в отдельный файл.Код:crashdetect_log crashlog.txt
Обновление 1.1.0.
- Добавлена возможность вывода трассировки стека для диагностических сообщений от sscanf2 (DC_CRASHREPORT_EXTRA_SSCANF2), что должно помочь в поиске мест возникновения ошибок от упомянутого плагина (см. пример ниже).
- Добавлен вывод сообщений в консоль (DC_CRASHREPORT_CONSOLE) для дополнительных видов обнаруживаемых ошибок.
- Исправлены неправильные заголовки функций в перехватах IsOnServerMessageEnabled() и OnServerMessage().
Пример поиска ошибок от sscanf2:
#include <a_samp> #include "../include/sscanf2.inc" #pragma option -d2 // Включим отладочную информацию, чтобы выводить номера строк в файлах #define DC_CRASHREPORT_CONSOLE // Вывод отчётов об ошибках в консоль #define DC_CRASHREPORT_EXTRA_SSCANF2 // Включить перехват сообщений об ошибках от sscanf2 #include <dc_crashreport> TestFunc() { static const params[] = "12 abc"; new x, buffer[4]; // Здесь должна быть ошибка, т.к. для спецификатора "s" не указана длина } main() { TestFunc(); }
Вывод:
Скачать: https://www.dropbox.com/s/oxwkmzfuvo...eport.zip?dl=0Код:sscanf warning: Strings without a length are deprecated, please add a destination size.
#3 00006a68 in TestFunc () at example.pwn:14
#4 00006a9c in main () at example.pwn:19
Обновление 1.2.0 (04.12.2022):
- Добавлена поддержка мессенджера Telegram.
Инструкции по созданию и настройке Telegram-бота можно найти здесь:
Скачать: https://www.dropbox.com/s/oxwkmzfuvo...eport.zip?dl=0
Посмотрел код. Иногда сервер может падать с такой ошибкой: "Server crashed due to an unknown error"
Например: https://github.com/Zeex/samp-plugin-...tect/issues/49
Да, действительно. Добавлю отлов таких сообщений в следующей версии, но по мне так отлов сообщений о падениях сервера (речь именно о проблемах, возникающих в нативном коде, не в скриптах) изначально был сомнительной затеей: любой краш может означать нестабильное состояние сервера, и в таких случаях не факт, что отправка сообщения об ошибке увенчается успехом.