Debug thread error zennoposter

DOSBoxDH. Зная ID экшена, его легко можно найти в расширенном редакторе: Когда экшен, отработавший с ошибкой, вами найден, вы можете исправить его настройки и запустить отладку с этого же места. Pr…

DOSBoxDH. Зная ID экшена, его легко можно найти в расширенном редакторе: Когда экшен, отработавший с ошибкой, вами найден, вы можете исправить его настройки и запустить отладку с этого же места. ProjectDebugger. Separate names with a comma. ZennoLab. Sleep(500) Error Имя пользователя: Error Пароль: Забыли пароль? Тема в разделе «Услуги», создана пользователем AZANIR, 14.


zennoposter debug thread error фото

When creating and editing project, you will certainly get error while debugging it.

Joomla (1) exif (1) таблица (1) личный кабинет (1) удаленный файл (1) rss лента (1) db-error. Вконтакте добавление в друзья Zennoposter шаблон купить. Ну и если исключение не возбуждено — то и ловить нечего. Если вы ранее уже обращались в техподдержку, то перед тем, как запускать шаблон, удалите все файлы в папке «error». ProjectDebugger. Анонимный 10 ноября 2017 г. Zennoposter шаблоны на заказ.

Пример конфигурации Директивы accept_mutex accept_mutex_delay daon debug_connection debug_points error_log env events include load_module lock_file master_process multi_accept pcre_jit pid ssl_engine thread_pool timer_resolution use user worker_aio_requests worker_connections worker_cpu_affinity worker_priority worker_processes worker_rlimit_core worker_rlimit_nofile working_directory.

Опубликовано: ADv Дата 07. В основном используется язык программирования — C#. Work(). Search. Re: Debug Error! У меня «HTTP Error 404.

Кто впервые слышит о софте и не знает что это и зачем.

Огромный опыт работы с Zennoposter. Улучшен вывод предупреждений и ошибок в лог. Открыто — [Повтор-9] Автоматическое создание прокси-серверов [zennoposter]. Она рассчитана прежде всего на тех, кто освоил основной функционал программы и уже успел. And if so, does anyone have a fix? String someData = «» 2) Скачиваем и кидаем в папку к DOSBox упомянутый отладчик dosbox-74-debug. The requested resource is not found.

Иногда не ставился режим совместимости приложений при установке, из-за чего не запускались ProjectMaker и не стартовали потоки.

Robot. Probl areas. Дебаг проекта вынесен в отдельный процесс, это тоже существенно уменьшит утечки памяти. Если вы ранее уже обращались в техподдержку, то перед тем, как запускать шаблон, удалите все файлы в папке «error». Простой дебаг содержания PHP-массивов или объектов. Демонстрация работы шаблона для ZennoPoster — Парсер Skladchik. CyberAP, 1 ноя 2017 .

Среди уже готовых решений имеются популярные вроде Content Downloader и ZennoPoster, они конечно очень удобны и понятны любому человеку, даже незнакомому с программированием, однако имеют некоторые минусы.

Урок release and debug как работает delphi (rad studio). ZennoPoster поможет пользователям кардинально увеличить эффективность работы над своими проектами. If any error occurs during execution, it will be displayed as red alert in log. TplateExecutor.

При выполнении шаблона в ZennoPoster могут возникать ошибки, и шаблон не будет  работать. Ошибки  отображаются в логе выполнения. Щелкнув правой кнопкой мыши, вы можете скопировать ID действия с ошибкой, или открыть сбойное действие в ProjectMaker и отладить шаблон. 

Часто встречается ошибка —  Не найден html элемент по условиям поиска.   Причиной может быть плохой прокси, который не прогружает страницу. Также стоит добавить паузы перед действиями с элементами, на которых возникает ошибка. 

Одной из частых причин того, что шаблон не работает, может быть наличие C#-кода, в котором есть синтаксические ошибки. В этом случае в Логе программы выводится соответствующее оповещение об ошибке компиляции проекта.

