Поздравления от Алисы в Majordomo и Telegram
Что бы поздравления не были скучными создадим архив поздравлений для Алисы.
Настройки - Текстовые файлы - Добавить
Название: birthday
Данные:
Поздравить рада с днём рожденья, Здоровья, счастья пожелать, С улыбкой, добрым настроеньем Свой путь по жизни продолжать.
Желаю радости всегда И настроенья бодрого, Не знать печали никогда И в жизни всего доброго.
Желаю я простого счастья И тихой радости земной. И пусть житейские ненастья Всегда обходят стороной.
Желаю жить еще сто лет И жизнью наслаждаться, Не знать ни горя и ни бед, Почаще улыбаться. Простить врагов, найти друзей От всей души желаю. Любить себя, любить людей, Ведь люди удивляют!
Пусть в этот день все ярче солнце светит, Цветы под ноги стелются ковром, Желаю крепкого здоровья, счастья, смеха, Всего того, что называется добром.
С днём рожденья поздравляю, Здоровья, счастья я желаю, Успехов в творческом труде, Любви и радости в семье!
С днём рожденья поздравляю, Здоровья, счастья я желаю, Успехов в творческом труде, Любви и радости в семье! Желаю жизни без тревог, Прогнать печали за порог, Желаю жить - не унывать И про друзей не забывать!
Желаю жизни без тревог, Прогнать печали за порог, Желаю жить - не унывать И про друзей не забывать!
Желаю забыть про болезни, невзгоды. Желаю здоровья на долгие годы!
Желаю в жизни лишь успеха, меньше грусти, больше смеха, Дорогу жизни подлинней И много радости на ней!
Желаю неба чистого и солнышка лучистого: Мира вечного и счастья бесконечного, Здоровья, радости, успеха, Побольше радостного смеха.
Желаю крепкого сибирского здоровья, безумной любви, надежных и верных друзей!
Поздравляю с днём варенья! Желаю, чтоб всё было, и за это ничего не было.
Живи, балдей и в жизни будет все окей! =)
В объектах добавим классу Users два свойства birthday и telegram.
Их нужно заполнить. Вписать дату рождения к пр. 01.01.1999 в свойство birthday
и ID пользователя с приложения Telegram в свойство telegram.
Их нужно заполнить. Вписать дату рождения к пр. 01.01.1999 в свойство birthday
и ID пользователя с приложения Telegram в свойство telegram.
Далее в сценариях создаём новый сценарий с названием birthday.
Сценарии - Добавить новый сценарий
Сценарии - Добавить новый сценарий
Вот с таким кодом.
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.".birthday"));
if (($USd == $TCd)&($USm == $TCm)) {
$telega=gg($user.".telegram");
$fullName=gg($user.".fullName");
$bodytext=$fullName.": ";
$bodytext.=getRandomLine(birthday);
$bodytext.=" С днем рождения! (Алиса)";
if($telega == FALSE){
say('Сегодня у пользователя "'.$fullName.'" День рождения, не забудь поздравить! :)',3);
} else {
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendMessageToUser($telega, $bodytext);
}
}
}
if ($fullName=='unknown') {
say ("На сегодня я дней рождения не обнаружила.",-1);
}
И сохраняем.
Далее заходим в Объекты - Timer - ClockChime - Методы - Timer-> onNewMinute - Настроить
И добавляем в код вот такую строчку.
if (($h==13 and $m=="00")) { RunScript('birthday'); } //Поздравляю с днем рождения
Сохраняемся.
Далее нам нужен второй метод.
Объекты - Timer - ClockChime - Методы - Timer-> onNewHour - Настроить
Возможно метод будет пустой, делаем всё как на картинке и добавляем вот этот разовый код.
$h=(int)date('G',time());
$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")]);
Жмём Обновить.
Далее нам нужно запустить метод. Ниже жмём на надпись test.
Он добавит объекту ThisComputer нужные свойства.
Откроется пустое окно браузера, закрываем его.
Далее удаляем весь разовый код в методе 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")]);
}
Всё готово. Проверить в действии можно если одному из пользователей в качестве даты рождения ввести сегодняшнюю дату и запустить сценарий birthday набрав в браузере:
http://IP-адрес-majordomo:80/objects/?script=birthday
или же нажав на ссылку в самом сценарии.
Объекты - Timer - ClockChime - Методы - Timer-> onNewHour - Настроить
Возможно метод будет пустой, делаем всё как на картинке и добавляем вот этот разовый код.
$h=(int)date('G',time());
$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")]);
Жмём Обновить.
Далее нам нужно запустить метод. Ниже жмём на надпись test.
Он добавит объекту ThisComputer нужные свойства.
Откроется пустое окно браузера, закрываем его.
Далее удаляем весь разовый код в методе 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")]);
}
Всё готово. Проверить в действии можно если одному из пользователей в качестве даты рождения ввести сегодняшнюю дату и запустить сценарий birthday набрав в браузере:
http://IP-адрес-majordomo:80/objects/?script=birthday
или же нажав на ссылку в самом сценарии.
Комментарии
Отправить комментарий