Постинг и редактирование сообщений по времени!КАК?

Roman*

Client
Регистрация
25.09.2013
Сообщения
1 657
Благодарностей
656
Баллы
113
Подскажите пожалуйста, как мне в зено сделать таймер?
То есть я запостил 100 сообщений в 12 00 например, и ровно через час мне нужно будет отредактировать каждое сообщение..как мне сделать так чтобы каждое сообщение было отредактированно ровно через 60 минут к примеру, как все лучше реализовать?
 

СТЕПАН

Moderator
Регистрация
17.03.2013
Сообщения
951
Благодарностей
353
Баллы
63
как мне в зено сделать таймер
в зеннопостере есть экшен в логике, называется пауза (по сути и есть таймер)
 

Roman*

Client
Регистрация
25.09.2013
Сообщения
1 657
Благодарностей
656
Баллы
113
Имеется ввиду чтоб все постилось за 15 минут(например первое сообщение запостилось в 12 00, второе сообщение в 12 01 итд), а редактировалось первое сообщение в 13 00, второе в 13 01 итд...то есть каждое сообщение мне нужно редактировать строго через час.Если бы было одно сообщение то я бы поставил паузу на час, но их 100+ работать буду с проксями, что может сделать большую разницу во времени.
 

СТЕПАН

Moderator
Регистрация
17.03.2013
Сообщения
951
Благодарностей
353
Баллы
63
как вариант записывать время успешного постинга в текстовик а затем сравнивать его с системным временем и когда оно будет меньше на 60 минут приступать к редактированию
 

Roman*

Client
Регистрация
25.09.2013
Сообщения
1 657
Благодарностей
656
Баллы
113
Вот я думал об этом, но сравнивать с временем на какомибудь сайте каждые полминуты например для каждого сообщения и если станет больше на 60 минут с времени постинга, то можно будет редактировать.Но вопрос, как мне все это реализовать со своими базовыми знаниями.

Возможно ктонибудь может на С# код подсказать?
 
Последнее редактирование:

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
return System.DateTime.Now.ToString("HH:mm:ss");
Это текущее время, а как разницу получить, я если честно хз, надо ковыряться, но и с текущим временем на кубиках можно собрать, то что вам нужно.
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 596
Благодарностей
1 014
Баллы
113
Для начала надо понять как получить текущее время в зенке, лучше сразу в таймстампе.
Тогда можно класть в файл юрл:timestamp
Потом берем время вычитаем из текущего и получаем кол-во секунд...
 

Roman*

Client
Регистрация
25.09.2013
Сообщения
1 657
Благодарностей
656
Баллы
113
Пока для меня это как китайская грамота..ничего пока не понятно, но наверно нужно брать как то время начала постинга сообщения, ровно через 3600 секунд сравнивать и время 3601 секунд и более, то берет сообщение и уже делает зенка там с ним что нужно.как то так
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
так вам над ровно через час? или ровно в 12( условно)
 

Roman*

Client
Регистрация
25.09.2013
Сообщения
1 657
Благодарностей
656
Баллы
113
Если быть точным ровно через 31-35 минут, но думаю если будет код то я догадаюсь где сменить.тоесть мне ровно через это время просто нужно брать ссылку с сообщением и редактировать его(ссылку как брать я знаю, дело только как все это сделать для нескольких сообщений.)
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
Поставьте просто паузу 1860-2100 секунд...
 

zennoX

Client
Регистрация
05.04.2014
Сообщения
484
Благодарностей
134
Баллы
43
Поставьте просто паузу 1860-2100 секунд...
с паузой не пойдет, поток будет стоять, не давая постить остальные 99 сообщений, или меньше, но 100 потоков в люб.сл. не наберется, да и неправильно энто)

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

про время постинга, имхо надо вытаскивать все величины (дата, часы, минуты) отдельно, чтобы не разъединять потом регулярками
потом в js делать матем. вычисления,
пример - постинг был в 02:45, редактирование надо сделать через 30 минут

сравнение - если минуты(45) > 30 то к часам(02) прибавляем час и в минутах к 0 прибавляем (60 минус минуты постинга) т.е. (60-45) = 15 получаем время редактирования 03:15

иначе (если минуты меньше 30) то просто к минутам прибавляем 30, получаем заданное время редактирования (ЗВР)

результат пишем в файл рядом с номером сообщения и потом пускаем цикл (с паузой в 30 сек например, чтобы не грузить) сравнения ЗВР с текущим временем (часы с часами, минуты с минутами), как условие выполняется редактируем, после этого можно удалить строку из списка, и так далее.


