Отображение новостей

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Antonq
Сообщения: 39
Зарегистрирован: Пн окт 07, 2013 6:15 pm

Отображение новостей

Сообщение Antonq »

Доброго времени суток!
Загрузил новости с RSS, читает мне Алиса(уже Алена) эти новости, когда появляются новые.
Но вот вопрос в том, что я не нашел как вывести эти новости скажем на главный экран, или последние 3 и т.д.
Или что бы Алиса читала их по команде "расскажи новости" (где прописывать команды я нашел, кстати кто какие команды ей запрограммировал?)
Это можно сделать только запросом в БД или какими-то более стандартными средствами?
Antonq
Сообщения: 39
Зарегистрирован: Пн окт 07, 2013 6:15 pm

Re: Отображение новостей

Сообщение Antonq »

Действительно сложно?
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Контактная информация:

Re: Отображение новостей

Сообщение sergejey »

Antonq писал(а):Действительно сложно?
я себе это записал в задачки (вызов модуля RSS со списком новостей), но пока не получается заняться. до того пока только через SQL -- как для проговаривания так и для вывода можно сделать (выборку последних новостей и запись их в переменную какую-нибудь)

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Antonq
Сообщения: 39
Зарегистрирован: Пн окт 07, 2013 6:15 pm

Re: Отображение новостей

Сообщение Antonq »

Спасибо, понял, попробую:)
Опыта в ООП почти нет, но если получится выложу то что получилось)
Antonq
Сообщения: 39
Зарегистрирован: Пн окт 07, 2013 6:15 pm

Re: Отображение новостей

Сообщение Antonq »

Проде получилось, теперь Алиса по команде "Новости" читает последние новости добавленые(точнее прочитаные), если новостей нет, то она говорит что их нет.
Если кому надо могу поделиться.
Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

Re: Отображение новостей

Сообщение Amarok »

Делись :)
Моя Алиска живёт на Proxmox в Debian 12
Antonq
Сообщения: 39
Зарегистрирован: Пн окт 07, 2013 6:15 pm

Re: Отображение новостей

Сообщение Antonq »

1. Создал класс News и наделил его свойствами LastNewsId и методом ReadNewN(метод для чтения новых новостей)
2. Создал объект ThisNews
Вот текст метода

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

$last_id=getGlobal('ThisNews.LastNewsId');
$values=SQLSelect("SELECT * 
FROM  `rss_items` 
WHERE  ID >".$last_id);
if($values) { 
$total=count($values);
say("Новости",5);
for($i=0;$i<$total;$i++){
$sql="SELECT * 
FROM  `rss_items` 
WHERE  ID =".$values[$i]['ID'];

	$value=SQLSelectOne($sql);
	
	say($value['TITLE'],5);

};
$last_id=$value['ID'];

setGlobal('ThisNews.LastNewsId',$last_id);

say('Вот и все новости на сегодня! Хорошего дня!');

} else {say("Нет новых новостей",5);};
3. В объекте ThisComputer подредактировал метод вот таким образом

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

$command=$params['command'];

$short_command='';
$dt=recognizeTime($command,$short_command);

if (preg_match('/скажи сколько время/is',$command)) {
if ($dt>0) {
addScheduledJob("command".$dt,"processCommand('".$short_command."');",$dt);
say('Задача принята');
return;
}
global $voicemode;
$voicemode='on';
say('Сейчас '.timeNow());
} elseif (preg_match('/сколько время/is',$command)) {
if ($dt>0) {
addScheduledJob("command".$dt,"processCommand('".$short_command."');",$dt);
say('Задача принята');
echo $short_command;
return;
}
say('Сейчас '.timeNow());
} elseif (preg_match('/повтори (.+)/is',$command,$m) || preg_match('/скажи (.+)/is',$command,$m)) {
if ($dt>0) {
addScheduledJob("command".$dt,"processCommand('".$short_command."');",$dt);
say('Задача принята');
return;
}
global $voicemode;
$voicemode='on';
say($m[1]);
}
elseif (preg_match('/новости/is',$command)) {
    global $voicemode;
    $voicemode='on';
    callMethod('ThisNews.ReadNewN');

}

else {
say('Неизвестная команда...');
}
4. Зашел в 127.0.0.1/phpmyadmin4/ в бд db_terminal в таблице rss_items посмотрел айди последней новости и присвоил ее свойству объекта ThisNews.LastNewsId

Вот вроде как то так:)
Прошу не судить строго за код, в ООП первый опыт!
DiArt
Сообщения: 210
Зарегистрирован: Пт апр 12, 2013 2:27 pm
Откуда: Уфа

Re: Отображение новостей

Сообщение DiArt »

Супер! Поставил себе. Спасибо тебе, добрый человек )))
А как ты выводишь на домашнюю страницу?
Система на Неттоп 3Q Nettop Qoo!
(Intel Celeron J1800, 2x2410 МГц, 4096 Мб, HDD 1000 Гб, HDMI, VGA , Wi-Fi, Ethernet, Ubuntu 14.04.2)
Вторая система на Raspberry Pi 3.
D-Link DCS-930L/Broadlink RM2-Pro/BroadLink SP3 CC/Ginzzu HS-K07W
Я в CONNECT
Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

Re: Отображение новостей

Сообщение Amarok »

Antonq писал(а):Прошу не судить строго за код, в ООП первый опыт!
Работает. Спасибо!
DiArt писал(а):А как ты выводишь на домашнюю страницу?
Кажется, пока никак. :(
Моя Алиска живёт на Proxmox в Debian 12
Antonq
Сообщения: 39
Зарегистрирован: Пн окт 07, 2013 6:15 pm

Re: Отображение новостей

Сообщение Antonq »

сегодня постараюсь написать метод для вывода
Ответить