[Plugin]Ошибки шаблона, с моментальным оповещением в telegram .

AZANIR

Client
Регистрация
09.06.2014
Сообщения
405
Реакции
200
Баллы
43
Начнем с простого как добавить плагин к себе в систему. У нас в папке с документами есть такая папка Zennolab/Plugins/Local, вот туда мы и добавляем наш плагин. Кстати скачать сможете в конце статьи.
LF3GAQR.png

Но для нашего счастья немного дёгтя. Есть одна загвоздка с данными, которые не хочет передавать проект плагину, но мы не будем останавливаться и сделали небольшой универсальный сниппет по передаче данных, он кстати будет работать и в безбраузерных проектах. Версия зенно не ниже 5.20.
Тем кто не понимает в коде нужно просто скопировать данный код в кубик для C# кода. Как на примере внизу.
zfpCLQ5.png

А вот и сам код я его кстати сохранил как сниппет и вам советую.
C#:
Развернуть Свернуть Копировать
/*
Для тех кто не шарит в коде ничего не меняйте тут
Те кто шарят смогут более гибко настроить сам текст для вашего сообщения
*/

//формируем текст с данными для отправки
var action_errors = "";
if(project.GetLastError() != null) action_errors = string.Format("<b>Projectname: {0}</b>\r\n <i>ActionComment: {1}.</i>\r\nActionGroupId: {2}.\r\n%E2%81%89 ActionId: <pre>{3}</pre> %E2%81%89\r\n", project.Name, project.GetLastError().ActionComment, project.GetLastError().ActionGroupId, project.GetLastError().ActionId);
//создаем директорию для скриншотов с ошибкой
if (!System.IO.Directory.Exists(project.Path +"error\\"))
System.IO.Directory.CreateDirectory(project.Path + "error\\");
//делаем скриншот //@"\error\" +
try{System.IO.File.WriteAllBytes(project.Path + "error\\" + project.GetLastError().ActionId + ".jpg", Convert.FromBase64String(instance.ActiveTab.FindElementByTag("html", 0).DrawToBitmap(false)));
}catch{project.SendWarningToLog("Нет инстанса для создания скриншота", true);}
//передаем плагину Айди Ошибки
project.Context["Action_Id"] = project.GetLastError().ActionId;
//передаем плагину текст для отправки
project.Context["action_errors"] = action_errors;

Что делает этот код , это для тех кто не понимает что там. Данный код собирает текстовую информацию для вас по ошибкам и блокам вашего проекта получает имя проекта , ну если у вас такой плагин к примеру стоит на нескольких проектах, и делает скриншот инстанса (рабочей области ) где произошла ошибка. И потом передает эти данные плагину.
И да как сохранить в сниппет чтобы не таскать за собой а прямо в программе все это вставлять в проекты.
WYpgU4T.png

Выделяем весь код в сниппете и сохраняем в файл формат можно выбрать или тхт или cs , особой разницы нет для использования в программе. А как добавлять надеюсь вы знаете , а для тех кто не знает прикладываю инструкцию в виде картинки. Правой кнопкой в пустом кубике кода и выбираем «вставить C# сниппет» .

3SJOA4J.png

По аналогии с сниппетом добавляется плагин .
NKDTZOo.png

Что же может наш плагин , Он может отправлять нам ошибки проекта и скриншот инстанса с ошибкой. Для жителей России есть поддержка прокси, как пользоваться прокси почитать можно тут. Также есть возможность заливать картинку на Imgur, если использовать эту функцию то скриншоты удаляются дабы не захламлять ваш винчестер. И так настройки бота.
g4UevPz.png

Ниже я приведу примеры отсылки как будет выглядеть оповещение в самом телеграмме , так как у нас присутствует форматирование текста.
Используем только скриншот.
D0oDeXT.png

в телеграмме получаем следующее
LqRJ6FN.png

Ипользуем скриншот и заливку на Imgur
4XQQDvp.png

в телеграмме получаем сообщение такого вида , изображение кликабельно (т.е. мы можем посмотреть полное изображение на облаке)
Wsr1jdk.png

Используем изображение как документ , изображение кликабельно открывается прямо в телеграмм
adClluT.png

в телеграмме получим следующее
Del4hxg.png

Также если мы уберем все галочки по использованию Изображения и документа мы получим простое текстовое изображение , если по каким то причинам не получается получить изображение то вы также получите просто текстовое сообщение в телеграмм.
w3FlXXs.png

Хорошего вам использования плагина и хороших проектов.

Сильно не критикуем , мой первый плагин.
 

Вложения

Последнее редактирование:
Сильно не критикуем , мой первый плагин.
ай молодца:az: , я тоже хотел такой плагин выложить, а ты опередил :D.
От себя добавлю: Плагины можно устанавливать двойным кликом по ним. Не помню копируются они сам в директорию плагинов или нет, но в списке плагинов в ProjectMaker они появляются. Удобная штука эти плагины :-). Есть несколько идей насчет таких удобняшек. Как будут готовы, сделаю анонс. :az: Пока у меня есть такой плагин [Plugin ProjectMaker] Свой кубик для лога.
 
скины не видно. и так со всеми картинками в посте

48428
 
поправил
 
Последнее редактирование:
Как указывать бот-токен? Пробовал и со словом bot и без. В телегу ничего не приходит.
Хотя если просто гетом фигачу запрос, то работает. Типа:
C#:
Развернуть Свернуть Копировать
https://api.telegram.org/bot1644493000:AAHB5PqtFFVyAyrSLoJssgrfHPNF-Meez-8/sendMessage?chat_id=439562000&text=TEST

Может плагин на этой версии зенки не работает? У меня 7.3.1.1
72737


PS: или подскажите как поправить Ваш первый снипет, чтобы просто отправлять запросом, типа
C#:
Развернуть Свернуть Копировать
https://api.telegram.org/bot1644493000:AAHB5PqtFFVyAyrSLoJssgrfHPNF-Meez-8/sendMessage?chat_id=439562000&text={-Variable.text-}
 
Последнее редактирование:

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)