Если шаблон запускается, но свою работу не выполняет, завершается ошибкой или на выходе нет нужных данных, которые вы ожидаете, то возможно сменилась html-верстка на сайте. В этом случае нужно будет адаптировать шаблон под изменившуюся верстку.

Также одной из причин не работающего шаблона, может быть несоответствие версий ZennoPoster/ZennoBox.  Если шаблон создавался в более новой версии, он может не выполнятся в более старой из-за наличия нового функционала, не поддерживаемого в предыдущих версиях.  При выполнении такого шаблона, обычно отображается  восцклицательный знак. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
lock(SyncObjects.TableSyncer){
                    
                        //Проверяем статус строки - актуально или в работе
                        for(rowNum=0;rowNum<GoodsInCab.RowCount;rowNum++){
                            
                            string Status = GoodsInCab.GetCell("F", h);
                            project.SendInfoToLog("Идем по строке № - " + rowNum);
                            
                            //GoodsInCab.GetCell("F",h).Contains("Работаем")
                            
                            if(GoodsInCab.GetCell("F",h).Contains("Работаем")){
                                continue;
                            }else{
                                System.Threading.Thread.Sleep(rnd.Next(3000, 4500));
                                project.SendInfoToLog("Ставим статус - 'Работаем' текущему объявлению", true);
                                GoodsInCab.SetCell("F", h, "Работаем");
                                System.Threading.Thread.Sleep(rnd.Next(3000, 4500));
                                project.SendInfoToLog("Текущий номер строки - " + rowNum, true);
                                break;
                            }
                        }
                        
                        rowNum=h;
                        project.SendInfoToLog("Номер rowNum - " + rowNum,true);
                        
                        project.Variables["AdvLink"].Value = GoodsInCab.GetCell("H",h);
                        project.SendInfoToLog(project.Variables["AdvLink"].Value,true);
                        project.Variables["TimeOn"].Value = GoodsInCab.GetCell("I",h);
                        project.SendInfoToLog(project.Variables["TimeOn"].Value,true);                      
                        project.Variables["TimeOff"].Value = GoodsInCab.GetCell("J",h);
                        project.SendInfoToLog("Время выключения - " + project.Variables["TimeOff"].Value,true);
                        //instance.WaitForUserAction(50);
                        project.Variables["WhatToDo"].Value = GoodsInCab.GetCell("K",h);
                        project.SendInfoToLog(project.Variables["WhatToDo"].Value,true);
                        string SetOn = GoodsInCab.GetCell("L",h);
                        project.SendInfoToLog(SetOn,true);
                        project.Variables["SetOff"].Value = GoodsInCab.GetCell("M",h);
                        project.SendInfoToLog(project.Variables["SetOff"].Value,true);
                        string PriceForFirstPlace = GoodsInCab.GetCell("N",h);
                        project.SendInfoToLog(PriceForFirstPlace,true);
                        string PriceForFirstPage = GoodsInCab.GetCell("O",h);
                        project.SendInfoToLog(PriceForFirstPage,true);
                        project.Variables["Archive"].Value = GoodsInCab.GetCell("P",h);
                        project.SendInfoToLog(project.Variables["Archive"].Value,true);
                        project.Variables["GoodsInSell"].Value = GoodsInCab.GetCell("Q",h);
                        project.SendInfoToLog(project.Variables["GoodsInSell"].Value,true);
                    
                    }

Post Reply 

Thread Rating:

  • 0 Votes — 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Jhobean

Journeyman
*

Posts: 98
Likes Given: 11

Likes Received: 5 in 3 posts
Joined: Jun 2019

Reputation: 2


Debug error on console

Our server just crash 2 consecutive days with this debug:

Where I can find the value of 3044?

THX!

We have this error:

Code:

