[Сценарий] С днем рождения!

Не требует установки программ или изменения файлов

Модераторы: immortal, newz20

Аватара пользователя
Amarok
Сообщения: 1415
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 455 раз
Поблагодарили: 125 раз
Контактная информация:

Re: С днем рождения!

Сообщение Amarok » Пт окт 23, 2015 12:41 pm

alexon писал(а):
Amarok писал(а):
alexon писал(а):А на мой вопрос ни кто не ответит?
Peoples.zip
Не могу настроить. Вроде все правильно делаю. А код который в peoples.zip куда прикрутить?
Могу помочь. Есть teamviewer?
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
alexon
Сообщения: 8
Зарегистрирован: Вт фев 17, 2015 8:26 pm
Благодарил (а): 0
Поблагодарили: 0

Re: С днем рождения!

Сообщение alexon » Чт окт 29, 2015 3:47 pm

Спасибо. У меня заработал сценарий

say ("Проверим, есть ли сегодня дни рождения у кого-нибудь из пользователей.",-1);
$TCd=gg("ThisComputer.DateD");
$TCm=gg("ThisComputer.DateM");
$fullName='unknown';
$objects=getObjectsByClass("Users");
foreach($objects as $obj) {
$user=$obj['TITLE'];
list($USd, $USm, $USy) = explode(".", gg($user.".Brithday"));
if (($USd == $TCd)&($USm == $TCm)) {
$fullName=gg($user.".fullName");
$bodytext=$fullName.": ";
$bodytext.=getRandomLine(birthday);
$bodytext.=" С днем рождения! (Алиса)";
say($bodytext,1);
runScript('send_mes', array('to'=>$fullName,'subj'=>"- HappyBirthday -",'msg'=>$bodytext,'what'=>"SMS"));
}

}
if ($fullName=='unknown') {
say ("На сегодня я дней рождения не обнаружила.",-1);
}
alexon
Сообщения: 8
Зарегистрирован: Вт фев 17, 2015 8:26 pm
Благодарил (а): 0
Поблагодарили: 0

Re: С днем рождения!

Сообщение alexon » Пн ноя 02, 2015 10:57 am

А как и где присваиваются значения

$TCd=gg("ThisComputer.DateD");
$TCm=gg("ThisComputer.DateM");

А то у меня поздравляет каждый день. У пользователей прописан день и месяц рождения.
Аватара пользователя
Vovix
Сообщения: 1152
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 58 раз
Поблагодарили: 512 раз
Контактная информация:

Re: С днем рождения!

Сообщение Vovix » Пн ноя 02, 2015 12:07 pm

alexon писал(а):А как и где присваиваются значения

$TCd=gg("ThisComputer.DateD");
$TCm=gg("ThisComputer.DateM");

А то у меня поздравляет каждый день. У пользователей прописан день и месяц рождения.
Вообще это уже было в темах, но у меня это организованно так -
в начале метода onNewHour у меня есть такой код:
СпойлерПоказать

Код: Выделить всё

$h=(int)date('G',time());

// раскидываем дату и время если сейчас 00:00 час
if (($h=="00")) {
$day[0]="воскресенье";
$day[1]="понедельник";
$day[2]="вторник";
$day[3]="среда";
$day[4]="четверг";
$day[5]="пятница";
$day[6]="суббота";

$month[1]="января";
$monthAlt[1]="ЯНВАРЬ";
$month[2]="февраля";
$monthAlt[2]="ФЕВРАЛЬ";
$month[3]="марта";
$monthAlt[3]="МАРТ";
$month[4]="апреля";
$monthAlt[4]="АПРЕЛЬ";
$month[5]="мая";
$monthAlt[5]="МАЙ";
$month[6]="июня";
$monthAlt[6]="ИЮНЬ";
$month[7]="июля";
$monthAlt[7]="ИЮЛЬ";
$month[8]="августа";
$monthAlt[8]="АВГУСТ";
$month[9]="сентября";
$monthAlt[9]="СЕНТЯБРЬ"; 
$month[10]="октября";
$monthAlt[10]="ОКТЯБРЬ";
$month[11]="ноября";
$monthAlt[11]="НОЯБРЬ";
$month[12]="декабря";
$monthAlt[12]="ДЕКАБРЬ";

sg("ThisComputer.DateD",date( "d", time()));
sg("ThisComputer.DateM",date( "m", time()));
sg("ThisComputer.DateY",date( "Y", time()));
sg("ThisComputer.Date",date( "d.m.Y", time()));
sg("ThisComputer.Day",$day[date("w")]);
sg("ThisComputer.Month",$month[date("n")]);
sg("ThisComputer.MonthAlt",$monthAlt[date("n")]);
}

 
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
sega6549
Сообщения: 519
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 60 раз
Поблагодарили: 75 раз
Контактная информация:

Re: С днем рождения!

Сообщение sega6549 » Сб апр 09, 2016 5:52 pm

