;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 #include #include 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()