19:35:DEBUG:__ thread (3044) __ |  # | _____________ function _____________ | __ ticks passed from previous function start __
19:35:DEBUG:>>         3044     |  0 |                        CChar::OnTick | +0
19:35:DEBUG:>>         3044     |  1 |                    CChar::Skill_Done | +0
19:35:DEBUG:>>         3044     |  2 |                   CChar::Skill_Stage | +0
19:35:DEBUG:>>         3044     |  3 |                CChar::Skill_Fighting | +0
19:35:DEBUG:>>         3044     |  4 |                  CChar::Fight_HitTry | +0
19:35:DEBUG:>>         3044     |  5 |                     CChar::Fight_Hit | +0
19:35:DEBUG:>>         3044     |  6 |                  CChar::OnTakeDamage | +0
19:35:DEBUG:>>         3044     |  7 |                     CChar::OnTrigger | +0
19:35:DEBUG:>>         3044     |  8 |          CScriptObj::OnTriggerScript | +0
19:35:DEBUG:>>         3044     |  9 |          CScriptObj::OnTriggerRunVal | +0
19:35:DEBUG:>>         3044     | 10 |             CScriptObj::OnTriggerRun | +0
19:35:DEBUG:>>         3044     | 11 |             CScriptObj::OnTriggerRun | +0
19:35:DEBUG:>>         3044     | 12 |         CScriptObj::OnTriggerForLoop | +0
19:35:DEBUG:>>         3044     | 13 |             CScriptObj::OnTriggerRun | +15

It continue to | 2220 | and this

19:35:CRITICAL:(Tooltips.scp,4)»Stack Overflow» (0x757ab42f), in CCharPlayer::WriteVal()


Nouvelles

01-09-2020 11:06 AM
Coruja

Sphere Developer
*****

Posts: 987
Likes Given: 5

Likes Received: 226 in 187 posts
Joined: Jul 2012

Reputation: 7

Dimension Shard

RE: Debug error on console

Are you using something that can cause some conflict with internal functions inside combat triggers like @HitTry, @Hit, @GetHit, etc?

because this line

Code:

CScriptObj::OnTriggerRun | +15

means that the internal script parser is calling an trigger, and the +15 means that sphere is already stuck doing this same action for 15 ticks

and this line

Code:

CCharPlayer::WriteVal()

means that the script is setting an property or calling some function on an player character

So this error is being caused by script, probably something wrong inside some combat trigger

01-13-2020 04:34 PM
Jhobean

Journeyman
*

Posts: 98
Likes Given: 11

Likes Received: 5 in 3 posts
Joined: Jun 2019

Reputation: 2


RE: Debug error on console

Yes we using lot of @HitTry, @Hit, @GetHit, with our custom weapon system.
You gave us a BIG hints! THX

But how you know all these debug code?

There is some documentation for all these code?

Thx.


Nouvelles

01-16-2020 05:13 AM
Coruja

Sphere Developer
*****

Posts: 987
Likes Given: 5

Likes Received: 226 in 187 posts
Joined: Jul 2012

Reputation: 7

Dimension Shard

RE: Debug error on console

These lines are just printing the name/order of the internal functions being called from C++ source code

You can find all these functions on the source code, like this function here

Code:

19:35:DEBUG:>>         3044     | 13 |             CScriptObj::OnTriggerRun | +15

https://github.com/Sphereserver/Source/b…j.cpp#L532

So if you know that the error is thrown after this function or know if sphere is stuck on this same function for many ticks, it means the problem is here on this function. And «OnTriggerRun» is the internal function to read triggers from scripts, but reading other lines of the console exception you can see that some skills and combat functions are also called, so probably it’s something related script triggers called on combat (@HitTry, @Hit, @GetHit, etc)

01-16-2020 09:03 AM
[+]
1 user Likes Coruja’s post

Post Reply 