p.s. сам ни разу не программер, зенка демка третий день, тащусь с нее) надеюсь доходчиво изложил своё имхо. купите мне лайт - замучу Вам то что выше))
p.p.s. про проверку даты забыл, аналогично, проверяем, если время больше 23:30 то ЗВР прибавляем дату на 1

макросы для получения текущего времени как вместе, так и по раздельности - http://help.zennolab.com/ru/v3/zennoposter/index.html?time.htm
 
Последнее редактирование:
  • Спасибо
Реакции: Roman*

Roman*

Client
Регистрация
25.09.2013
Сообщения
1 657
Благодарностей
656
Баллы
113
Очень, доходчиво, примерно такое же было у меня в голове, но я так же ниразу не программер и не знаком с кодом, так что может буть кто то начиркает в свободную минутку..думаю такой таймер будет достаточно популярен в инете.
 

zennoX

Client
Регистрация
05.04.2014
Сообщения
484
Благодарностей
134
Баллы
43
Вообще было бы идеально, если в одной из след.версий включили макрос "Время", прибавив к которому число в мин, получили бы правильный результат, вне зависимости от того с перескоком на час или нет.
Это сильно бы облегчило код шаблонов с применением таймеров и нагрузку на зенку.

Кто за - голосуйте лайком)
 
  • Спасибо
Реакции: Roman*

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Есть {-Environment.TickCount-}
Если поделить на 3600000 то получится количество часов с момента загрузки системы. От этого можно плясать)
 
  • Спасибо
Реакции: zennoX

zennoX

Client
Регистрация
05.04.2014
Сообщения
484
Благодарностей
134
Баллы
43
не совсем то что нужно, наверное. Во сколько она загрузилась-то непонятно)
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
А это зачем? Речь же о вычислении разницы.
 

zennoX

Client
Регистрация
05.04.2014
Сообщения
484
Благодарностей
134
Баллы
43
Разницы да, но снайпер, например, не сделать)
за макрос все равно спасибо)
 

Nick

Client
Регистрация
22.07.2014
Сообщения
1 983
Благодарностей
817
Баллы
113
Есть {-Environment.TickCount-}
Если поделить на 3600000 то получится количество часов с момента загрузки системы. От этого можно плясать)
Интересная переменная, спасибо за инфо. Классно было бы в Вики посмотреть страничку о таких особых переменных, особенно с какими-нибудь полезными сниппетами...
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Они все во вкладке Переменных в табе Environment
Зайдите на любую страницу в PM и посмотрите.
Все интуитивно понятно вроде кроме этих тиков)
 

Nick

Client
Регистрация
22.07.2014
Сообщения
1 983
Благодарностей
817
Баллы
113
return System.DateTime.Now.ToString("HH:mm:ss");
Это текущее время, а как разницу получить, я если честно хз, надо ковыряться, но и с текущим временем на кубиках можно собрать, то что вам нужно.
для этого на c# можно поиграть со стандартным классом TimeSpan. Его методы принимают две переменные DateTime и возвращают разницу между ними
 

NNzet

Client
Регистрация
26.01.2014
Сообщения
114
Благодарностей
29
Баллы
28
Нагуглил

Возвратит текущее время в юникстайме

Код:
return (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000;
 

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
Часто возникает необходимость работы с временем, а инструмента нету. Знать программирование, это, конечно, круто, но не всем же быть программистами.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
А при чем тут переменные окружения? Их формат статичен, не изменяется.
Если вам нужен сниппет в коде для чего-то для этого есть отдельная ветка. Или C# сниппет можно заказать на любом сайте для фрилансеров.
 

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
Ну да, можно всё заказать.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
ZennoPoster это программа для не программистов.
Возможность использовать код внутри шаблона является дополнительной для расширения функционала основного для тех кто знает программирование.
Если вам нужен тот или иной сниппет, или та или иная реализация в коде, тут 4 варианта:
1) вы умеете программировать и пишите все сами.
2) вы не программируете и заказываете код у фрилансера. и это нормально.
3) вы спрашиваете на форуме и в силу специфики нашего комьюнити у нас очень часто помогают пользователям тем, кто не знает код те, кто его знает.
4) или можно научиться :-) если есть желание :-) у многих ребят с форума кто помогает в том числе остальным, нет никакого программерского образования. они всему учатся сами. прочитали книжку с базовыми понятиями о языке, что-то нужно - гуглят, адаптируют. у меня тоже нет образования математического и языки программирования я никогда нигде не изучал. это не мешает мне найти в интернете для себя что-то и сделать в коде как мне нужно) это вопрос желания и практики.
 

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