что то у меня не взлетело, пробовал оба варианта сценария, прописал день рождения сегодняшним числом в свойствах пользователя, дату алиса знает, нажимаю выполнить скрипт и в итоге пишет что дней рождения на сегодня не обнаружено... куда копать ума не приложу, тут же все просто как 2 пальца, но не работает почему то
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
Аватара пользователя
adzam
Сообщения: 583
Зарегистрирован: Сб дек 08, 2012 10:28 pm
Откуда: Кишинев
Благодарил (а): 16 раз
Поблагодарили: 131 раз

Re: С днем рождения!

Сообщение adzam » Вт апр 12, 2016 3:10 pm

А как сделать , чтоб предупреждала в логе за 3 дня до дня рожления, за 2 дня, за день и в сам день отсылала смс
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Аватара пользователя
adzam
Сообщения: 583
Зарегистрирован: Сб дек 08, 2012 10:28 pm
Откуда: Кишинев
Благодарил (а): 16 раз
Поблагодарили: 131 раз

Re: С днем рождения!

Сообщение adzam » Пт апр 22, 2016 7:24 am

sega6549 писал(а):что то у меня не взлетело, пробовал оба варианта сценария, прописал день рождения сегодняшним числом в свойствах пользователя, дату алиса знает, нажимаю выполнить скрипт и в итоге пишет что дней рождения на сегодня не обнаружено... куда копать ума не приложу, тут же все просто как 2 пальца, но не работает почему то
Проверь все даты в ThisComputer
У меня почему то потерялась ThisComputer.DateD и пока не обновил дату не пошло
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Аватара пользователя
adzam
Сообщения: 583
Зарегистрирован: Сб дек 08, 2012 10:28 pm
Откуда: Кишинев
Благодарил (а): 16 раз
Поблагодарили: 131 раз

Re: С днем рождения!

Сообщение adzam » Пт апр 22, 2016 5:59 pm

Подскажите как поменять пути чтоб Файл birthday.txt положить в templates
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
rtroyakov
Сообщения: 109
Зарегистрирован: Сб июл 11, 2015 2:54 am
Откуда: Московская обл,город Ногинск
Благодарил (а): 27 раз
Поблагодарили: 6 раз

Re: С днем рождения!

Сообщение rtroyakov » Вс апр 24, 2016 7:58 pm

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

Если Вы просто скопировали код от Vovix ,то в строчке list($USd, $USm, $USy) = explode(".", gg($user.".Brithday")); есть ошибка,точнее описка(это для нас людей опечатка,а для машины-это символ и ,соответственно,неверный путь,неверное свойство объекта,свойства,которого нет; точнее я про английское написание слова "день рождения",т.е. "birthday" ,т.е. вот так должно быть list($USd, $USm, $USy) = explode(".", gg($user.".birthday")); и у Вас и свойство,данное классу,соответственно и объектам этого класса,(по идее) тоже должно быть написано с маленькой буквы) .
Если Вы просто скопировали код от Amarok,то в строчках:
$today=gg("Time.DayOfMonthNum");
$today.=".";
$today.=gg("Time.MonthNum");
как я думаю,тоже есть описки,а именно точка после $today

Будьте внимательны.Всё работает.Проверяйте и делайте либо своё,переделывая соответственно названия классов,свойств,методов и т.д. в скриптах,либо пользуйтесь наработками других людей,таких как Vovix,Amarok.Парни грамотные и даже помогут,если обратитесь напрямую.
За это сообщение автора rtroyakov поблагодарил:
kas5858 (Вт янв 17, 2017 12:55 am)
Рейтинг: 1.18%
sega6549
Сообщения: 519
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 60 раз
Поблагодарили: 75 раз
Контактная информация:

Re: С днем рождения!

Сообщение sega6549 » Вс апр 24, 2016 8:12 pm

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

Если Вы просто скопировали код от Vovix ,то в строчке list($USd, $USm, $USy) = explode(".", gg($user.".Brithday")); есть ошибка,точнее описка(это для нас людей опечатка,а для машины-это символ и ,соответственно,неверный путь,неверное свойство объекта,свойства,которого нет; точнее я про английское написание слова "день рождения",т.е. "birthday" ,т.е. вот так должно быть list($USd, $USm, $USy) = explode(".", gg($user.".birthday")); и у Вас и свойство,данное классу,соответственно и объектам этого класса,(по идее) тоже должно быть написано с маленькой буквы) .
Если Вы просто скопировали код от Amarok,то в строчках:
$today=gg("Time.DayOfMonthNum");
$today.=".";
$today.=gg("Time.MonthNum");
как я думаю,тоже есть описки,а именно точка после $today

Будьте внимательны.Всё работает.Проверяйте и делайте либо своё,переделывая соответственно названия классов,свойств,методов и т.д. в скриптах,либо пользуйтесь наработками других людей,таких как Vovix,Amarok.Парни грамотные и даже помогут,если обратитесь напрямую.
Ок, завтра попробую ещё раз, если получится то запишу видос)))
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
Ответить