User(s) browsing this thread: 1 Guest(s)

  • 1 Поиск-замена через снипет на C#
  • 2 Отключение в шаблоне zennoposter ненужных css, ActiveX, Javascript и т.д.
  • 3 Увеличение регистра первой буквы
  • 4 Увеличение регистра первой буквы через снипет JS
  • 5 Увеличение регистра первой буквы через старенький макрос от 3 версии
  • 6 Проверка наличия через снипет
  • 7 Время компьютера в секундах через снипет C#
  • 8 Оптимизация и ускорение шаблона можно засчет отключения css и/или картинок — но еще вариант ожидание появление элемента
  • 9 Проверка наличия текста в списке, при отсутствии добавить
  • 10 Удаление пустых строк в .txt
  • 11 Домен из ссылки
  • 12 Число слов в тексте разделяемых пробелом
  • 13 Число символов и букв в тексте
  • 14 Преобразование дата Март 30, 2016 в 30.03.2016
  • 15 Определение возраста от даты рождения
  • 16 Взять source по ссылке не используя броузер
  • 17 Замена первого вхождения или другого указанного в снипете
  • 18 Уникальный заголовок инстанса
  • 19 Преобразовать цифры с буквами 1.4k в нормальные 1400
  • 20 Взятие первой строки списка с удалением и последующим добавлением в конец списка (по круговой)
  • 21 Случайное число от до в переменную
  • 22 Заглавная первая буква
  • 23 Проверка содержания текста
  • 24 Округление цифр в большую сторону
  • 25 Умножение переменной «а»
  • 26 Пример использования xpath в c#
  • 27 Тройной клик по координатам
  • 28 Отсчет от 000 до 100, когда идет 001…019 и т.д.
  • 29 Имя компьютера в зеннопостер через c#
  • 30 Выборка самого наименьшего числа из строки, в примере результат будет 124.99
  • 31 Проверка содержимого из списка1 в списке2, входящее совпадение:
  • 32 Проверка наличия в списке (быстрый метод)
  • 33 Проверка наличия в списке, метод №2
  • 34 Дата на 3 дня назад
  • 35 Дата на день назад — проверка
  • 36 Дата, время на 12 часов назад — проверка
  • 37 От настоящего времени -2 часа назад
  • 38 С# сниппет: получение имени файла с раширением из пути
  • 39 Как закодировать в base64 С# сниппет:
  • 40 Как декодировать из base64:
  • 41 Замена специальных символов HTML

Сниппеты — это блоки кода позволяющие расширить функционал ZennoPoster и решающие некоторую задачу или группу задач в вашем проекте. В основном используется язык программирования — C#. Поэтому код нужно оформлять в соответствии с синтаксисом этого языка.

При использовании C# сниппетов вам доступны все возможности языка C#. C# включет в себя обширную библиотеку классов и методов которая покрывает большинство задач которые могут у вас возникнуть. С описанием и возможностями классов библиотеки вы можете ознакомиться на странице http://msdn.microsoft.com/ru-ru/library/gg145045(v=vs.110).aspx

(в примере получаем ид акккаунта от профильной ссылки facebook)

string Test = project.Variables["urlprofile"].Value;
string regexTest = System.Text.RegularExpressions.Regex.Replace(Test, @"https:|www.|fb|facebook.com|/.*?=|?.*?$", "");
return regexTest;

Отключение в шаблоне zennoposter ненужных css, ActiveX, Javascript и т.д.

уберите // чтобы раскомментировать

instance.ClearCookie();
instance.ClearCache();
//instance.LoadPictures = false;
//instance.AllowPopUp = true;
//instance.DownloadActiveX = false;
//instance.DownloadFrame = false;
//instance.DownloadVideos = false;
//instance.IgnoreAdditionalRequests = true;
//instance.IgnoreAjaxRequests = true;
//instance.IgnoreFlashRequests = true;
//instance.IgnoreFrameRequests = true;
//instance.RunActiveX = false;
//instance.UseJavaApplets = false;
//instance.UseJavaScripts = true;
//instance.UsePlugins = false;
//instance.UseCSS = false;
//instance.BackGroundSoundsPlay = false;
//instance.UseMedia = false;

Увеличение регистра первой буквы

var str = project.Variables["myString"].Value;
if (str.Length > 1) return char.ToUpper(str[0]) + str.Substring(1);
return str.ToUpper();

Увеличение регистра первой буквы через снипет JS

function ucfirst(str) 
{
var first = str.charAt(0).toUpperCase();
return first + str.substr(1);
}
ucfirst('hello world');

Увеличение регистра первой буквы через старенький макрос от 3 версии

