URLに反応してそのリンク先のページのタイトルを表示させる方法についての質問Noname - No.1657 [返信]
過去ログで検索しても見つからなかったので質問させてください。
誰かがURLを貼ったとします、するとそのリンク先のページの名前を下記にある例のように表示させたいのです。



<URLを貼った人> http://www.konami.jp/products/mgs2bd_kd332/
[マクロを組んでる人] METAL GEAR SOLID 2 BANDE DESSINEE

こうするにはどういったマクロあるいはスクリプトを組めばよいのでしょうか、教えてください。
使用してるのは最新版のlime231です。
ひゅー - No.1658
スクリプトを使えばHTTPでページを取ってくることができます。
ヘルプのgoogle検索の例を少し修正して書いてみました。

function event::onChannelText(prefix, channel, text)
{
if (text.match(/.*(http:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+).*/i)) {
var url = RegExp.$1;
if (url.length > 0) {
var req = new ActiveXObject("Microsoft.XMLHTTP");
if (req) {
req.onreadystatechange = function() {
if (req.readyState == 4) {
var s = req.responseText;
if (s.match(/<title>(.+?)<\/title>/i)) {
var title = RegExp.$1
send(channel, title);
}
}
}
req.open('GET', url, true);
req.send('');
}
}
}
}

このスクリプトはチャンネルの発言の中からURLらしき物を探し、
見つけた場合それを取得し、titleタグで囲まれた部分を発言します。
ただし、URLが画像ファイル等の場合でも容赦なく読みに行きますので、
エラーで落ちる可能性はあります。
悪意のあるページを故意に張り付ける人もいるでしょうし、
もう少し手を入れた方が良いかもしれません。
Noname - No.1659
>ひゅーさん
回答ありがとうございます!
スクリプトだったんですね、ありがたく使わせていただきます。
身内で使用するのみなのでページの内容についてはおそらく大丈夫だと思います。
いろいろとお手数掛けました><
両断な人 - No.1781
初めまして、両断な人と申します。似た様な質問なので、便乗させて頂きます。

URLタイトル表記のスクリプト(http://d.hatena.ne.jp/gede99/20080504/1209905370)を使用させていただいています。
URLの前に「秘密」をつけると反応しなくなるようにしたいのですが、どうすればいいのかと悩んでおります。
お知恵をお貸しいただければと思いまして、書き込みさせて頂きました。
稚拙な部分が目立つとは思いますが、何卒ご協力のほどお願い致します。