• 締切済み

limechatのスクリプトについて質問です。

とある文字を書き込むと、それから30分後の時間をライムチャット中に表示する事はできるでしょうか? 例えば 12:00(ユーザ名) 飛行機 12:00 飛行機は12:30です。 という風な感じで作りたいのですが、柿の様に書いたところ作動しません。 function event::onChannelText(prefix, channel, text) { if (prefix.nick != myNick) { if (text.match(/ひこうき/) || text.match(/飛行機/)) { var now = new Date();{ send(now.getMinutes(now.getMinutes() + 30)); } } } } どのように手直しすればよいか教えていただけたら幸いです。

みんなの回答

  • mikemike7
  • ベストアンサー率87% (97/111)
回答No.1

limechatはよくわからないですが、 質問は、単純に30分後の時刻を知りたいということでしょうか? if (text.match(/ひこうき/) || text.match(/飛行機/)) { var now = new Date(); var after = new Date(now.getTime() + 30 * 60 * 1000); var aftertime = after.getHours() + ":" + after.getMinutes(); } で30分後の時刻が入ると思います。

reyakku
質問者

お礼

おかげで解決できました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • limechatのスクリプトに詳しい人教えて

    私はBouyomiLimeChat.jsのスクリプトを使用してチャット内のコメントを棒読みちゃんで読ましています。 やりたい事(例) aさん:こんにちわ 効果音(ポロンっ)再生終わった後 (音声)aさん こんにちわ ↓こすると効果音はなりますが棒読みちゃんの音声と効果音が同時スタートなので重なちゃいます。どうにか効果音が再生終わった後に棒読みちゃん音声スタートにしたいのですが何方か伝授お願いします。 var bNick = false; var bInOut = false; var sRemoteTalkCmd = null; var oShell; var oWmi; function play() { playSound('SendingSound.wav'); } function addTalkTask(text) { if(sRemoteTalkCmd == null) { findRemoteTalk(); if(sRemoteTalkCmd == null) { log("RemoteTalkが見つからないのでスキップ-" + text); return; } } oShell.Run(sRemoteTalkCmd + " \"" + text.replace("\"", " ") + "\"", 0, false); } function talkChat(prefix, text) { if (bNick){ addTalkTask(prefix.nick + "。" + text);        play();   } else { addTalkTask(text);           play(); } } function findRemoteTalk() { var proc = oWmi.ExecQuery("Select * from Win32_Process Where Name like 'BouyomiChan.exe'"); var e = new Enumerator(proc); for(; !e.atEnd(); e.moveNext()) { var item = e.item(); var path = item.ExecutablePath.replace("\\BouyomiChan.exe", ""); sRemoteTalkCmd = "\"" + path + "\\RemoteTalk\\RemoteTalk.exe\" /T"; log("棒読みちゃん検出:" + path); } } function event::onLoad() { oShell = new ActiveXObject("Wscript.Shell"); oWmi = GetObject("winmgmts:\\\\.\\root\\cimv2"); //addTalkTask("ライムチャットとの連携を開始しました"); } function event::onUnLoad() { oShell = null; oWmi = null; //addTalkTask("ライムチャットとの連携を終了しました"); } function event::onConnect(){ addTalkTask(name + "サーバに接続しました"); } function event::onDisconnect(){ addTalkTask(name + "サーバから切断しました"); } function event::onJoin(prefix, channel) { if (bInOut) { addTalkTask(prefix.nick + "さんが " + channel + " に入りました"); } } function event::onPart(prefix, channel, comment) { if (bInOut) { addTalkTask(prefix.nick + "さんが " + channel + " から出ました。"); } } function event::onQuit(prefix, comment) { if (bInOut) { addTalkTask(prefix.nick + "さんがサーバから切断しました。"); } } function event::onChannelText(prefix, channel, text) { talkChat(prefix, text); //log("CnannelText[" + channel + "]" + text); } function event::onChannelNotice(prefix, channel, text) { talkChat(prefix, text); //log("CnannelNotice[" + channel + "]" + text); } function event::onChannelAction(prefix, channel, text) { talkChat(prefix, text); //log("CnannelAction[" + channel + "]" + text); } function event::onTalkText(prefix, targetNick, text) { talkChat(prefix, text); //log("TalkText[" + prefix.nick + "]" + text); } function event::onTalkNotice(prefix, targetNick, text) { talkChat(prefix, text); //log("TalkNotice[" + prefix.nick + "]" + text); } function event::onTalkAction(prefix, targetNick, text) { talkChat(prefix, text); //log("TalkAction[" + prefix.nick + "]" + text); }

  • 「誕生日まであと○日です」

    <html> <head> <title>test</title> </head> <body> <SCRIPT LANGUAGE="javascript" TYPE="text/javascript"> <!-- var weeks = new Array('日','月','火','水','木','金','土'); var now = new Date(); var year = now.getYear(); // 年 var month = now.getMonth() + 1; // 月 var day = now.getDate(); // 日 var week = weeks[ now.getDay() ]; // 曜日 var hour = now.getHours(); // 時 var min = now.getMinutes(); // 分 var sec = now.getSeconds(); // 秒 if(year < 2000) { year += 1900; } // 数値が1桁の場合、頭に0を付けて2桁で表示する指定 if(month < 10) { month = "0" + month; } if(day < 10) { day = "0" + day; } if(hour < 10) { hour = "0" + hour; } if(min < 10) { min = "0" + min; } if(sec < 10) { sec = "0" + sec; } document.write('今日:' + year + '年' + month + '月' + day + '日'); // --> </SCRIPT> </body> </html> これで今日の日付けは表示できたのですが 誕生日が7/31なのですが document.writeで 「誕生日まであと○日です」 と表示するにはどうすれば良いでしょうか?

    • ベストアンサー
    • HTML
  • 取得した時間の表示について。

    現在デジタル時計を表示しています。が この表示の形を変更したいのです。 //以下スクリプト var now:Date; var h:Number, m:Number, s:Number,l:Number,d:Number,o:Number,p:Number; this.onEnterFrame = function() { now = new Date(); d = now.getFullYear(); o = now.getUTCMonth()+1; p = now.getUTCDate(); h = now.getHours(); m = now.getMinutes(); s = now.getSeconds(); l = now.getMilliseconds(); date.text = d; mon.text =o; day.text =p; Hours.text = h; Minute.text = m; Seconds.text = s; mini.text = l; } // このスクリプトでは現在、静止テキスト"/" 、":"を挟み 2006/12/ 2/ 18: 5:974 のように表示されます。 この時計の表示を 06/12/02/18:05:97 のように表示したい(すべてのデータを二桁に)のですが うまくいきません。 何か良い方法がないか探しております よろしくお願いします。

    • ベストアンサー
    • Flash
  • ちょっと変わった自動更新

    10分ごとに画像が変わるところがあり、そのアドレスは 8月14日11時0分だと http://aaa.bbb/ccc/08141100.gif となっています。 ただし、その画像更新自体が各2分後(00分のデータなら02分、10分のデータなら12分・・・)まで反映されておいません。そのため、2分間はひとつ前のデータを表示する必要があります。 var now = new Date(); //時間取得 var month = now.getMonth()+1; //月 var day = now.getDate(); //日 var hour = now.getHours(); //時 var min = now.getMinutes(); //分 //二ケタ表示 if(month < 10) { month = "0" + month; } if(day < 10) { day = "0" + day; } if(hour < 10) { hour = "0" + hour; } if(min < 10) { min = "0" + min; } location.href = "http://aaa.bbb/ccc/" + month + day + hour + min + ".gif"; 上記の方法で現在時刻の画像が表示されてくれると思うのですが(違ったら指摘お願いします) ifで03分~12分なら画像のアドレス末尾を00.gifにするーとかだと、03-12、13-22、23-32、33-42、43-52、53-02の6つifを作る他ないのでしょうか? また、自動更新に関して「各2分に更新する」といった方法がわかりません。 何かアドバイスいただけると幸いです。

  • このスクリプトにアレンジを加えたいのですが...。

    イラストレーターに貼り付けた画像をフォトショップで適した解像度に修正してくれるスクリプトなのですが、どなたかこのスクリプトをどうにか Photoshopの画像解像度の「スタイルを拡大・縮小」と「縦横比固定」と「画像の再サンプル」すべてにチェックを入れた状態で起動するようにアレンジしていただけないでしょうか? (現状だとスタイルを拡大・縮小にチェックが入っていないようで画像に レイヤー効果が使用されていると不具合が生じます。) (illustratorでリンク画像を選択→ExtendScript Toolkitでスクリプト起動→Photoshopで画像変換) なおこのスクリプトのソース元は ttp://d.hatena.ne.jp/kamiseto/20090610/1244628779 です。 #include 'c.js';//http://svn.coderepos.org//share/platform/illustrator/javascript/lib/c.js #include 'matrixConvert.jsx';//http://d.hatena.ne.jp/kamiseto/20090502/1241251512 #target 'illustrator'; (function(){ var default_reso = 350; var reso = prompt ('解像度(pixel/inch)とを数字で入力してください。不正な文字が入力された場合はデフォルトの350pixel/inchで計算します。', 350, '解像度(pixel/inch)となる数字を入力して下さい。')*1; if(reso == 0 || typeof reso !== 'number')reso = default_reso; //Photoshop Resize Image Function function ResizeImage(file,hs,vs,reso){ open(File(file)); var myDoc = app.activeDocument; var hasClippingPath = (function(){ for(i=0;i<app.activeDocument.pathItems.length;i++)if(app.activeDocument.pathItems[i].kind == PathKind.CLIPPINGPATH)return true; return false; })(); var isPSD = (function(){ var f = new File(app.activeDocument.fullName); f.open('r'); var h = (f.read('4')); f.close(); return h == '8BPS' ? true : false; })(); if(isPSD && hasClippingPath){ hs = hs*(myDoc.resolution/72); vs = vs*(myDoc.resolution/72); } myDoc.resizeImage (UnitValue((myDoc .width.as('pixel'))*hs*reso/myDoc.resolution,'pixel'), UnitValue((myDoc .height.as('pixel'))*vs*reso/myDoc.resolution,'pixel'),reso, ResampleMethod.BICUBICSHARPER); } // function FinalImageSize(ImgObj){ var info = getPlacedItemInfo(ImgObj); if(info['type'] == 'PDF')return; if(info['type'] == 'EPSF' && info['creator'].match(/Photoshop/) != 'Photoshop')return false; var mat = matrixConvert.getAll(ImgObj); // if(0.7 < ((mat.hs*mat.vs)/10000) && ((mat.hs*mat.vs)/10000) < 1.3)return; try{ var bt=new BridgeTalk(); bt.target = 'photoshop'; bt.body = uneval (ResizeImage)+"('"+ImgObj.file+"',"+mat.hs/100+","+mat.vs/100+","+reso+");"; bt.onError = function (btObj) {alert( btObj.body + " (" + btObj.headers ["Error-Code"] + ")" ); }; bt.send(); }catch(e){ throw(e); } } function getPlacedItemInfo(pi){ if(pi.file.exists){ var info = { 'type' :'', 'creator' : '', 'color' : '' }; var f = new File(pi.file); var g = ""; var header = ""; f.open('r'); switch(g = f.read(4)){ case '8BPS' : f.seek(0,0); /* while(header = f.readln()){ if(header)tmph = header; }; f.seek((-1*tmph.length)-8,1); */ info['type'] = 'PSD'; break; case '%!PS' : f.seek(0,0); var header = (f.read(1000)); info['type'] = 'EPSF'; //Creator if(creator = header.match (/%%Creator:(.+)/))info['creator'] = creator[1]; //Duotobe if(duotone = header.match(/%%DocumentCustomColors: \((.+)\)/))info['color'] =duotone[1]; //CMYK or GrayScales if(colors = header.match (/%%DocumentProcessColors:\s(.+)/))info['color'] = colors[1]; break; case '%PDF' : info['type'] = 'PDF'; //break; default : /* f.seek(0,0); //$.writeln(g); while(header = f.readln()){$.writeln(header);} */ break; } f.close(); } return info; } c("S").filter("placedItems").each(FinalImageSize); //FinalImageSize(app.activeDocument.placedItems[0]); })();

  • ジャバスクリプトで文字列を変換したい!

    Google AJAX Feed APIで、ホームページにRSSを表示する際、出力されるブログ名を別の名前に置換したいです。 if (entry.title.match(/.*PR:.*/mi) == null) とPRのついているタイトルを消去するように、 if文と、replaceなんかでいけそうな気がするのですが、記述の方法がわかりません。 置換例として。。。 もし、ブログ名(entry.blogName)が「私のブログ」ならば、「つれずれ日記」に置換する。 といった具合です。 どうぞ宜しくお願いいたします。 ソースは以下のとおりです。 <script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script> <script type="text/javascript" src="http://www.google.com/jsapi?key=........."></script> <script type="text/javascript"> <!--// google.load("feeds", "1"); var entryArray = new Array(); var entryNum = 0; function initialize() { feedAdd("http://feedblog.ameba.jp/........../rss20.xml", 1);//取得したサイトのRSSフィードを入力。足りない場合は適宜4,5,6....と増やす } function feedAdd(rssUrl, boolNum) { var feed = new google.feeds.Feed(rssUrl); feed.setNumEntries(2);//サイト1つあたりの取得するフィード数 feed.load(function(result) { if (!result.error) { for (var i = 0; i < result.feed.entries.length; i++) { entryArray[entryNum] = result.feed.entries[i]; var date = new Date(result.feed.entries[i].publishedDate); entryArray[entryNum].sortDate = ( date.getFullYear()*1000000 ) + ( (date.getMonth() + 1)*3600*32 ) + ( date.getDate()*3600 ) + ( date.getHours()*60 ) + date.getMinutes(); entryArray[entryNum].blogName = result.feed.title; entryNum+=1; } } if(boolNum==1){ feedOutput("feed", 10);//フィードの出力 } }); } function feedOutput(feedId, listNum){ var useFeed = ""; var useDate = ""; var container = document.getElementById(feedId); entryArray = asort(entryArray, "sortDate"); if(listNum==10){//出力するリスト数 listNum = entryNum; } for (var i = 0; i < listNum; i++) { var entry = entryArray[i]; var date = new Date(entry.publishedDate); var y = date.getFullYear(); if (y < 10) {y = "0" + y;} var m = date.getMonth() + 1; if (m < 10) {m = "0" + m;} var d = date.getDate(); if (d < 10) {d = "0" + d;} var h = date.getHours(); if (h < 10) {h = "0" + h;} var mn = date.getMinutes(); if (mn < 10) {mn = "0" + mn;} var s = date.getSeconds(); if (s < 10) {s = "0" + s;} if (entry.title.match(/.*PR:.*/mi) == null) { useDate = y + "年" + m + "月" + d + "日"; useFeed += '<div style="float:left;width:150px;margin:0px 0px 0px 5px">'+ y + "月" + m + "日" + d + " [" + h + ':' + mn + "]" +'</div><div style="float: left;width:220px;height:18px;overflow:hidden;"><a href="' + entry.link + '" target="_blank" title="' + entry.title + '【' + entry.blogName + '】">' + entry.title + '</a> <img src="http://b.hatena.ne.jp/entry/image/large/' + entry.link + '"></div><div style="float:left;width:100px;height:13px;overflow:hidden;max-width:8em;padding:1px 0px 0px 0px;margin:1px 0px 0px 0px">' +"(投稿) "+ entry.blogName + '</div>...<br><hr size="1"/>'; }

  • タイマー機能について

    テキストに書いてあったのですが、デジタル時計を作り、1秒事に時間を動かすプログラムを作りました。 ですが、テキストどおりに作ったにも関わらず時間が動かずに大変困っています。 そこで皆様方のお力をお貸しして頂きたく、こちらに質問させてもらいました。 少し長いですが、ソースコードは以下のとおりです。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <meta http-equiv="Content-type" content="text/html; charset=UTF-8"> <title>タイマー</title> <style type="text/css"> input { width: 90px; font-size: 70px; font-family:monospace; } p{font-size: 60px;} <script type="text/javascript"> var hourBox, minBox, secBox; var timer; window.onload = init(); funciton init() { hourBox = document.clockForm.hour; minBox = document.clockForm.minute; secBox = document.clockForm.sec; dClock(); } function dClock() { var now = new Date(); var hour = now.getHours(); var min = now.getMinutes(); var sec = now.getSeconds(); if (hour<10) hour = "0" + hour; if (min<10) = "0" + min; if (sec<10) = "0" + sec; hourBox = hour; minBox = min; secBox = sec; timer = setTimeout("dClock()", 1000); } </style> </script> </head> <body bgcolor="#FFFFFF"> <form name="clockForm"><p> <input type="text" name="hour">時 <input type="text" name="minute">分 <input type="text" name="sec">秒 </p></form> </body> </html> これでプログラムを実行すると、 □時□分□秒 (□はテキストボックスと思って下さい) このような画面が表示されます。 なので、テキストボックスの全てに「10」と入力しましたが、いくら待っても時間が変更する兆しが見えません。 どうしたらちゃんと動くのでしょうか。 アドバイスどうぞ宜しくお願い致します。

  • CGIを呼び出した場合の戻り値をDOMオブジェクトにする

    var rtn; var obj = new XMLHttpRequest(); obj.open("GET","/test.xml"); obj.setRequestHeader(~略~); obj.send(""); obj.onreadystatechange = function( ){   if(obj.readyState == 4){     rtn = obj.responseXML);   } } この場合のrtnの値はtext.xmlのDOMオブジェクトとなりますが、 これを、 var obj = new XMLHttpRequest(); obj.open("GET","/test.cgi"); obj.send(""); とし、cgiからの戻り値としてDOMオブジェクトを受けることは可能ですか? やはりcgiからプログラムを通じてxmlファイルを作成し、 それをもう一度、 obj.open("GET","/test.xml"); obj.send(""); として読み込むしかないでしょうか?

  • ActionScript3.0の記述が長い・・・

    ActionScript3.0の記述が長い・・・ お世話になっています。 最近Flashを始めました初心者です。 現在FlashCS5である値を計算する計算機のようなFlashを制作しています。 ・・・と、やりたいことは実現できましたので、 このことは質問と直接関係ないのですが。。 質問は、スクリプトのまとめ方(?)についてです。 というのも、初心者だけに知っていることしかできないので、 絶対に一緒に出来るだろうと言うような、同じような記述がたくさん出てきます。 それを配列や演算子を使用し、ソースをすっきりさせたいのです。 無理なものもあるかもしれませんが、 以下のまとめ方をお教えください。 -- (1) -- a.restrict = "0-9"; b.restrict = "0-9"; c.restrict = "0-9"; d.restrict = "0-9"; e.restrict = "0-9"; -- (2) -- var A:Number = Number(a.text); var B:Number = Number(b.text); var C:Number = Number(c.text); var D:Number = Number(d.text); var E:Number = Number(e.text); -- (3) -- var A = B - 100 if(A < 0){ A = 0; }; var C = A / B if(C < 0){ C = 0; }; var D = C * B if(D < 0){ D = 0; } if(D > 0){ D = Math.round(D); }; -- (3) -- F.text = String(A); G.text = String(B); H.text = String(C); I.text = String(D); J.text = String(E); 変数は適当に当てはめています。 お分かりになる方がいらっしゃいましたらご教授ください。 よろしくお願い致します。

    • ベストアンサー
    • Flash
  • JavaScript文字列連携に関して

    質問させて頂きます。 下記のようなテキストフォームがあったとして、submit押された時に、jsを走らせ、テキストに数値以外が入っていないかチェックしたいと考えています。 ------------------------------------------------- <input type="text" name="text_1" /> <input type="text" name="text_2" /> <input type="text" name="text_3" /> ------------------------------------------------- チェック自体は下記のような記述で行うことが出来ました。 ------------------------------------------------- if(document.form1.text_1.value.match(/[^0-9]+/)){ //文字です } if(document.form1.text_2.value.match(/[^0-9]+/)){ //文字です } if(document.form1.text_3.value.match(/[^0-9]+/)){ //文字です } ------------------------------------------------- ですが、同じif文を並べて記述したくなかったので、for文を使って記述したいと考えました。 ------------------------------------------------- for (var i=1 ; i<=3 ; i++){ if(document.form1.text_1.value.match(/[^0-9]+/)){ //文字です } } ------------------------------------------------- この時、if文内のtext_1をどのように記述すれば、text_1,text_2,text_3と変化させることが出来るでしょうか。 ※「text_ + i +」等試してみましたが、正常に動作出来ませんでした。 ご存知の方がいらっしゃいましたら、ご教授頂けると助かります。 また、質問の内容に不備な点があるかもしませんが、その際はご指摘頂けると幸いです。 よろしくお願いいたします。