(справка https://help.zennolab.com/ru/v3/zennoposter/)

{-String.ToUpper-|-test string-|-0-}

Проверка наличия через снипет

// берем из переменной текст, который надо искать
var textContains = project.Variables["listSearchTextContains"].Value;
// получаем список, в котором будем искать
var sourceList = project.Lists["SourceList"];
// ищем в каждой строчке в списке
lock(SyncObjects.ListSyncer)
{
    for(int i=0; i < sourceList.Count; i++)
    {
        // читаем строку из списка
        var str = sourceList[i];
        // проверяем содержание текста в строке, если есть совпадение возвращаем "yes"
        if (str.Contains(textContains))
            return "yes";
    }
}
// если ничего не нашли возвращаем "no"
return "no";

Время компьютера в секундах через снипет C#

return TimeSpan.Parse(DateTime.Now.TimeOfDay.ToString()).TotalSeconds;

Оптимизация и ускорение шаблона можно засчет отключения css и/или картинок — но еще вариант ожидание появление элемента

http://zennolab.com/discussion/threads/progruzka-stranicy-i-ehlementov-na-stranice.10529/#post-62000 — тут подробное описане

HtmlElement he;
for(int i=0; i<20; i++)
{
he = instance.ActiveTab.FindElementByAttribute("Your data in parameters");
if(!he.IsVoid)
{
break;
}
System.Threading.Thread.Sleep(2000);
}

Проверка наличия текста в списке, при отсутствии добавить

// берем из переменной текст, который надо искать
var textContains = project.Variables["Text"].Value;
// получаем список, в котором будем искать
var sourceList = project.Lists["Список"];
// ищем в каждой строчке в списке
lock (SyncObjects.ListSyncer)
{
    for (int i = 0; i < sourceList.Count; i++)
    {
        // читаем строку из списка
        var str = sourceList[i];
        // проверяем содержание текста в строке, если есть совпадение, возвращаем "no"
        if (str.Contains(textContains))
            return "no";
            //return null; // если раскомментировать эту строку, а предыдущую закомментировать (или удалить), выход будет по красной ветке (как вариант)
    }
}
// если нет совпадений, добавляем строку в список
sourceList.Add(textContains);

Удаление пустых строк в .txt

// Delete blank lines from file
string path = project.Variables["filePath"].Value; // Gets file path from your project variable with name "filePath"
var lines = System.IO.File.ReadAllLines(path).Where(arg => !string.IsNullOrWhiteSpace(arg));
System.IO.File.WriteAllLines(path, lines);
return 0;

Домен из ссылки

// Get root domain
var url = project.Variables["url"].Value;
return new Uri(url).Host;

Число слов в тексте разделяемых пробелом

// Count words in string
var inputstring = project.Variables["text"].Value;
string texttostring = (inputstring);
int count = texttostring.Split(' ').Length;
return count;

Число символов и букв в тексте

// Count characters
string stringToCount = "Hello World";
return stringToCount.Length.ToString();

// или такой вариант
string str = project.Variables["Var"].Value;
return str.Length;

Преобразование дата Март 30, 2016 в 30.03.2016

string date = project.Variables["Date"].Value;
DateTime formatDate;
DateTime.TryParse(date, out formatDate);
return formatDate.ToString("dd.MM.yyyy");

Определение возраста от даты рождения

string day = "04";
string month = "11";
string year = "1982";
 
var birhDate = DateTime.ParseExact(String.Format("{0}.{1}.{2}",day,month,year), "dd.MM.yyyy", System.Globalization.CultureInfo.InvariantCulture);
var age = Math.Truncate(DateTime.Now.Subtract(birhDate).TotalDays / 365);
return age;

Взять source по ссылке не используя броузер

List list = new List();
 
var resultHttpGet = ZennoPoster.HttpGet("https://www.yandex.ru/", instance.GetProxy(), "UTF-8", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly,30000,"","",true,1,new string[] {""},"");
if (String.IsNullOrEmpty(resultHttpGet))
    throw new Exception("не смогли загрузить страницу");
 
var matches = Regex.Matches(resultHttpGet,@"[wа-я]+").Cast().Select(match => match.Value).ToList();;
return string.Join("rn",matches);

Замена первого вхождения или другого указанного в снипете

var text = "1123123123"; //строка в которой будет вестись поиск
var regex = new Regex("\d{2}"); // экземпляр регулярного выражения
var replacement = "yep"; //замена
var startat = 2; //порядковый номер найденого регулярного выражения, начинается с 1
var rcount = 1; //количество замен
if(!(startat > 0 && rcount > 0)) //проверяем
    throw new Exception("условия поиска заданы неверно");
var matches = regex.Matches(text); //сначала ищем
if(matches.Count < startat) //проверяем
    throw new Exception("найденое количество совпадений меньше указаного индекса");
return regex.Replace(text, replacement, rcount, matches[startat].Index);

Уникальный заголовок инстанса

instance.AddToTitle("Заголовок!");

Преобразовать цифры с буквами 1.4k в нормальные 1400

string str = project.Variables["text"].Value;
if (!str.Contains("k")) return str;
return double.Parse(str.Replace(".", ",").Replace("k", "")) * 1000;

Взятие первой строки списка с удалением и последующим добавлением в конец списка (по круговой)

var ProxyList = project.Lists["Список 1"];
lock(SyncObjects.ListSyncer)
{
var proxy = ProxyList[0];
ProxyList.RemoveAt(0);
ProxyList.Add(proxy);
project.Variables["proxy"].Value = proxy.ToString();
}

Случайное число от до в переменную

Random num = new Random();
project.Variables["Переменная"].Value = num.Next(10,20).ToString();

Заглавная первая буква

string str = project.Variables["имя_переменной"].Value;
return str[0].ToString().ToUpper() + str.Substring(1);

Проверка содержания текста

string str = project.Variables["Text"].Value;
string text = "текст";
 
if (!str.Contains(text))
    return "Переменная не содержит текст!";

Округление цифр в большую сторону

double num = double.Parse(project.Variables["Num"].Value);
return Math.Ceiling(num / 1000) * 1000; // округлить число в большую сторону
//return Math.Round(num / 1000) * 1000; // округлить число до ближайшего целого

Умножение переменной «а»

float a = float.Parse(project.Variables["var"].Value.Replace(".", ","));
project.Variables["min"].Value = Convert.ToString(a * 0.95).Replace(",", ".");
project.Variables["max"].Value = Convert.ToString(a * 1.05).Replace(",", ".");

Пример использования xpath в c#

var x = instance.ActiveTab.FindElementByXPath("//*[@id='login-form']/div[3]/div[4]", 0);
x.Click();

Тройной клик по координатам

// клик по координатам
instance.ActiveTab.MouseClick(100, 100, "left", "click");
// пауза в мс
System.Threading.Thread.Sleep(500);
// клик по координатам
instance.ActiveTab.MouseClick(100, 100, "left", "click");
// пауза в мс
System.Threading.Thread.Sleep(500);
// клик по координатам
instance.ActiveTab.MouseClick(100, 100, "left", "click");

Отсчет от 000 до 100, когда идет 001…019 и т.д.

return int.Parse(project.Variables["count"].Value).ToString("000");

Имя компьютера в зеннопостер через c#

string UserNameComp = System.Environment.UserName;
return UserNameComp;

Выборка самого наименьшего числа из строки, в примере результат будет 124.99

string[] str = "125.53/124.99/432.78/567.99".Split('/');
 
var list = new List();
list.AddRange(str.OrderBy(s=>s.Length).ThenBy(s=>s).ToList());
project.Variables["Otvet"].Value = list[0];

Проверка содержимого из списка1 в списке2, входящее совпадение:

если есть в списке 2 строки, которые равняются строкам из списка 1, то он удаляет эти строки в списке 2. Вопрос, как можно сделать так, что бы код проверял не полное соответствие строк, а частичное содержание символов в этих строках и если символы из списка 1 содержаться в строках из списка 2, то удалить полностью эти строки из списка 2. Объедините содержимое первого списка через | потом Операции над списком — Удалить строки, соответствующие регулярному выражению и там укажите свою переменную.

//Списки проекта
var baseEmails = project.Lists["baseEmails"];
var blackList = project.Lists["blackList"];
// проверяем каждую строку
//Лочим для многопотока
lock(SyncObjects.ListSyncer)
{
    foreach(string s in blackList)
{
  //Ищем в основном списке
  for(int i = 0; i < baseEmails.Count; i++)
  {
   //Если нашли, удаляем
    string check = baseEmails[i];
   if(check.Contains(s))
    baseEmails.RemoveAt(i);
  }
}
}

Проверка наличия в списке (быстрый метод)

var list = project.Lists["Blacklist"];
string text = project.Variables["ПЕРЕМЕННАЯ С ТЕКСТОМ КОТОРЫЙ ИЩЕМ"].Value;
if (list.Contains(text)) {
   return "Найдено в блеклисте";
}

Проверка наличия в списке, метод №2

//да - по зелёной
//нет - по красной
return project.Lists["SourceList"].First(s=>s.Contains(project.Variables["Url"].Value));

Дата на 3 дня назад

DateTime date = DateTime.Now.AddDays(-3);
return date.ToString("yyyy-MM-dd");

Дата на день назад — проверка

DateTime dt = DateTime.Parse(project.Variables["Переменная1"]); // или DateTime.Parse("02.09.2018"); // Заданное время
DateTime now = DateTime.Now; // Текущее время
var days = (now - dt).Days; // Разница в днях (31)
 
if (days>30)
{
   return "Прошло больше 30 дней";
}
else
{
  return "Еще есть время";
}

Дата, время на 12 часов назад — проверка

DateTime dt = DateTime.Parse("19:00 02.12.2018"); // Заданное время
DateTime now = DateTime.Now; // Текущее время
TimeSpan diff = now - dt; // разница
var Hours = Math.Floor(diff.TotalHours); // переводим разницу в округленные часы
 
if (Hours>12)
{
   return "Прошло больше 12 часов (прошло " + Hours + " часов)";
}
else
{
  return "Еще есть время (прошло " + Hours + " часов)";
}

От настоящего времени -2 часа назад

return DateTime.Now.AddHours(-2).ToString(@"dd.MM.yyyy HH:mm:ss");

Проверить C# в онлайн http://www.tutorialspoint.com/compile_csharp_online.php

С# сниппет: получение имени файла с раширением из пути

var path = @project.Variables["Variable"].Value;;
string name = Path.GetFileName(path);
return name;

Как закодировать в base64 С# сниппет:

string str = project.Variables["text"].Value;
return Convert.ToBase64String(Encoding.UTF8.GetBytes(str));

Как декодировать из base64:

var key = project.ExecuteMacro(@"{-Variable.Base64-}");
var input = @"{-Variable.Base64-}";
var text = Encoding.Default.GetString(Convert.FromBase64String(input));
project.SendInfoToLog(text);
return text;

Замена специальных символов HTML

string y = project.Variables ["jobDescription"]. Value;
string result = System.Net.WebUtility.HtmlDecode (y);
return result;

C# сниппеты выбраны мной из форума https://zennolab.com/discussion/

Не нашли нужный сниппет? Гляньте тут ещё: https://github.com/ZennoHelpers/Snippets/tree/master/%D0%A1%D0%BD%D0%B8%D0%BF%D0%BF%D0%B5%D1%82%D1%8B

zarabotok na massfollovinge

Это пример заработка одного из форумчанинов FTBWORK10, который на момент публикации выложил рабочий кейс, вызвав тем самым немалый ажиотаж вокруг своей статьи.

Мы уже приводили примеры разных способов заработка на Zennoposter, и читатели нашего блога знают, что на старых темах тоже можно неплохо зарабатывать, но здесь ситуация немного иная.

В данном случае автор не просто указал направление, а еще дал лопату и показал, как ей работать.

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

Что такое массфоловинг и как на нем заработать

Простыми словами, массфолловинг — это создание социальной активности  с целью привлечения трафика на 1 или большее количество аккаунтов (подписки, лайки, комменты и тд).

Технически массфолловинг выглядит примерно следующим образом:

  1. готовятся аккаунты для привлечения трафика (описание, фото, посты);
  2. с этих аккаунтов начинается массовая активность в профилях живых людей (подписки, лайки, комменты и пр);
  3. в уведомлениях пользователи видят, что на них кто-то подписался, написал комментарий или поставил лайк, затем переходят в профиль бота и подписываются в ответ.

Желательно аккаунты ботов должны выглядеть естественно, как у живых людей, тогда аудитория будет подписываться охотнее, что поможет привлечь больше трафика.

Во многих социальных сетях есть лимиты на подписку, френдинг, и в общем срабатывает триггер на подозрительную активность. Следите за этими лимитами, чтобы антибот-система данного сайта или сервиса не заблокировала ваши аккаунты.

Как заработать на массфолловинге с Zennoposter

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

2) через социальную активность: сбор целевой аудитории, личная переписка и отправка партнерской ссылки через несколько сообщений. Естественно, лучшим решением будет написать бот на Zennoposter, чем вести переписки вручную.

