Advertisement
Guest User

Untitled

a guest
May 14th, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Public Sub CommandCheck(strUser As String, strMessage As String, ByVal Ping As Long)
  2. On Error GoTo EndingOfSUB
  3.  
  4. If GetStuff("Settings", "DisableCommands") = "1" Then
  5.     Exit Sub
  6. End If
  7.  
  8. Dim strCmd As String
  9. Dim strFlags As String, TheUser As Long, strRest As String
  10.    
  11.     TheUser = Form1.DB.FindUser(strUser)
  12.     If TheUser = -1 Then Exit Sub
  13.     strFlags = Form1.DB.GetFlags(strUser)
  14.  
  15.     strTrigger = GetStuff("Settings", "Trigger")
  16.    
  17.     If Mid(strMessage, 1, 8) = "?trigger" Then
  18.         Form1.Queue.AddItem "My current trigger is: " & strTrigger
  19.         Exit Sub
  20.     End If
  21.    
  22.     If InStr(strFlags, "M") > 0 Then strFlags = "DONMASTR"
  23.    
  24.     If LCase(Mid(strMessage, 1, 1)) = strTrigger Then
  25.         strCmd = Split(strMessage, strTrigger)(1)
  26.         If Len(strCmd) < 2 Then Exit Sub
  27.         Dim paramS() As String
  28.         paramS() = Split(strCmd, " ")
  29.         strRest = Mid(strCmd, Len(paramS(0)) + 2)
  30.    
  31.         Select Case LCase(paramS(0))
  32.             Case "pingme", "myping", "ping", "findping":
  33.             If InStr(strFlags, "M") > 0 Or InStr(strFlags, "N") > 0 Then
  34.                 If UBound(paramS) > 0 Then
  35.                     If paramS(1) = "me" Then
  36.                         Form1.Queue.AddItem (strUser & "'s ping is " & Ping & " ms.")
  37.                     Exit Sub
  38.                 ElseIf paramS(1) = "?" Then
  39.                     Form1.Queue.AddItem "To check your own ping, type: " & strTrigger & "pingme, " & strTrigger & "myping, or " & strTrigger & "ping me. To check another users ping, type: " & strTrigger & "ping <Name>."
  40.                     Exit Sub
  41.                 Else
  42.                     If InStr(strFlags, "R") > 0 Or InStr(strFlags, "T") > 0 Or InStr(strFlags, "M") > 0 Then
  43.                         If paramS(0) = "pingme" Then Exit Sub
  44.                         If paramS(0) = "myping" Then Exit Sub
  45.                         Form1.pUser = paramS(1)
  46.                         Form1.pDiscover = True
  47.                         Form1.Queue.AddItem "/w " & paramS(1) & " Ping pong!"
  48.                         Exit Sub
  49.                     End If
  50.                 End If
  51.             Else
  52.                 Form1.Queue.AddItem (strUser & "'s ping is " & Ping & " ms.")
  53.                 Exit Sub
  54.             End If
  55.         End If
  56.         Exit Sub
  57.        
  58.         Case "cq", "clearqueue", "clear":
  59.         If InStr(strFlags, "A") > 0 Or InStr(strFlags, "T") > 0 Or InStr(strFlags, "M") > 0 Then
  60.             If UBound(paramS) > 0 Then
  61.                 If paramS(1) = "?" Then
  62.                     Form1.Queue.AddItem "To use this command, simply type: " & strTrigger & paramS(0)
  63.                     Exit Sub
  64.                 End If
  65.            
  66.                 If paramS(0) = "clear" Then
  67.                     If paramS(1) = "queue" Then
  68.                         Form1.Queue.Clear
  69.                         Form1.Queue.AddItem "Queue Cleared."
  70.                         Exit Sub
  71.                     End If
  72.                 End If
  73.             Else
  74.                 Form1.Queue.Clear
  75.                 Form1.Queue.AddItem "Queue Cleared."
  76.                 Exit Sub
  77.             End If
  78.         End If
  79.         Exit Sub
  80.        
  81.         Case "version", "ver", "about":
  82.         If InStr(strFlags, "N") > 0 Then
  83.             If UBound(paramS) > 0 Then
  84.                 If paramS(1) = "?" Then
  85.                     Form1.Queue.AddItem "To use this command, simply type: " & strTrigger & paramS(0)
  86.                     Exit Sub
  87.                 End If
  88.             Else
  89.                 If StonerMode = True Then
  90.                     Form1.Queue.AddItem "/me is stoned and so is his bot - StonerBot " & App.Major & "." & App.Minor & " - by Mesiah"
  91.                 Else
  92.                     Form1.Queue.AddItem "Dude! I'm a StonerBot " & App.Major & "." & App.Minor & " - by Mesiah"
  93.                 End If
  94.                 Exit Sub
  95.             End If
  96.         End If
  97.         Exit Sub
  98.        
  99.         Case "scrambler":
  100.         If InStr(strFlags, "O") > 0 Then
  101.             If UBound(paramS) > 0 Then
  102.                 If paramS(1) = "?" Then
  103.                     Form1.Queue.AddItem "To use this command, type: " & strTrigger & paramS(0) & " <on/off>"
  104.                     Exit Sub
  105.                 End If
  106.                
  107.                 If paramS(1) = "on" Then
  108.                     Dim MyValue As Integer
  109.                     Randomize
  110.                     MyValue = RandomNumber(1, Form1.ScrambleList.ListCount)
  111.                     scWord1 = Form1.ScrambleList.List(MyValue)
  112.                     scWord2 = scrambleInput(scWord1)
  113.  
  114.                     If MyValue = scOldWord Then
  115.                         Randomize
  116.                         MyValue = RandomNumber(1, Form1.ScrambleList.ListCount)
  117.                         scWord1 = Form1.ScrambleList.List(MyValue)
  118.                         scWord2 = scrambleInput(scWord1)
  119.                     End If
  120.                    
  121.                     scTries = 0
  122.                     DoScramble = True
  123.                     scSolved = False
  124.                     If LCase(scWord1) = LCase(scWord2) Then
  125.                         MyValue = RandomNumber(1, Form1.ScrambleList.ListCount)
  126.                         scWord1 = Form1.ScrambleList.List(MyValue)
  127.                         scWord2 = scrambleInput(scWord1)
  128.                     End If
  129.                     Form1.Queue.AddItem "Word scrambler enabled."
  130.                     Form1.Timer1.Enabled = True
  131.                     Form1.Queue.AddItem "Unscramble: " & haxorize(scWord2)
  132.                     scOldWord = MyValue
  133.                     Exit Sub
  134.                 ElseIf paramS(1) = "off" Then
  135.                     Form1.Queue.AddItem "Word scrambler disabled."
  136.                     Form1.Timer1.Enabled = False
  137.                     DoScramble = False
  138.                     Exit Sub
  139.                 End If
  140.             End If
  141.         End If
  142.         Exit Sub
  143.        
  144.         Case "whoami", "mystats", "astat":
  145.         If InStr(strFlags, "N") > 0 Then
  146.             If UBound(paramS) = 0 Then
  147.                 Form1.Queue.AddItem "You are " & strUser & ", using " & _
  148.                 Form1.RoomList.ListItems(Form1.RoomList.FindItem(strUser).Index).ListSubItems(1).key & _
  149.                 ". Your ping is " & Ping & "ms. Your access flags are: " & strFlags
  150.                 Exit Sub
  151.             Else
  152.                 If paramS(1) = "?" Then
  153.                     Form1.Queue.AddItem "To use this command, simply type: " & strTrigger & paramS(0)
  154.                 End If
  155.                 Exit Sub
  156.             End If
  157.         End If
  158.         Exit Sub
  159.        
  160.         Case "stats":
  161.         If InStr(strFlags, "R") > 0 Or InStr(strFlags, "T") > 0 Then
  162.             If UBound(paramS) > 0 Then
  163.                 If paramS(1) = "?" Then
  164.                     Form1.Queue.AddItem "To use this command, type: " & strTrigger & "stats <NameOfPersonInChannel>"
  165.                     Exit Sub
  166.                 End If
  167.  
  168.                 Dim tmpUser As Long
  169.                 tmpUser = Form1.DB.FindUser(paramS(1))
  170.                 Form1.Queue.AddItem "User " & Form1.RoomList.FindItem(paramS(1)).text & " is using " & _
  171.                 Form1.RoomList.ListItems(Form1.RoomList.FindItem(paramS(1)).Index).ListSubItems(1).key & _
  172.                 " with a ping of " & GetPing(paramS(1)) & "ms. Their access flags are: " & Form1.DB.GetFlags(paramS(1))
  173.                 Exit Sub
  174.             End If
  175.         End If
  176.         Exit Sub
  177.        
  178.         Case "rejoin", "rj":
  179.         If InStr(strFlags, "O") > 0 Or InStr(strFlags, "A") > 0 Or InStr(strFlags, "M") > 0 Then
  180.             If UBound(paramS) = 0 Then
  181.                 Form1.BNHash.Rejoin
  182.                 Exit Sub
  183.             Else
  184.                 If paramS(1) = "?" Then
  185.                     Form1.Queue.AddItem "To use this command, simply type: " & strTrigger & paramS(0)
  186.                     Exit Sub
  187.                 End If
  188.             End If
  189.            
  190.         End If
  191.         Exit Sub
  192.        
  193.         Case "slap":
  194.         If InStr(strFlags, "R") > 0 Then
  195.             If UBound(paramS) >= 1 Then
  196.                 If paramS(1) = "?" Then
  197.                     Form1.Queue.AddItem "To use this command, type: " & strTrigger & paramS(0) & " <Name>"
  198.                     Exit Sub
  199.                 Else
  200.                     Form1.Queue.AddItem "/me slaps " & paramS(1) & " upside the head with a large fish."
  201.                     Exit Sub
  202.                 End If
  203.             End If
  204.         End If
  205.         Exit Sub
  206.        
  207.         Case "join", "goto":
  208.             If InStr(strFlags, "O") > 0 Or InStr(strFlags, "A") > 0 Or InStr(strFlags, "M") > 0 Then
  209.                 If UBound(paramS) >= 1 Then
  210.                     If paramS(1) = "?" Then
  211.                         Form1.Queue.AddItem "To use this command, type: " & strTrigger & paramS(0) & " <channel>"
  212.                         Exit Sub
  213.                     Else
  214.                         Form1.BNHash.FullJoin strRest
  215.                         Exit Sub
  216.                     End If
  217.                 End If
  218.            
  219.             End If
  220.         Exit Sub
  221.        
  222.         Case "joingame":
  223.             If InStr(strFlags, "O") > 0 Or InStr(strFlags, "A") > 0 Or InStr(strFlags, "M") > 0 Then
  224.                 If UBound(paramS) >= 1 Then
  225.                     If paramS(1) = "?" Then
  226.                         Form1.Queue.AddItem "To use this command, type: " & strTrigger & paramS(0) & " <GameName> <GamePass>"
  227.                         Exit Sub
  228.                     End If
  229.                    
  230.                     If UBound(paramS) >= 2 Then
  231.                         Form1.Queue.AddItem "Joining Private Game: " & paramS(1) & " Password: " & paramS(2)
  232.                         DoEvents
  233.                         Pause 12
  234.                         Form1.BNHash.Join paramS(1), paramS(2)
  235.                         Exit Sub
  236.                     Else
  237.                         Form1.Queue.AddItem "Joining Public Game: " & paramS(1)
  238.                         Pause 12
  239.                         DoEvents
  240.                         Form1.BNHash.Join paramS(1), ""
  241.                         Exit Sub
  242.                     End If
  243.                    
  244.                 End If
  245.            
  246.             End If
  247.         Exit Sub
  248.        
  249.         Case "creategame":
  250.             If InStr(strFlags, "O") > 0 Or InStr(strFlags, "A") > 0 Or InStr(strFlags, "M") > 0 Then
  251.                 If UBound(paramS) >= 1 Then
  252.                     If paramS(1) = "?" Then
  253.                         Form1.Queue.AddItem "To use this command, type: " & strTrigger & paramS(0) & " <GameName> <GamePass>"
  254.                         Exit Sub
  255.                     End If
  256.                    
  257.                     If UBound(paramS) >= 2 Then
  258.                         Form1.Queue.AddItem "Creating Private Game: " & paramS(1) & " Password: " & paramS(2)
  259.                         DoEvents
  260.                         Pause 12
  261.                         Form1.BNHash.CreateGame paramS(1), paramS(2)
  262.                         Exit Sub
  263.                     Else
  264.                         Form1.Queue.AddItem "Creating Public Game: " & paramS(1)
  265.                         Pause 12
  266.                         DoEvents
  267.                         Form1.BNHash.CreateGame paramS(1), ""
  268.                         Exit Sub
  269.                     End If
  270.                    
  271.                 End If
  272.            
  273.             End If
  274.         Exit Sub
  275.        
  276.         Case "serve", "pass", "smoke", "toke":
  277.             If InStr(strFlags, "R") > 0 Or InStr(strFlags, "A") > 0 Or InStr(strFlags, "M") > 0 Then
  278.                 If UBound(paramS) >= 1 Then
  279.                     If paramS(1) = "?" Then
  280.                         If paramS(0) = "serve" Then
  281.                             Form1.Queue.AddItem "To use this command, type: " & strTrigger & paramS(0) & " <Person> <Object>"
  282.                             Exit Sub
  283.                         ElseIf paramS(0) = "pass" Then
  284.                             Form1.Queue.AddItem "To use this command, type: " & strTrigger & paramS(0) & " <Person> <Object>"
  285.                             Exit Sub
  286.                         End If
  287.                        
  288.                         If paramS(0) = "smoke" Then
  289.                             Form1.Queue.AddItem "To use this command, type: " & strTrigger & paramS(0) & " <Substance_or_Device>"
  290.                             Exit Sub
  291.                         ElseIf paramS(0) = "toke" Then
  292.                             Form1.Queue.AddItem "To use this command, type: " & strTrigger & paramS(0) & " <Substance_or_Device>"
  293.                             Exit Sub
  294.                         End If
  295.                     End If
  296.                    
  297.                     If paramS(0) = "serve" Then
  298.                         If UBound(paramS) >= 2 Then
  299.                             Form1.Queue.AddItem "/me serves " & paramS(1) & " a nice " & paramS(2) & ", at the request of " & strUser & "."
  300.                             If StonerMode = True Then
  301.                                 Form1.Queue.AddItem "How do you like that shit, " & paramS(1) & "?"
  302.                                 Exit Sub
  303.                             End If
  304.                             Exit Sub
  305.                         End If
  306.                     ElseIf paramS(0) = "pass" Then
  307.                         If UBound(paramS) >= 2 Then
  308.                             Form1.Queue.AddItem "/me passes the " & paramS(2) & " to " & paramS(1) & ", at the request of " & strUser & "."
  309.                             If StonerMode = True Then
  310.                                 Form1.Queue.AddItem "How do you like that shit, " & paramS(1) & "?"
  311.                                 Exit Sub
  312.                             End If
  313.                             Exit Sub
  314.                         End If
  315.                     ElseIf paramS(0) = "smoke" Then
  316.                         Form1.Queue.AddItem "/me lights up the " & strRest & "..."
  317.                         If StonerMode = False Then
  318.                             Form1.Queue.AddItem "Mmmmm.. thank you " & strUser & "!"
  319.                         Else
  320.                             Form1.Queue.AddItem "Mmm, not bad. Anyone else want some? type: " & strTrigger & "pass <NameToPassToo> " & strRest
  321.                         End If
  322.                         Exit Sub
  323.                     ElseIf paramS(0) = "toke" Then
  324.                         Form1.Queue.AddItem "/me tokes up the " & strRest & "..."
  325.                         If StonerMode = False Then
  326.                             Form1.Queue.AddItem "Mmmmm.. thank you " & strUser & "!"
  327.                         Else
  328.                             Form1.Queue.AddItem "Mmm, not bad. Anyone else want some? type: " & strTrigger & "pass <NameToPassToo> " & strRest
  329.                         End If
  330.                         Exit Sub
  331.                     End If
  332.                    
  333.                 End If
  334.            
  335.             End If
  336.         Exit Sub
  337.        
  338.         Case "stonermode":
  339.         If InStr(strFlags, "O") > 0 Or InStr(strFlags, "A") > 0 Or InStr(strFlags, "M") > 0 Then
  340.             If UBound(paramS) > 0 Then
  341.                 If paramS(1) = "?" Then
  342.                     Form1.Queue.AddItem "To turn Stoner Mode on or off, type: " & strTrigger & " <on/off>"
  343.                     Exit Sub
  344.                 End If
  345.                
  346.                 If paramS(1) = "" Then Exit Sub
  347.                     If paramS(1) = "on" Then
  348.                         Form1.Queue.AddItem "Stoner Mode has been enabled."
  349.                        
  350.                         StonerMode = True
  351.                         WriteStuff "Settings", "StonerMode", "1"
  352.                        
  353.                         Form1.BackColor = &H4000&
  354.                         Form1.tabS.BackColor = &H4000&
  355.                         Form1.tmrColor.Interval = 10
  356.                         Form1.tmrColor.Enabled = True
  357.                         Form1.tmrChange.Interval = 2500
  358.                         Form1.tmrChange.Enabled = True
  359.                         Form1.pb1.BackColor = RGB(0, 0, 0)
  360.                        
  361.                         Exit Sub
  362.                     ElseIf paramS(1) = "off" Then
  363.                         Form1.Queue.AddItem "Stoner Mode has been disabled."
  364.                        
  365.                         StonerMode = False
  366.                         WriteStuff "Settings", "StonerMode", "0"
  367.                         Form1.tmrColor.Enabled = False
  368.                         Form1.tmrChange.Enabled = False
  369.                        
  370.                         Form1.BackColor = &H4000&
  371.                         Form1.tabS.BackColor = &H4000&
  372.                         Form1.pb1.BackColor = RGB(0, 0, 0)
  373.                         Exit Sub
  374.                     End If
  375.                
  376.                    
  377.                 End If
  378.                 Exit Sub
  379.             End If
  380.         Exit Sub
  381.        
  382.         Case "inchannel", "channel":
  383.             If InStr(strFlags, "R") > 0 Or InStr(strFlags, "A") > 0 Or InStr(strFlags, "M") > 0 Then
  384.                 If UBound(paramS) >= 1 Then
  385.                     If paramS(1) = "?" Then
  386.                         Form1.Queue.AddItem "To use this command, type: " & strTrigger & paramS(0) & " <channel>"
  387.                     Exit Sub
  388.                 Else
  389.                     ChannelLookup = True
  390.                     Form1.Queue.AddItem "/who " & strRest
  391.                     Exit Sub
  392.                 End If
  393.             End If
  394.            
  395.             End If
  396.         Exit Sub
  397.        
  398.         Case "oracle", "ask", "askoracle":
  399.             If InStr(strFlags, "N") > 0 Then
  400.             If UBound(paramS) < 1 Then Exit Sub
  401.                 If paramS(1) = "?" Then
  402.                     Form1.Queue.AddItem "To use this command, type: " & strTrigger & paramS(0) & " <Yes or No question>"
  403.                     Exit Sub
  404.                 End If
  405.                 If UBound(paramS) > 2 Then
  406.                     Form1.Queue.AddItem AskOracle(strUser)
  407.                     Exit Sub
  408.                 Else
  409.                     Form1.Queue.AddItem "Please ask a yes or no question."
  410.                     Exit Sub
  411.                 End If
  412.             End If
  413.             Exit Sub
  414.            
  415.         Case "inbox":
  416.             If InStr(strFlags, "N") > 0 Then
  417.                 If UBound(paramS) >= 1 Then
  418.                     If paramS(1) = "?" Then
  419.                         Form1.Queue.AddItem "To check your mail, simply type: " & strTrigger & "inbox"
  420.                         Exit Sub
  421.                     End If
  422.                 End If
  423.                
  424.                 Dim iMail As Integer, H As Long
  425.                     For H = 0 To UBound(maillist)
  426.                         If LCase(maillist(H).To) = LCase(strUser) Then
  427.                             iMail = iMail + 1
  428.                             Form1.Queue.AddItem "/w " & strUser & " Message " & iMail & ": " & "From: " & maillist(H).From & " Date: " & maillist(H).Date & " Time: " & maillist(H).Time & " Message: " & maillist(H).Msg
  429.                         End If
  430.                     Next H
  431.                
  432.                     For H = 0 To iMail
  433.                         RemoveMail strUser
  434.                     Next H
  435.                    
  436.                     RemoveMail strUser
  437.                     SaveMail
  438.                     Exit Sub
  439.             End If
  440.             Exit Sub
  441.  
  442.         Case "mail":
  443.             'If InStr(strFlags, "N") > 0 Then
  444.                If paramS(1) = "?" Then
  445.                     Form1.Queue.AddItem "To add a new mail message for someone, type: " & strTrigger & "mail <Name> <Message>"
  446.                     Exit Sub
  447.                 End If
  448.                 If UBound(paramS) >= 2 Then
  449.                     Dim paramAfter1() As String, cnt As Integer, bmMsg As String
  450.                     paramAfter1() = Split(strRest, " ")
  451.                    
  452.                     For cnt = 1 To UBound(paramAfter1())
  453.                         bmMsg = bmMsg & paramAfter1(cnt) & " "
  454.                     Next cnt
  455.                
  456.                     Dim tmpM As ml
  457.                     tmpM.To = paramS(1)
  458.                     tmpM.From = strUser
  459.                     tmpM.Time = Time()
  460.                     tmpM.Date = Date
  461.                     tmpM.Msg = bmMsg
  462.                    
  463.                     AddMail tmpM
  464.                     SaveMail
  465.                     Form1.Queue.AddItem "New mail added for: " & paramS(1)
  466.                     Exit Sub
  467.                 End If
  468.             'End If
  469.            Exit Sub
  470.            
  471.         Case "mailchannel", "mailchan", "channelmail", "chanmail":
  472.             If InStr(strFlags, "M") > 0 Then
  473.                 If paramS(1) = "?" Then
  474.                     Form1.Queue.AddItem "To mail everyone in the channel, type: " & strTrigger & paramS(0) & " <Message>"
  475.                     Exit Sub
  476.                 End If
  477.                 Dim cnt2 As Integer, tmpMC As ml
  478.                    
  479.                 For cnt2 = 1 To Form1.RoomList.ListItems.Count
  480.                     tmpMC.To = Form1.RoomList.ListItems.Item(cnt2).text
  481.                     tmpMC.From = strUser
  482.                     tmpMC.Time = Time()
  483.                     tmpMC.Date = Date
  484.                     tmpMC.Msg = strRest
  485.                     AddMail tmpMC
  486.                     SaveMail
  487.                 Next cnt2
  488.                
  489.                 Form1.Queue.AddItem Form1.RoomList.ListItems.Count & " mail messages queued for delivery."
  490.                 Exit Sub
  491.                
  492.             End If
  493.             Exit Sub
  494.  
  495.         Case "savedb":
  496.         If InStr(strFlags, "O") > 0 Or InStr(strFlags, "A") > 0 Or InStr(strFlags, "M") > 0 Then
  497.             If UBound(paramS) > 0 Then
  498.                 If paramS(1) = "?" Then
  499.                     Form1.Queue.AddItem "To use this command, simply type: " & strTrigger & paramS(0)
  500.                     Exit Sub
  501.                 End If
  502.             Else
  503.                 Form1.DB.DBWritten = False
  504.                 Form1.DB.CloseDatabase
  505.                 Form1.Queue.AddItem "Database Saved."
  506.                 Exit Sub
  507.             End If
  508.         End If
  509.         Exit Sub
  510.        
  511.         Case "reloaddb":
  512.         If InStr(strFlags, "O") > 0 Or InStr(strFlags, "A") > 0 Or InStr(strFlags, "M") > 0 Then
  513.             If UBound(paramS) > 0 Then
  514.                 If paramS(1) = "?" Then
  515.                     Form1.Queue.AddItem "To use this command, simply type: " & strTrigger & paramS(0)
  516.                     Exit Sub
  517.                 End If
  518.             Else
  519.                 Form1.DB.DBWritten = False
  520.                 Form1.DB.CloseDatabase
  521.                 Form1.UserDB.OpenFile
  522.                 Form1.DB.CreateDatabase Form1.UserDB.ReadFile
  523.                 Form1.Queue.AddItem "Database Entries Reloaded."
  524.                 Exit Sub
  525.             End If
  526.         End If
  527.         Exit Sub
  528.        
  529.         Case "settrigger", "trigger":
  530.         If InStr(strFlags, "O") > 0 Or InStr(strFlags, "A") > 0 Or InStr(strFlags, "M") > 0 Then
  531.             If UBound(paramS) > 0 Then
  532.                 If paramS(1) = "?" Then
  533.                     Form1.Queue.AddItem "To set a new trigger, type: " & strTrigger & paramS(0) & " <NewSingleCharacterTrigger>"
  534.                     Exit Sub
  535.                 End If
  536.                
  537.                 If paramS(1) = "" Then Exit Sub
  538.                
  539.                 If Len(paramS(1)) = 1 Then
  540.                     strTrigger = paramS(1)
  541.                     WriteStuff "Settings", "Trigger", strTrigger
  542.                     Form1.Queue.AddItem "Trigger changed to: " & strTrigger
  543.                     Exit Sub
  544.                 End If
  545.             Else
  546.                 Form1.DB.CloseDatabase
  547.                 Form1.Queue.AddItem "Please specify a new single character trigger, such as: !"
  548.                 Exit Sub
  549.             End If
  550.         End If
  551.         Exit Sub
  552.        
  553.         Case "say", "talk":
  554.         If InStr(strFlags, "T") > 0 Then
  555.             If UBound(paramS) > 0 Then
  556.                 Form1.Queue.AddItem strRest
  557.                 Exit Sub
  558.             End If
  559.         End If
  560.         Exit Sub
  561.        
  562.         Case "kick", "ban", "ignore", "designate", "unban":
  563.         If InStr(strFlags, "O") > 0 Or InStr(strFlags, "A") > 0 Or InStr(strFlags, "M") > 0 Then
  564.             If UBound(paramS) > 0 Then
  565.                 Dim spltrst() As String
  566.                 If paramS(0) = "kick" Then
  567.                     spltrst() = Split(strRest, " ")
  568.                     If InStr(Form1.DB.GetFlags(spltrst(0)), "S") > 0 Then
  569.                         Form1.Queue.AddItem spltrst(0) & " is safelisted."
  570.                         Exit Sub
  571.                     Else
  572.                         Form1.Queue.AddItem "/kick " & strRest
  573.                         Exit Sub
  574.                     End If
  575.                 ElseIf paramS(0) = "ban" Then
  576.                     spltrst() = Split(strRest, " ")
  577.                     If InStr(Form1.DB.GetFlags(spltrst(0)), "S") > 0 Then
  578.                         Form1.Queue.AddItem spltrst(0) & " is safelisted."
  579.                         Exit Sub
  580.                     Else
  581.                         Form1.Queue.AddItem "/ban " & strRest
  582.                         Exit Sub
  583.                     End If
  584.                 ElseIf paramS(0) = "ignore" Then
  585.                     Form1.Queue.AddItem "/ignore " & strRest
  586.                     Exit Sub
  587.                 ElseIf paramS(0) = "designate" Then
  588.                     Form1.Queue.AddItem "/designate " & strRest
  589.                     Exit Sub
  590.                 ElseIf paramS(0) = "unban" Then
  591.                     Form1.Queue.AddItem "/unban " & strRest
  592.                     Exit Sub
  593.                 End If
  594.                
  595.                 If paramS(1) = "?" Then
  596.                     Form1.Queue.AddItem "To use this command, type: " & strTrigger & paramS(0) & " <Name>"
  597.                     Exit Sub
  598.                 End If
  599.             End If
  600.         End If
  601.         Exit Sub
  602.        
  603.         Case "set":
  604.             Exit Sub
  605.         Case "whois", "lookup", "access", "find":
  606.             If InStr(strFlags, "R") > 0 Or InStr(strFlags, "A") > 0 Then
  607.                 If UBound(paramS) < 1 Then Exit Sub
  608.                 If UBound(paramS) = 1 Then
  609.                     If paramS(1) = "?" Then
  610.                         Form1.Queue.AddItem "To see a users access flags, type: " & strTrigger & paramS(0) & " <Name>"
  611.                         Exit Sub
  612.                     End If
  613.                    
  614.                     If InStr(1, paramS(1), "*") Then
  615.                         Form1.Queue.AddItem "Matches Found: " & Form1.DB.WCFind(Replace(paramS(1), "*", ""))
  616.                         Exit Sub
  617.                     End If
  618.                        
  619.                     Dim tmpU As Long
  620.                     tmpU = Form1.DB.FindUser(paramS(1))
  621.                     If tmpU = -1 Then
  622.                         Form1.Queue.AddItem "User " & paramS(1) & " has no access whatsoever."
  623.                         Exit Sub
  624.                     Else
  625.                         Form1.Queue.AddItem "User " & paramS(1) & "'s access flags are: " & Form1.DB.GetFlags(paramS(1))
  626.                         Exit Sub
  627.                     End If
  628.                 End If
  629.             End If
  630.             Exit Sub
  631.        
  632.         Case "adduser", "add", "setuser", "set":
  633.             Dim NewFlags As String
  634.             If InStr(strFlags, "O") > 0 Or InStr(strFlags, "A") > 0 Then
  635.                 If UBound(paramS) < 1 Then Exit Sub
  636.                 If UBound(paramS) = 1 Or UBound(paramS) = 2 Then
  637.                     If paramS(1) = "?" Then
  638.                         Form1.Queue.AddItem "To set or change a user's flags, use + or - as a prefix. Examples: " & strTrigger & paramS(0) & " <Name> +ADMNORST, " & strTrigger & paramS(0) & " <Name> -ADO"
  639.                         Exit Sub
  640.                     End If
  641.                    
  642.                     If UBound(paramS) = 1 Then
  643.                         On Error GoTo omfg
  644.                         If Form1.DB.FindUser(paramS(1)) = -1 Then
  645.                             Form1.DB.AddUser paramS(1), GetPing(paramS(1)), Form1.RoomList.FindItem(paramS(1)).ListSubItems(1).key
  646.                             Form1.Queue.AddItem paramS(1) & " was added to the database with flags: N"
  647.                             Exit Sub
  648.                         Else
  649.                             Form1.Queue.AddItem "User already exists. For help using this command type: " & strTrigger & paramS(0) & " ?"
  650.                             Exit Sub
  651.                         End If
  652.                     End If
  653.                    
  654.                     If Left(paramS(2), 1) = "+" Then
  655.                         Form1.DB.UpdateStat paramS(1), "Flags", UCase(Form1.DB.GetFlags(paramS(1)) & Right(paramS(2), Len(paramS(2)) - 1))
  656.                         Form1.Queue.AddItem paramS(1) & "'s new flags: " & Form1.DB.GetFlags(paramS(1))
  657.                         Exit Sub
  658.                     ElseIf Left(paramS(2), 1) = "-" Then
  659.                         Dim n As Integer
  660.                         For n = 1 To Len(paramS(2)) - 1
  661.                         'Debug.Print "Replacing -> " & Mid(TempArray(1), n + 1, 1) & " in " & frmMain.DB.GetInfo(TempArray(0), 1)
  662.                        NewFlags = Replace(Form1.DB.GetFlags(paramS(1)), UCase(Mid(paramS(2), n + 1, 1)), "")
  663.                         'Debug.Print "NewFlags -> " & NewFlags
  664.                        Form1.DB.UpdateStat paramS(1), "Flags", UCase(NewFlags)
  665.                         Next n
  666.                            
  667.                         Form1.Queue.AddItem paramS(1) & "'s new flags: " & Form1.DB.GetFlags(paramS(1))
  668.                         Exit Sub
  669.                     Else
  670.                         DB.UpdateStat paramS(1), "Flags", UCase(paramS(2))
  671.                         Form1.Queue.AddItem paramS(1) & "'s new flags: " & Form1.DB.GetFlags(paramS(1))
  672.                         Exit Sub
  673.                     End If
  674.                    
  675. omfg:
  676.                     Form1.Queue.AddItem "[!NEWB ERROR!] - You cannot add somebody who is not in the channel."
  677.                 End If
  678.                 Exit Sub
  679.             End If
  680.         Case Else:
  681.             Exit Sub
  682.         End Select
  683.    
  684.     End If
  685. Exit Sub
  686.  
  687. EndingOfSUB:
  688. If StonerMode = True Then
  689.     'MsgBox err.Description
  690.    Form1.Queue.AddItem "[!NEWB ERROR!] - " & strUser & " messed up a SIMPLE command. (it's okay.. don't cry newb! weed makes it better!)"
  691. Else
  692.     Form1.Queue.AddItem "[!NEWB ERROR!] - " & strUser & " messed up a SIMPLE command."
  693. End If
  694. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement