0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【LimeChat】定時に曜日を発言スクリプト

Posted at
/*
 指定した時間にメッセージを出力するスクリプト
  ※連投防止のため指定時間の1分後に動作します
  ※上記時間から最大で±1分程度の誤差があります
 
 *Version*
 1.0:新規作成
 
*/
// 出力設定
var today = new Date();
var weekday = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];

var messageText = weekday[today.getDay()];
var hour = 22; // 時(24時間表示)
var min = 18;  // 分(1桁でも0は不要…あっても動くかも)
var channel = "#aaa";


/*
 連投防止用wait関数
*/
function wait(intervalTime)
{
	setTimeout(showMessage, 60 * 1000);
}

/*
 メッセージ出力関数
*/
function showMessage()
{
	send(channel, messageText);
	setNextTimer();
}

/*
 タイマー設定
*/
function setNextTimer()
{
	log("ABC:" + channel);
	var now = new Date();

	var nextH = hour - now.getHours();
	var nextM = min - now.getMinutes();
	var intervalTime = ((nextH * 60) + nextM) * 60 * 1000;
	if (intervalTime < 0)
	{
		intervalTime = (((24 * 60) * 60) * 1000 ) + intervalTime;
	}
	var nextDate = new Date();
	nextDate.setTime(now.getTime() + intervalTime + 1000);
	log("DEF:" + nextDate.toLocaleString());
	setTimeout(wait, intervalTime);
	log("GHI:" + messageText);
}

/*
 起動時イベント
*/
function event::onLoad()
{
	setNextTimer();
}

参考

http://blog.nakajijapan.net/archives/2209
https://lab.syncer.jp/Web/JavaScript/Snippet/3/
http://persimummies.hatenablog.com/entry/2015/04/12/110217
https://peacepopo.net/blog-entry-151.html

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?