Можно привлекать трафик как на партнерские, так и на свои ресурсы. Кстати, первые подписчики для Лаборатории Крепского были собраны похожим способом: шаблон парсил аудиторию, а бот вел переписку.

Словом, если вы нашли источник слива трафика и вас не банят, с технической точки зрения в плане написания шаблонов проблем быть не должно.

3) Ну и не забывайте про работу с клиентами. С помощью Zennoposter несложно написать несколько массфолловинг-шаблонов и зарабатывать, получая заказы: накрутка просмотров, лайков, комментариев, подписок, парсинг аудитории и многое другое.

Можно пойти дальше и на базе текущих создать проекты по брендингу, фармингу, привлечению трафика в офлайн-бизнес, в партнерские программы и тд.

Возможности в данной ситуации будут ограничиваться только вашим стремлением и желанием развиваться в направлении Зенки.

Реальный пример форумчанина FTBWORK10, который нашел источник для слива трафика — приложение для бегунов. В нём не было лимитов на количество подписок, если ты успеваешь вовремя отписаться. Классический массфолловинг на один аккаунт.

Схема заработка на массфолловинге с помощью Зенки:

  1. установить и настроить эмулятор приложений NOX;
  2. установить и настроить программу для анализа трафика и снятия запросов Fiddler;
  3. снять SSL-сертификат на приложении;
  4. снять запросы для автоматизации;
  5. автоматизировать все действия через Zennoposter;
  6. запустить массфолловинг;
  7. добавить в аккаунты ссылку на оффер (или несколько);
  8. анализировать полученный трафик, менять офферы, если они не конвертят.

