Для кого этот шаблон?
Хорошо подойдет для новичков, а так же для старичков. Отлов ошибок он можно сказать вечный.
В это шаблоне будут разобраны части:
- как поймать ошибку
- как ее обработать / записать
- как оповестить себя об этом
Поехали.
Как говорится - "Все гениальное - просто", на самом деле так и есть.
На сколько бы простым не казался шаблон, он сэкономил мне уйму времени и сил.
Выглядит он так:
Посмотреть вложение 27286
Первый кубик шарпа получает ошибку инстанса и записывает ее в переменную - action_errors
//Получить ошибку из-за которой выполнение шаблона остановилось
var error = project.GetLastError();
var tmp = "";
if(error != null)
tmp = string.Format("ActionComment: {0}.\r\nActionGroupId: {1}.\r\nActionId: {2}\r\n--------------------------------------------------------", error.ActionComment, error.ActionGroupId, error.ActionId);
return tmp;
Сохранение ошибки происходит в корневую папку проекта, где лежит сам шаблон (путь можно поменять) в текстовый файл - actions_errors.txt
{-Variable.login-} - Записывается логин на котором произошла ошибка. Так как я пользуюсь большой базой аккаунтов к разным сайтам, и логины всегда разные, очень удобно использовать именно логин.
{-TimeNow.Date-} - эта переменная отвечает за время, она указывает когда точно ошибка возникла
{-Variable.action_errors-} - это список данных об ошибке инстанса
Как выглядит инфа об ошибке с тексте:
marmarisDood
02/16/2018 18:05:22
ActionComment: Конструктор действий, тип RiseEvent.
ActionGroupId: 93a06fc7-2ff2-43e1-9a3e-408ba7cfb117.
ActionId: ec7ffdac-a4ec-4488-9a87-df27cf5c1de5
--------------------------------------------------------
из ошибки нам становится понятно, что:
- на каком логине ошибка произошла
- в какое время
- при каком действии (в основном это "click")
- в какой группе кубиков (не важная инфа)
- в каком кубике (самая важная инфа)
Делаем визуализацию, чтобы визуально понятно было где и на каком шаге произошла ошибка, и что при этом было на экране. Делаем скрин экрана, и записываем под названием логина, так как логин уникален.
(на одном скрине показаны настройки данного кубика, по созданию скриншота ошибки)
Посмотреть вложение 27302
Дальше у нас идет перезапись в саму БД
Зачем это делать? Просто потому что это очень удобно и всегда можно отсортировать аккаунты по нужному признаку, в данном случае по ошибке, для дальнейшего перезапуска или фиксирования.
Посмотреть вложение 27287
Мы удаляем строку из базы данных по логину, так как логины у нас не повторяются и имеют уникальные значения.
Следующий шаг - это полная перезапись строки, в которой мы записываем много информации, но в конце добавляем в столбец status с пометкой errore
Готово, база перезаписана. Теперь надо оповестить же об этом.
Теперь начинается самое интересное и очень полезное.
Чтобы сделать оповещение, надо сделать своего бота, создать свой канал, добавить бота и посылать команды какие нужно.
1. регаем бота!
пишем в поиске
botfather выбираем ответ где есть галочка - это официальный бот! Он нам и нужен
Посмотреть вложение 27289
Подумал, что нет смысла делать кучу скринов о том, как создать телеграм бота и телеграм канал, этого материала достаточно на
ютубе.
понравилось данное видео
В общем после того как вы создали своего бота, создали свой канал, добавили бота в канал админом, только с админ правами бот сможет постить.
Посмотреть вложение 27297
сам запрос на постинг:
https://api.telegram.org/TOKEN_bot/sendMessage?chat_id=@ВашIDКанала&text=тут ваш текст
пример:
https://api.telegram.org/bot373546537:AAGKerfDFHFGHFGGDGERWERTWERGWERGER/sendMessage?chat_id=@RGRGRGHRHRHRGHRGHRHG&text=тут ваш текст
- копируем токен для бота
- указываем id вашего чата
- добавляем переменную с текстом
Выглядеть будет так
Посмотреть вложение 27298
Вы можете настроить абсолютно как угодно свои оповещения.
У меня настроено так:
[ Название шаблона ] Действие Описание
Достаточно одного бота и канала чтобы следить за всеми проектами, которые у вас есть. Достаточно лишь нужные пометки в каждом из шаблонов где вы будете использовать оповещение.
Применение оповещений, безграничны, ограничиваются только вашей фантазией, ну и знаниями самой зенки, но это все поправимо.
Как пример:
У меня есть шаблон который ходит по партнеркам и парсит профит и/или баланс, тоже удобно, оповещения в реальном времени о статусе баланса/вывода и тп.
PS \ я не смог добавить бота админом в приватный канал, сделал следующее, создал паблик канал, добавил бота админом, перевел канал из паблика в приватный.
PS \ логику создания шаба брал по кусочкам с этого форума.
Спасибо всем, что делитесь информацией и помогаете друг другу.
АПГРЕЙД ТЕМЫ для опции с телеграмом в процессе обсуждения найден более простой вариант отправки сообщения, на прямую от бота, а не через канал.