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

AZANIR

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

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

А вот и сам код я его кстати сохранил как сниппет и вам советую.
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;
Что делает этот код , это для тех кто не понимает что там. Данный код собирает текстовую информацию для вас по ошибкам и блокам вашего проекта получает имя проекта , ну если у вас такой плагин к примеру стоит на нескольких проектах, и делает скриншот инстанса (рабочей области ) где произошла ошибка. И потом передает эти данные плагину.
И да как сохранить в сниппет чтобы не таскать за собой а прямо в программе все это вставлять в проекты.

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


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

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

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

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

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

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

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

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

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

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

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

Вложения

Для запуска проектов требуется программа ZennoPoster.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...

Для того чтобы запустить шаблон, откройте программу ZennoPoster. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.

Последнее редактирование:

radv

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

deskuznetsov

Client
Регистрация
29.08.2019
Сообщения
528
Благодарностей
363
Баллы
63
скины не видно. и так со всеми картинками в посте

48428
 

molotok

Client
Регистрация
17.04.2015
Сообщения
733
Благодарностей
358
Баллы
63

AZANIR

Client
Регистрация
09.06.2014
Сообщения
405
Благодарностей
198
Баллы
43
  • Спасибо
Реакции: deskuznetsov

606

Client
Регистрация
07.03.2019
Сообщения
20
Благодарностей
3
Баллы
3
поправил
 
Последнее редактирование:

minfin

Client
Регистрация
13.01.2020
Сообщения
148
Благодарностей
101
Баллы
43
Как указывать бот-токен? Пробовал и со словом 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-}
 
Последнее редактирование:

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