home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 1_2002.ISO / Data / Zips / CODE_UPLOAD137391132001.psc / clsScript.cls < prev    next >
Encoding:
Visual Basic class definition  |  2001-01-07  |  11.2 KB  |  378 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "clsScript"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Public Channel      As String
  15. Public Nick         As String
  16. Public MYNick       As String
  17. Public Active       As String
  18.  
  19. Private strOut As String
  20.  
  21. Function Dur(lngSeconds As Long) As String
  22.     If lngSeconds = 0 Then Dur = "0 seconds": Exit Function
  23.     Dim yrs As Long, mnths As Long, dys As Long, hrs As Long, mns As Long, scs As Long
  24.     
  25.     yrs = Int(lngSeconds / 31557600) '# of seconds in a year
  26.     lngSeconds = lngSeconds Mod 31557600
  27.     
  28.     mnths = lngSeconds / 2629800    '# of seconds in month
  29.     lngSeconds = lngSeconds Mod 2629800
  30.     
  31.     dys = lngSeconds / 86400    '# of seconds in a day
  32.     lngSeconds = lngSeconds Mod 86400
  33.     
  34.     hrs = lngSeconds / 3600     '# of seconds in an hour
  35.     lngSeconds = lngSeconds Mod 3600
  36.     
  37.     mns = Int(lngSeconds / 60)
  38.     scs = lngSeconds Mod 60
  39.     
  40.     Dur = LeftR(SV(yrs, "year") & _
  41.                SV(mnths, "month") & _
  42.                SV(dys, "day") & _
  43.                SV(hrs, "hour") & _
  44.                SV(mns, "minute") & _
  45.                SV(scs, "second"), 1)
  46.     
  47.                
  48. End Function
  49.  
  50.  
  51. Public Sub ExecAlias(strAlias As String, strData As String)
  52.     Dim strCode As String
  53.     
  54.     strData = GetAliasCode(strAlias)
  55.     If strData = chr(8) Then Exit Sub
  56.     Client.cScript.ExecuteStatement strData
  57. End Sub
  58.  
  59. Public Function AscTime(lngTime As Long)
  60. '    AscTime = AscTime(lngTime)
  61. End Function
  62.  
  63.  
  64. Public Sub Away(Optional strMsg As String = "")
  65.     strOut = GetAlias(Channel, "AWAY " & strMsg)
  66. End Sub
  67.  
  68. Public Sub Back()
  69.     strOut = GetAlias(Channel, "back")
  70.     Client.SendData strOut
  71. End Sub
  72.  
  73.  
  74. Public Function ChanCount(strChannel As String) As Integer
  75.     Dim inttemp As Integer
  76.     inttemp = GetChanIndex(strChannel)
  77.     
  78.     If inttemp = -1 Then
  79.         ChanCount = 0
  80.     Else
  81.         ChanCount = Channels(inttemp).intUserCount
  82.     End If
  83.     
  84. End Function
  85.  
  86. Public Sub Connect(strServer As String, Optional lngPort As Long = 6667)
  87.     strOut = GetAlias(Channel, "connect " & strServer & " " & lngPort)
  88. End Sub
  89.  
  90. Public Sub CTCP(strWho As String, strWhat As String)
  91.     strOut = GetAlias(Channel, "ctcp " & strWho & " " & strWhat)
  92.     Client.SendData strOut
  93. End Sub
  94.  
  95. Public Sub DCCChat(strWho As String)
  96.     strOut = GetAlias(Channel, "dccchat " & strWho)
  97.     Client.SendData strOut
  98. End Sub
  99.  
  100. Public Sub DCCSend(strWho As String, Optional strFile As String = "")
  101.     strOut = GetAlias(Channel, "dccsend " & strWho & " " & strFile)
  102.     Client.SendData strOut
  103. End Sub
  104. Public Sub describe(strText As String, Optional strChannel As String = "")
  105.     If strChannel = "" Then strChannel = Channel
  106.     strOut = GetAlias(strChannel, "ME " & strText)
  107.     Client.SendData strOut
  108. End Sub
  109.  
  110.  
  111. Public Sub Disconnect()
  112.     strOut = GetAlias(Channel, "disconnect")
  113. End Sub
  114.  
  115.  
  116. Public Sub ECHO(strCaption As String, strText As String)
  117.     
  118.     Dim strTemp As String, inttemp As Integer
  119.     
  120.     If left(strCaption, 1) = "#" Then
  121.         inttemp = GetChanIndex(strCaption)
  122.         If inttemp = -1 Then Exit Sub
  123.         PutData Channels(inttemp).DataIn, strText
  124.     ElseIf LCase(strCaption) = "status" Then
  125.         PutData Status.DataIn, strText
  126.     ElseIf InStr(strCaption, "DCC Chat - ") Then
  127.         PutData DCCChats(GetDCCChatIndex(RightOf(strCaption, " - "))).DataIn, strText
  128.     ElseIf strCaption = "@" Then
  129.         On Error Resume Next
  130.         PutData Client.ActiveForm.DataIn, strText
  131.         
  132.         '* If not active window has datain, echo to status
  133.         If Err Then PutData Status.DataIn, strText
  134.     Else
  135.         inttemp = GetQueryIndex(strCaption)
  136.         If inttemp = -1 Then Exit Sub
  137.         PutData Queries(inttemp).DataIn, strText
  138.     End If
  139.         
  140. End Sub
  141.  
  142.  
  143.  
  144. Function args(intStart As Integer, Optional intEnd As Integer = -1) As String
  145.     '* This returns the given parameter range as one string
  146.     '* -1 specified as strEnd means from intStart to the last parameter
  147.     '* Ex: strParams(1) is "#mIRC", then params 2 thru 16 are the nicks
  148.     '*     of the users in the channel, simply do something like this
  149.     '*     strNames = Params(2, -1)
  150.     '*     that would return all the nicks into one string, similar to mIRC's
  151.     '*      $#- identifier ($2-) in this case
  152.     
  153.     '* Declare variables
  154.     Dim strFinal As String, intLast As Integer, i As Integer
  155.     
  156.     '* check for bad parameters
  157.     If intStart < 1 Or intEnd > UBound(parameters) + 1 Then Exit Function
  158.     
  159.     '* if intEnd = -1 then set it to param count
  160.     If intEnd = -1 Then intLast = UBound(parameters) + 1 Else intLast = intEnd
  161.         
  162.     intStart = intStart + 1
  163.     For i = intStart To intLast
  164.         strFinal = strFinal & parameters(i - 1)
  165.         If i <> intLast Then strFinal = strFinal & " "
  166.     Next i
  167.     
  168.     args = Replace(strFinal, vbCr, "")
  169.     strFinal = ""
  170. End Function
  171.  
  172. Function arg(intWhich As Integer) As String
  173.     '* This returns the given parameter range as one string
  174.     '* -1 specified as strEnd means from intStart to the last parameter
  175.     '* Ex: strParams(1) is "#mIRC", then params 2 thru 16 are the nicks
  176.     '*     of the users in the channel, simply do something like this
  177.     '*     strNames = Params(2, -1)
  178.     '*     that would return all the nicks into one string, similar to mIRC's
  179.     '*      $#- identifier ($2-) in this case
  180.     
  181.     '* Declare variables
  182.     Dim strFinal As String
  183.         
  184.     If intWhich > UBound(parameters) Then intWhich = UBound(parameters)
  185.     strFinal = parameters(intWhich)
  186.     
  187.     arg = Replace(strFinal, vbCr, "")
  188.     strFinal = ""
  189. End Function
  190.  
  191. Public Sub Id(strPw As String)
  192.     strOut = GetAlias(Channel, "ID " & strPw)
  193.     Client.SendData strOut
  194. End Sub
  195.  
  196.  
  197.  
  198. Public Sub Kick(strWho As String, strMsg As String, Optional StrChan As String = "")
  199.     If StrChan = "" Then StrChan = Channel
  200.     strOut = GetAlias(StrChan, "kick " & strWho & " " & StrChan & " " & strMsg)
  201.     Client.SendData strOut
  202. End Sub
  203. Public Sub Kill(strUser As String, Optional strMsg As String = "Bye")
  204.     strOut = GetAlias(Channel, "kill " & strUser & " " & strMsg)
  205.     Client.SendData strOut
  206. End Sub
  207.  
  208. Public Sub mode(strMode As String, Optional StrChan As String = "")
  209.     If StrChan = "" Then StrChan = Channel
  210.     strOut = GetAlias(StrChan, "mode " & StrChan & " " & strMode)
  211.     Client.SendData strOut
  212. End Sub
  213. Function IsOp(strNick As String, Optional StrChan As String = "")
  214.     If StrChan = "" Then StrChan = Channel
  215.     Dim inttemp As Integer
  216.     inttemp = GetChanIndex(StrChan)
  217.     If intttemp = -1 Then IsOp = False: Exit Function
  218.     
  219.     If Channels(inttemp).IsOp(strNick) Then
  220.         IsOp = True
  221.     Else
  222.         IsOp = False
  223.     End If
  224.     
  225. End Function
  226. Function IsHelper(strNick As String, Optional StrChan As String = "")
  227.     If StrChan = "" Then StrChan = Channel
  228.     Dim inttemp As Integer
  229.     inttemp = GetChanIndex(StrChan)
  230.     If intttemp = -1 Then IsHelper = False: Exit Function
  231.     
  232.     If Channels(inttemp).isHalfOp(strNick) Then
  233.         IsHelper = True
  234.     Else
  235.         IsHelper = False
  236.     End If
  237.     
  238. End Function
  239. Function IsReg(strNick As String, Optional StrChan As String = "")
  240.     If StrChan = "" Then StrChan = Channel
  241.     Dim inttemp As Integer
  242.     inttemp = GetChanIndex(StrChan)
  243.     If intttemp = -1 Then IsReg = False: Exit Function
  244.     
  245.     If Channels(inttemp).isHalfOp(strNick) Then
  246.         IsReg = False
  247.     ElseIf Channels(inttemp).IsOp(strNick) Then
  248.         IsReg = False
  249.     ElseIf Channels(inttemp).IsVoice(strNick) Then
  250.         IsReg = False
  251.     Else
  252.         IsReg = True
  253.     End If
  254.     
  255. End Function
  256.  
  257. Function IsVoice(strNick As String, Optional StrChan As String = "")
  258.     If StrChan = "" Then StrChan = Channel
  259.     Dim inttemp As Integer
  260.     inttemp = GetChanIndex(StrChan)
  261.     If intttemp = -1 Then IsVoice = False: Exit Function
  262.     
  263.     If Channels(inttemp).IsVoice(strNick) Then
  264.         IsVoice = True
  265.     Else
  266.         IsVoice = False
  267.     End If
  268.     
  269. End Function
  270.  
  271. Public Sub msg(strNick As String, strMsg As String)
  272.     Dim strSend As String
  273.     strSend = GetAlias(Channel, "MSG " & strNick & " " & strMsg)
  274.     Client.SendData strSend
  275. End Sub
  276.  
  277.  
  278. Public Sub CJoin(strChn As String)
  279.     Dim strSnd As String
  280.     strSnd = GetAlias(Channel, "JOIN " & strChn)
  281. End Sub
  282. Public Function GetNick(StrChan As String, intIndex As Integer) As String
  283.     Dim inttemp As Integer
  284.     inttemp = GetChanIndex(StrChan)
  285.     
  286.     If inttemp = -1 Then
  287.         GetNick = ""
  288.     Else
  289.         If intWhich > Channels(inttemp).lstNicks.ListCount Then
  290.             GetNick = ""
  291.         Else
  292.             GetNick = RealNick(Channels(inttemp).lstNicks.List(intIndex + 1))
  293.         End If
  294.     End If
  295.     
  296. End Function
  297.  
  298. Public Sub Notice(strNick As String, strMsg As String)
  299.     strOut = GetAlias(Channel, "NOTICE " & strNick & " " & strMsg)
  300.     Client.SendData strOut
  301. End Sub
  302.  
  303. Public Sub Part(Optional StrChan As String = "", Optional strMsg As String = "")
  304.     Dim strSend As String
  305.     If StrChan = "" Then StrChan = Channel
  306.     strSend = GetAlias(Channel, "PART " & StrChan & " " & strMsg)
  307.     Client.SendData strSend
  308. End Sub
  309.  
  310. Public Sub pause(dblLength As Double)
  311.     TimeOut dblLength
  312. End Sub
  313.  
  314.  
  315. Public Sub Ping(strUser As String)
  316.     strOut = GetAlias(Channel, "PING " & strUser)
  317.     Client.SendData strOut
  318. End Sub
  319.  
  320.  
  321. Public Sub Query(strNick As String, Optional strText As String = "")
  322.     Dim strSend As String
  323.     
  324.     strSend = GetAlias(Channel, "QUERY " & strNick & " " & strText)
  325.     Client.SendData strSend
  326. End Sub
  327.  
  328.  
  329. Public Sub Quit(Optional strMsg As String = "using projectIRC, closed")
  330.     strOut = GetAlias(Channel, "QUIT " & strMsg)
  331.     Client.SendData strOut
  332. End Sub
  333.  
  334.  
  335. Public Sub Raw(strData As String)
  336.     Client.SendData strData
  337. End Sub
  338.  
  339.  
  340. Public Sub Server(strServer As String, Optional lngPort As Long = 6667)
  341.     strOut = GetAlias(Channel, "SERVER " & strServer & " " & lngPort)
  342. End Sub
  343.  
  344.  
  345.  
  346. Public Sub ShellEx(What As Variant)
  347.     'as much as i hate variants, this prevents the need to type-cast within the scripting
  348.     'when passing parameters
  349.     ShellExecute 0, "open", What, "", "", 0&
  350. End Sub
  351.  
  352. Function uptime() As String
  353.     uptime = Dur(GetTickCount() / 1000)
  354. End Function
  355.  
  356. Public Sub Version(strUser As String)
  357.     strOut = GetAlias(Channel, "VERSION " & strUser)
  358.     Client.SendData strOut
  359. End Sub
  360.  
  361.  
  362.  
  363. Public Sub Voice(strWho As String, Optional StrChan As String = "")
  364.     If StrChan = "" Then StrChan = Channel
  365.     strOut = GetAlias(StrChan, "voice " & strWho)
  366.     Client.SendData strOut
  367. End Sub
  368. Public Sub Op(strWho As String, Optional StrChan As String = "")
  369.     If StrChan = "" Then StrChan = Channel
  370.     strOut = GetAlias(StrChan, "op " & strWho)
  371.     Client.SendData strOut
  372. End Sub
  373. Public Sub Helper(strWho As String, Optional StrChan As String = "")
  374.     If StrChan = "" Then StrChan = Channel
  375.     strOut = GetAlias(StrChan, "helper " & strWho)
  376.     Client.SendData strOut
  377. End Sub
  378.