Onoitsu2 Posted September 14, 2006 Posted September 14, 2006 This little script will allow the creation of an Ignore List for use with MOH (LTMOH) 1.72, which is a call recieving application for use when dialed into a v.92 server (Most Dialup ISP's have at least a few numbers that allow this functionality). You will see a popup that will display the Caller ID information of the person calling (ONLY if you have that phone feature, if not then this script will do nothing for you). You have the choice of Answering the call, or Ignoring it. If you choose Answer then you can pickup the phone for a limited, this length depends on the ISP. Call_Ignore.au3 Call_Ignore.ico ltmoh172.zip This has 2 preset numbers in it, one is for JP Morgan Chase, and the other one is for Capital One, both annoying crerditors that can call quite often. CODE#Include <Constants.au3> #include <Misc.au3> #include <Array.au3> $numbers = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Call Ignore","Ignore Numbers") If $numbers = "" Then $numbers = "2105860050||8003264593||" EndIf Dim $ignoreon = True, $ignoreall = False TrayTip("","Starting Call Ignore Monitor",10,16) Opt("TrayMenuMode",3) Opt("TrayOnEventMode",1) TraySetClick(18) $checkitem = TrayCreateItem("Ignore Toggle",-1,-1) TrayItemSetState($checkitem, $TRAY_CHECKED) TrayItemSetOnEvent($checkitem,"CheckToggle") $autoitem = TrayCreateItem("Auto Ignore All Calls",-1,-1) TrayItemSetOnEvent($autoitem,"AutoToggle") TrayCreateItem("",-1) $additem = TrayCreateItem("Add Number to Ignore List",-1,-1) TrayItemSetOnEvent($additem,"AddNumber") $delitem = TrayCreateItem("Delete Number from Ignore List",-1,-1) TrayItemSetOnEvent($delitem,"DeleteNumber") $listitem = TrayCreateItem("List Numbers in Ignore List",-1,-1) TrayItemSetOnEvent($listitem,"ListNumbers") TrayCreateItem("",-1) $exit = TrayCreateItem("Exit",-1) TrayItemSetOnEvent($exit,"_exiter") While 1 If $ignoreon Then ;If WinExists("Dialog - 142") Then If WinExists("V.92 Modem On Hold") Then If $ignoreall Then $handle = WinGetHandle("V.92 Modem On Hold");WinGetHandle("Dialog - 142") $person = ControlGetText($handle,"",1019) $name = StringRegExp($person,"Name:\s(.*)$",3) $number = StringRegExp($person,"Number:\s(\d{10})",3) ControlClick($handle,"",1035,"left",1) If IsArray($name) And IsArray($number) Then TrayTip("Auto Ignoring Call (All Call Ignore ON)","Name: " & $name[0] & @CRLF & "Number: ("&StringLeft($number[0],3)&")"&StringMid($number[0],4,3)&"-"&StringRight($number[0],4),10,17) Else TrayTip("Auto Ignoring Call (All Call Ignore ON)","Call Auto Ignored",10,16) EndIf Sleep(500) WinSetState($handle,"",@SW_HIDE) WinWaitClose($handle) TrayTip("","Internet Connection Resumed",10,16) Else $handle = WinGetHandle("V.92 Modem On Hold");WinGetHandle("Dialog - 142") $person = ControlGetText($handle,"",1019) $name = StringRegExp($person,"Name:\s(.*)$",3) $numarray = StringRegExp($numbers,"(\d{10})\||",3) For $i = 0 to (UBound($numarray) - 1) If StringInStr($person,"Number: " & $numarray[$i]) Then If IsArray($name) Then TrayTip("Ignoring Call From Ignore List","Name: " & $name[0] & @CRLF & "Number: ("&StringLeft($numarray[$i],3)&")"&StringMid($numarray[$i],4,3)&"-"&StringRight($numarray[$i],4),10,17) Else TrayTip("Ignoring Call from Ignore List","Number: "&$numarray[$i],10,16) EndIf ControlClick($handle,"",1035,"left",1) Sleep(500) WinSetState($handle,"",@SW_HIDE) WinWaitClose($handle) TrayTip("","Internet Connection Resumed",10,16) EndIf Next EndIf EndIf EndIf Sleep(50) WEnd Func CheckToggle() $ignoreon = NOT $ignoreon If $ignoreon Then TrayItemSetState($checkitem, $TRAY_CHECKED) TrayItemSetState($autoitem,$TRAY_ENABLE) Else TrayItemSetState($checkitem, $TRAY_UNCHECKED) TrayItemSetState($autoitem, $TRAY_UNCHECKED) TrayItemSetState($autoitem,$TRAY_DISABLE) $ignoreall = False EndIf TrayTip("","Call Ignore Monitoring " & _Iif($ignoreon,"Enabled","Disabled"),10,16) EndFunc Func AutoToggle() $ignoreall = NOT $ignoreall If $ignoreall Then TrayItemSetState($autoitem, $TRAY_CHECKED) Else TrayItemSetState($autoitem, $TRAY_UNCHECKED) EndIf TrayTip("","Ignore ALL Calls " & _Iif($ignoreall,"Enabled","Disabled"),10,16) EndFunc Func AddNumber() $inumber = InputBox("Number to Add To Ignore List","Please Enter the 10 digit number to add to the Ignore List" & @CRLF & "Eg.: 5555555555",""," 10","-1","-1","-1","-1") Select Case @Error = 0 ;OK - The string returned is valid If StringInStr($numbers,$inumber&"||") Then MsgBox(4096,"Number Already In List!","Number Already In List!") Else $numbers = $numbers & $inumber & "||" RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Call Ignore","Ignore Numbers","REG_SZ",$numbers) MsgBox(4096,"Number Added!","Number Added!",10) EndIf Case @Error = 1 ;The Cancel button was pushed Case @Error = 3 ;The InputBox failed to open EndSelect EndFunc Func DeleteNumber() $inumber = InputBox("Number to Detete From Ignore List","Please Enter the 10 digit number to delete from the Ignore List" & @CRLF & "Eg.: 5555555555",""," 10","-1","-1","-1","-1") Select Case @Error = 0 ;OK - The string returned is valid If $inumber = "2105860050" or $inumber = "8003264593" Then MsgBox(4096,"Cannot Remove Number!","Number Entered is Either Chase or Capital One, and Will NOT Be Removed") Else If NOT StringInStr($numbers,$inumber&"||") Then MsgBox(4096,"Number Not In List!","Number Not In List!") Else $numarray = StringRegExp($numbers,"(\d{10})\||",3) For $i = 0 to UBound($numarray) - 1 If $numarray[$i] = $inumber Then _ArrayDelete($numarray,$i) MsgBox(4096,"Number Deleted!","Number Deleted!",10) ExitLoop EndIf Next For $i = 0 To UBound($numarray) - 1 If $i > 0 Then $numbers = $numbers & $numarray[$i] & "||" Else $numbers = $numarray[$i] & "||" EndIf Next RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Call Ignore","Ignore Numbers","REG_SZ",$numbers) EndIf EndIf Case @Error = 1 ;The Cancel button was pushed Case @Error = 3 ;The InputBox failed to open EndSelect EndFunc Func ListNumbers() $lister = "" $numarray = StringRegExp($numbers,"(\d{10})\||",3) For $i = 0 to UBound($numarray) - 1 If $i > 0 Then $lister = $lister & @CRLF & "(" & StringLeft($numarray[$i],3) & ")" & StringMid($numarray[$i],4,3) & "-" & StringMid($numarray[$i],7,4) Else $lister = "(" & StringLeft($numarray[$i],3) & ")" & StringMid($numarray[$i],4,3) & "-" & StringMid($numarray[$i],7,4) EndIf Next MsgBox(4096,"Number List:","The Following Numbers are on the Ignore List:" & @CRLF & $lister) EndFunc Func _exiter() RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Call Ignore","Ignore Numbers","REG_SZ",$numbers) Exit EndFunc Enjoy, Onoitsu2 Things I have made:[font="Trebuchet Ms"]_CheckTimeBlock UDF(LT)MOH Call Ignore List (MOH = Modem On Hold)[/font]
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now