Роботы, плагины и скрипты к чату MyChat. Разработка альтернативных клиентов и различных утилит. Технические вопросы по программированию, замечания и предложения по развитию API
Аватара пользователя
ota-elena
Здравствуйте!
Подскажите, как сделать запуск создания доски объявления в определенное время?
Проверку на день недели прописала, но вот чтобы в 11.30 один раз в день запустилось.
Сейчас у меня стоит запуск каждые 30 сек, но получается, что объявление успевает в пятницу показаться в 11.30 два раза(((
Аватара пользователя
Алексей Пикуров
Здравствуйте, Елена. Покажите текст своего скрипта, пожалуйста.
Аватара пользователя
ota-elena
to_all := 'Коллеги!Ежепятничное напоминание:' тут длинный текст
if (FormatDateTime('ddd', dt)='Пт') and (FormatDateTime('t', dt)='11:30') then begin
mAddNewBBSMessage(true, to_all, EndOfTheDay(Now));
end;

Сейчас этот в код в составе user defined scripts/ every30seconds
Аватара пользователя
Алексей Пикуров
Сделайте вот так:

Код: Выделить всё
// Поставьте событие 1 раз в минуту. 
var
  sToday, sOld, sMsg: string;
  dt: double;
begin
  dt := Now;
 
    if FormatDateTime('ddd', dt) = 'Пт' then
      if FormatDateTime('hhnn', dt) = '1130' then begin
        sToday := FormatDateTime('ddmmyyyyhhnn', dt); // получаем текущую дату и время

        // читаем из реестра запись о прошлом запуске
        RegGetString(HKEY_CURRENT_USER, 'Software\MyChatServerScripts\EveryFridayReminder', sOld);

          // если мы уже работали сегодня, то ничего не делаем
          if sToday<>sOld then begin
            // записываем в реестр текущую дату и время
            RegSetString(HKEY_CURRENT_USER, 'Software\MyChatServerScripts\EveryFridayReminder', sToday);
            sMsg := 'Коллеги! Ежепятничное напоминание:';
            mAddNewBBSMessage(true, sMsg, EndOfTheDay(Now));
          end;
       end;   
end.
Аватара пользователя
Алексей Пикуров
В новой версии я добавил функцию DayOfTheWeek для определения дня недели по дате, чтобы не извращаться с FormatDateTime (на нерусской локали такой код будет работать некорректно).

viewtopic.php?p=23164#p23164

Переношу ветку обсуждения в раздел скриптов.