SMS Send MTEL
# EggSmSMtel-0.2 by JohnnyCage (Simeon Mladenov)
#### Nastroika ####
# Tuk poso4ete dali vseki da moje da polzva uslugata.
# 0 - vseki; 1 - samo potrebiteli s +S flag
set fifi 1
# Tuk poso4ete dali da se logva koi e izprashtal SMS-i
# 0 - ne; 1 - da
set logvam 0
##### Nasam ako ne razbirate po-dobre ne promeniate nishto #####
if {![file exists sms.dat]} {
putlog "Faila go niama"
set myfile [open "sms.dat" w]
set edno [lindex [date] 0]
set dve [lindex [date] 1]
puts $myfile "15 $edno $dve"
close $myfile
}
bind msg - !sms send_sms
bind msg - !leftsms ostavat
bind msg - !smshelp smshelp
putlog "*** EggSmSMtel-0.2 by JohnnyCage loaded"
set filedata [open "sms.dat" r]
gets $filedata zapisi
set kolko [lindex $zapisi 0]
set mdata [lindex $zapisi 1]
set mmesec [lindex $zapisi 2]
close $filedata
proc send_sms {nick uhost hand elka} {
global kolko mdata mmesec fifi logvam
if {$fifi} {
if {![matchattr $hand S]} {
putserv "PRIVMSG $nick :samo potrebiteli s +S flag mogat da izprashtat SMS-i"
return 0
}
}
set ddata [lindex [date] 0]
set dmesec [lindex [date] 1]
if {$ddata > $mdata || $dmesec != $mmesec} {
set kolko 15
}
if {$kolko == 0} {
putserv "PRIVMSG $nick :za dnes limita ot SMS-i (15) e iz4erpan. Sardi se na MobilTel :<"
return 0
}
set daljina [llength $elka]
set nomer [lindex $elka 0]
set zag [lindex $elka 1]
set text [lrange $elka 2 [expr $daljina - 2]]
set ot [lindex $elka [expr $daljina - 1]]
if {$daljina < 4} {
putserv "PRIVMSG $nick :Ne ste vaveli niakoi ot argumentite! !SMSHELP za da vidite sintaksisa!"
return 0
}
if {![string match 087* $nomer] && ![string match 088* $nomer]} {
putserv "PRIVMSG $nick :Nevaliden nomer! Koda na Mtel e ili 088 ili 087!"
return 0
}
if {[string length $nomer] != 9} {
putserv "PRIVMSG $nick :Nomera triabva da 9 cifri zaedno s koda!"
return 0
}
set validen {0 1 2 3 4 5 6 7 8 9}
set uspeh 0
for {set hm 0} {$hm != 9} {incr hm} {
foreach fiz $validen {
if {[string range $nomer $hm $hm] == $fiz} {
set uspeh [expr $uspeh + 1]
}
}
}
if {$uspeh != 9} {
putserv "PRIVMSG $nick :nevaliden simvol v nomera!"
return 0
}
putserv "PRIVMSG $nick :OK, molia izka4aite!"
exec sms2mtel "$nomer" "$zag" "$text" "$ot"
putserv "PRIVMSG $nick :saobshtenieto e izprateno."
set sim [open "sms.dat" w]
set kolko [expr $kolko - 1]
puts $sim "$kolko $ddata $dmesec"
close $sim
if {$logvam} {
set logfail [open "sms.log" a]
set vreme [time]
set boza [date]
puts $logfail "\[$boza\]\[$vreme\] $nick!$uhost izprati SMS"
close $logfail
}
}
proc ostavat {nick uhost hand klamer} {
global kolko
set blqf [date]
set izprateni [expr 15 - $kolko]
putserv "PRIVMSG $nick :za dnes $blqf sa izprateni $izprateni SMS-a, ostavat $kolko"
}
proc smshelp {nick uhost hand duma} {
putserv "NOTICE $nick :Komandite se vavejdat na PRIVATE"
putserv "NOTICE $nick :!sms <nomer> <zaglavie> <text na sms-a> <ot kogo e> - izprashta sms."
putserv "NOTICE $nick :!leftsms -pozkazva kolko SMS-a sa izprateni i kolko ostavat za denia."
}