В итоге получилось заработать около $1000 и 73 755р всего за пару дней!

(скрины в конце статьи)

Создание шаблона Zennoposter на post/get-запросах

Этапы создания такого проекта массфолловинга на пост/гет-запросах Зеннопостер:

1) Копируем запрос фолловинга и unfollow в кубик POST (айди генерируем)

Sozdanie shablona Zennoposter na post/get-zaprosah

Sozdanie shablona Zennoposter na post/get-zaprosah

2) Тогда сам шаблон будет выглядеть следующим образом:

Sozdanie shablona Zennoposter na post/get-zaprosah

Это простой шаблон, но даже он способен вывести его разработчика на стабильный доход. После обучения Zennoposter 7 в Лаборатории Крепского вы сможете создавать и более сложные и функциональные проекты.

В конце прикладываем стату и желаем всем дальнейших успехов!

zarabotok na massfollovinge

PS В полной версии кейса описывается каждый шаг, поэтому, если вам всегда интересно узнать о Zennoposter больше — рекомендуем перейти на сайт Zennolab, и не забывайте проявлять свою активность в комментариях.

По поводу обучения Зеннопостер пишите в Telegram: @Krepsky

Всем знаний и профита!

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Debug run time error 19 file or function is not found
  • Debug log rimworld как исправить
  • Debug error что это
  • Debug error run time check failure 2 stack around the variable
  • Debug error pure virtual function call

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии