Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;Project Name: twitchwriter.au3
- ;Author Name: Jacob DiDiodato
- ;Project Version: 1.0
- ;Last Edit: Thursday March 9th 2017 @ 3:33 AM
- ;This program is a simple bot for a twitch stream. It will send a message that you give it to the twitch chat if the chat is positioned correctly (The chatbox must have a position in it that is 1160X 615Y) every 20 minutes (approx.)
- ;Usage: Begin the program follow the prompts and the first thing you should do is select "edit messages" because the program, by default, has no messages in it and won't print anything unless it actually has a message to print
- ;Notes: The program has space for 5 messages by default. In order to increase it edit the number on line 13
- #include <MsgBoxConstants.au3>
- #include <AutoItConstants.au3>
- #include <GUIConstantsEx.au3>
- Global $MAXMESSAGES = 5
- Global $array[$MAXMESSAGES]
- Global $arrPos = 0
- Global $timePassed = 0
- Global $second = 1000
- Global $minute = 60 * $second
- For $i = 0 To (UBound($array) - 1) Step 1
- $array[$i] = ""
- Next
- MsgBox(0, "Waiting", "First, select the twitch stream window")
- Opt('MustDeclareVars', 1)
- Func SendMsg($string)
- If $string <> "" Then
- MouseClick("left", 1160, 615)
- Send($string)
- Send("{Enter}")
- $arrPos = $arrPos + 1
- ElseIf $array[0] == "" Then
- Return
- Else
- $arrPos = 0
- SendMsg($array[$arrPos])
- EndIf
- EndFunc
- Func EditMessages()
- If IsArray($array) Then
- For $i = 0 To (UBound($array) - 1) Step 1
- Local $input
- $input = InputBox("New Message", "Enter a new message for message #" & ($i + 1) & ". Previous message was: " & $array[$i] & ". Enter nothing to stop input.")
- If $input == "" Then
- For $j = $i To (UBound($array) - 1) Step 1
- $array[$j] = ""
- Next
- Return
- Else
- $array[$i] = $input
- EndIf
- $arrPos = 0
- Next
- Else
- MsgBox(0, "Error", "This variable is not an array")
- EndIf
- EndFunc
- Func DisplayMessages($array)
- If IsArray($array) Then
- Local $MsgBoxMsg = ""
- For $i = 0 To (UBound($array) - 1) Step 1
- $MsgBoxMsg &= "Message " & String($i + 1) & ": " & $array[$i] & @LF
- Next
- MsgBox(0, "Messages", $MsgBoxMsg)
- Else
- MsgBox(0, "Error", "This variable is not an array")
- EndIf
- EndFunc
- Func MainGUI()
- Local $Button1, $Button2, $Button3, $Msg1, $Msg2, $Msg3, $Msg4, $Msg5, $buttonClicked
- GUICreate("Twitch Bot Control Panel", 320, 40)
- Opt("GUICoordMode", 2)
- $Button1 = GUICtrlCreateButton("Send Message", 10, 10, 100)
- $Button2 = GUICtrlCreateButton("Edit Messages", 0, -1)
- $Button3 = GUICtrlCreateButton("Display Messages", 0, -1)
- GUISetState()
- ; Run the GUI until the window is closed
- While 1
- Local $hTimer = TimerInit()
- $buttonClicked = GUIGetMsg()
- Select
- Case $buttonClicked = $GUI_EVENT_CLOSE
- ExitLoop
- Case $buttonClicked = $Button1
- If $arrPos == $MAXMESSAGES Then
- $arrPos = 0
- EndIf
- SendMsg($array[$arrPos])
- $timePassed = 0
- Case $buttonClicked = $Button2
- EditMessages()
- Case $buttonClicked = $Button3
- DisplayMessages($array)
- EndSelect
- Local $fDiff = TimerDiff($hTimer)
- $timePassed = $timePassed + $fDiff
- ;MsgBox(0, "", "Current time passed: " & String($timePassed))
- If $timePassed > ($minute * 20) Then
- If $arrPos == $MAXMESSAGES Then
- $arrPos = 0
- EndIf
- SendMsg($array[$arrPos])
- $timePassed = 0
- EndIf
- WEnd
- EndFunc
- MainGUI()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement