悩み続けているRSSのヒントがありました。
普通リンクなんでしょうが、メモさせてくださいませ。
(日本のSLブログslmameのリンクとか外れてたり何かあったのでしょうか?)
勉強させてもらいます。
//
// SHOP ZERO Tips38 RssReader script v1.0
//
// Created by Zero2000 Kid 2009/02/02
//
// Title
string title="++ ソラマメ新着 ++";
// YahooPipe URL
string pipeURL="http://pipes.yahoo.com/pipes/pipe.run?_id=c890298689189b27880118f7b57b28c7&_render=rss&textinput=item.";
// Article Count
integer articleCount=5;//max12
// Refresha rate
float refreshRate=300.0;//refresh timer sec
integer input_ch = -38;
integer handle;
key http_req;
string respons_data;
list article_list;
integer counter;
showInfo () {
integer i;
string msg=title+"\n";
integer ct = llGetListLength(article_list)/4;
for (i = 0; i < ct; i++) msg+=llList2String(article_list,4*i)+"."+llList2String(article_list,4*i+1)+"\n";
llSetText(msg,<0,1,0>,1);
}
fetchdata(string data) {
string tmpstr;
counter++;
list l1 = llParseString2List(data, ["<item>"], []);
list l2 = llParseString2List(llList2String(l1,1), ["\n"], []);
string title = getvalue(llList2String(l2,0),"</title>");
string link = getvalue(llList2String(l2,1),"</link>");
string description = getvalue(llList2String(l2,2),"</description>");
article_list+=[(string)counter,title,link,description];
if (counter<articleCount) {
http_req=llHTTPRequest(pipeURL+(string)counter,[HTTP_METHOD,"GET"],"");
} else showInfo();
}
string getvalue (string str,string tag) {
string tmpstr=llInsertString(llStringTrim(str,STRING_TRIM),1,"/");
list l = llParseString2List(tmpstr, [tag], []);
tmpstr=llList2String(l,0);
tmpstr=llGetSubString(tmpstr,0,50);
return tmpstr;
}
refresh_article () {
counter=0;
article_list=[];
llSetText("Refresh Now...",<0,1,0>,1);
http_req=llHTTPRequest(pipeURL+(string)counter,[HTTP_METHOD,"GET"],"");
}
default
{
state_entry() {
refresh_article();
llSetTimerEvent(refreshRate);
}
on_rez(integer param){
llResetScript();
}
touch_start(integer t) {
handle = llListen(input_ch,"",llDetectedKey(0),"");
list menulist=llList2ListStrided(article_list, 0, -1, 4);
menulist+=["Refresh"];
llDialog(llDetectedKey(0), "Please select articel.", menulist, input_ch);
}
listen(integer ch, string name, key id, string message) {
if (message=="Refresh") refresh_article();
else {
integer index=llListFindList(article_list,[message]);
string title=llList2String(article_list,index+1);
string link=llList2String(article_list,index+2);
string description=llList2String(article_list,index+3);
llLoadURL(llGetOwner(), "++++++++++++\n"+title+"\n++++++++++++\n"+description, link);
}
llListenRemove(handle);
}
timer(){
refresh_article();
}
http_response(key request_id, integer status, list metadata, string body) {
if (request_id == http_req) {
fetchdata(body);
}
}
}
Wikiをベースにしてましたが日本語の方が楽なのでslmameで検索してなかったら
wikiに行くってことにしました。
xstreetで見つけました
返信削除https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=122338
L$39
yahoo pipingsの仕組みがよくわからないです。
返信削除もしも自分のブログのRSSを取ろうとすると
ここに登録するってことになるのかな?
サイトがキメウチなら十分なんですけどね。
あと、フローティングテキスト版は低プリムになるし、いいですね。