Ok.. I was looking for a way to make a memo system similar to MemoServ. Since I didnt find any.. I decided to make my own =).
To send a memo: !send
You can send a memo privately if you query the bot.
If the recipient is online, the bot will notice them saying "You have a new message!" Otherwise, the bot will notice the person when they join.
on *:TEXT:!send*:*: {
/writeini memos.ini $2 sender $nick
/writeini memos.ini $2 receiver $2
/writeini memos.ini $2 sender $nick
/writeini memos.ini $2 msg $3-
/writeini memos.ini $2 time $date(ddd) $date(mmmm) $date(dd) at $time(hh:nn TT)
notice $nick Memo has been sent to $2 $+ .
notice $2 You have a new memo! Type !read to view it.
}
on *:JOIN:#:{
if ($readini(memos.ini,$nick,receiver) = $nick) {
notice $nick You have a memo from $readini(memos.ini,memo,sender) Type !read to view it!
}
}
on *:TEXT:!read:*: {
if ($readini(memos.ini,$nick,receiver) = $nick) {
notice $nick Memo from $readini(memos.ini,$nick,sender) on $readini(memos.ini,$nick,time)
notice $nick ------------------------------------------------------------------------
notice $nick $readini(memos.ini,$nick,msg)
notice $nick ------------------------------------------------------------------------
notice $nick This Memo will be deleted in five seconds.
/timer 1 5 /remini memos.ini $nick
}
else notice $nick You dont have any memos at the moment!
}
on *:TEXT:!send*:*: {
;________________________________________________________________________________edit of original by sharpknife (hawkee.com)
;/writeini memos.ini $2 sender $nick
.writeini memos.ini $2 receiver $2
.writeini memos.ini $2 sender $nick
var %nick $nick
.write $($+($2,.memo)) ( $+ $date(ddd) $date(mmmm) $date(dd) at $time(hh:nn TT) $+ ) %nick $+ : $3-
set %nickvar %nick
;/writeini memos.ini $2 time $date(ddd) $date(mmmm) $date(dd) at $time(hh:nn TT)
;var %qwe $readini(memos.ini,$2,num)
;if (!%qwe) /writeini memos.ini $2 num 1
;if (%qwe) /writeini memos.ini $2 num $calc(%qwe + 1)
.notice $nick Memo has been sent to $2 $+ .
.notice $2 You have a new memo from $nick $+ ! Type !read to view it.
}
on *:JOIN:#:{
if ($readini(memos.ini,$nick,receiver) = $nick) {
.notice $nick You have $lines($($+($nick,.memo)) $+ ) memo(s). Type !read to view it!
}
}
on *:TEXT:!read:*: {
var %ert $lines($($+($nick,.memo)))
if ($eval(%ert,4)) {
;msg # if works
var %wer 1
;var %ert $readini(memos.ini,$2,num)
while (%wer <= %ert) {
;msg # while works
.timer 1 $eval($calc(%wer*2),3) .msg $nick $read($eval($+($nick,.memo),4),%wer)
.inc %wer 1
}
;notice $nick Memo from $readini(memos.ini,$nick,sender) on $readini(memos.ini,$nick,time)
;notice $nick ------------------------------------------------------------------------
;notice $nick $readini(memos.ini,$nick,msg)
;notice $nick ------------------------------------------------------------------------
;notice $nick This Memo will be deleted in five seconds.
}
.remini memos.ini $nick
.remove $($+($nick,.memo))
else msg $nick You dont have any memos at the moment!
}
i made an edit of it at the bequest of a friend....thought i might share....pbb gonna change the time too since differing time zones but meh....for another day....its so long cus i didn't delete any lines as i was editing, lol.....now it holds more than one memo and tells u how many
There\'s a lot of memoserv-like scripts out there. Couple of them are my Simple Memoserv and xMemoserv v2. You can also use them for reference if you want to improve your script.