Vollständige Version anzeigen : [Batch/Bash] [AutoIt] Upload-Auto-Push


Ph1b
16.06.2009, 23:43

AutoPush Beta

Stelle euch hier mein Upload-Push-Programm in der Beta Version vor.

Das Programm ist in AutoIT gecodet. Auch wenn ich der Meinung bin, dass das Programm keine Fehler hat, solltet ihr die pushs eventuell überprüfen.



Anleitung:

Dateien entpacken
Config;exe ausführen
Die zu pushenden Threads in die "Threads;txt" eintragen
AutoPush;exe ausführen


In der Config;exe einfach den Anweisungen folgen, als erstes muss euer Benutzername eingetragen werden, dann euer Passwort, dann der Zeitabstand zum letzten Post, den ein Push haben muss.
Die Zeit muss in Stunden angegeben werden.
2 Wochen = 24 x 14 h = 336

(Threads, die die Postingzeit "Heute", oder "Gestern" haben, werden automatisch sicherheitshalber nicht gepusht)
Als nächstes müsst ihr noch das Wort, bzw. die Nachricht eintragen, mit der gepusht werden soll.


Die Threads;txt soll danm wie folgt aussehen:
Showthread Php ;;x / Download - RR:Suche (;board;raidrush~ws/showthread;php?t=;;x)
Showthread Php ;;x / Download - RR:Suche (;board;raidrush~ws/showthread;php?t=;;x)
Showthread Php ;;x / Download - RR:Suche (;board;raidrush~ws/showthread;php?t=;;x)
Showthread Php ;;x / Download - RR:Suche (;board;raidrush~ws/showthread;php?t=;;x)
Showthread Php ;;x / Download - RR:Suche (;board;raidrush~ws/showthread;php?t=;;x)


Downloadlink, 648 KB, Beta (;;;xup~in/dl,10733926/Beta;rar/)

Source:

Auto-Pusher
#include <ie;au3>
#include <string;au3>
#include <Date;au3>
#include <file;au3>

$test = IniRead("config;ini", "Bump", "Push", "0")
$username = IniRead("config;ini", "Name", "user", "0")
$password = IniRead("config;ini", "Pass", "pwd", "0")
$maxtime = IniRead("config;ini", "Time", "zeit", "0")

HotKeySet("{END}", "stopscript")
Func stopscript()
Exit
EndFunc

If not FileExists ("Threads;txt") Then
_FileCreate ("Threads;txt")
EndIf

Global $begin
$nor = 0
$nbr = _FileCountLines ("Threads;txt")
If $nbr = 0 Then
MsgBox (0, "Error", "Keine Threads vorhanden. Bitte in die Threads;txt eintragen")
Exit
EndIf
$ie = _IECreate ("about:blank")

While True
$nor = $nor + 1

If $nor = $nbr Then
MsgBox (0, "End", $nor & " Threads gepusht")
Exit
EndIf

$site = FileReadLine ("Threads;txt", $nor)

_IENavigate ($ie, $site)
_ieloadwait($ie)
$source = _IEDocReadHTML($ie)

If StringInStr ( $source, "nicht angemeldet ") Then
$Form=_IEFormGetObjByName($IE, 2)

$username2 = _IEFormElementGetObjByName($Form, "navbar_username")
$password2 = _IEFormElementGetObjByName($Form, "navbar_password")

_IEFormElementSetValue($username2, $Username)
_IEFormElementSetValue($password2, $password)

_IEFormSubmit($Form)

Sleep(10000)
_IENavigate ($ie, $site)
_IELoadwait($ie)
$source = _IEDocReadHTML($ie)
EndIf

$ft2 = StringRegExp ($source, "Seite 1 von \d", 1)

If IsArray ($ft2) Then
$ft3 = StringRegExpReplace ($ft2[0], "Seite 1 von (\d)", "$1")
_IENavigate ($ie, $site & "&page=" & $ft3)
$source = _IEDocReadHTML($ie)
EndIf

_IEAction ($IE, "Refresh")
_IELoadWait ($ie)
$ftime = _StringBetween($source, 'src=";;;xup~in/000/board;raidrush~ws/a_rr_style/statusicon/post_old;gif"></A> ', '<!-- / status icon and date --')
$a = UBound ($ftime) - 1

If StringInStr ($ftime[$a], "Heute") Then
ContinueLoop
EndIf

If StringInStr ($ftime[$a], "Gestern") Then
ContinueLoop
EndIf

$string = StringRegExpReplace($ftime[$a], "(\d{2})\;(\d{2})\;(\d{4}), (\d{2}):(\d{2})", "$3/$2/$1 $4:$5:00")
$dif = _DateDiff("h", _NowCalc(), $string)
$dif = $dif * -1

If $dif < $maxtime Then
ContinueLoop
EndIf

$number = _StringBetween($source, '="showpost;php?p=', "&amp;")

_IENavigate($ie, ";board;raidrush~ws/newreply;php?do=newreply&noquote=1&p=" & $number[0])
_ieloadwait($ie)

$Form=_IEFormGetObjByName($IE, 2)

$enter = _IEFormElementGetObjByName($Form, "vB_Editor_001_textarea")
_IEFormElementSetValue($enter, $test)

If $begin Then
$dif = TimerDiff($begin)
If $dif < 31000 Then
Sleep ( 31000 - $dif)
EndIf
EndIf

_IEFormSubmit($Form)

$begin = TimerInit()

WEnd

Config
$name = InputBox("Username", "Bitte den Raidrush Benutzernamen eingeben")
IniWrite(;ScriptDir & "\config;ini", "Name", "user", $Name)

$pwd = InputBox("Password", "Bitte das Raidrush Passwort eingeben")
IniWrite(;ScriptDir & "\config;ini", "Pass", "Pwd", $pwd)

$time = InputBox ("Zeit", "Hier die minimale Zeit angeben, nach der die Threads gepusht werden. Zeit in Stunden angeben;")
IniWrite(;ScriptDir & "\config;ini", "Time", "zeit", $time)

$bump = Inputbox( "Text", "Hier die Nachricht eingeben, mit der die Threads gepusht werden sollen;", "Push")
IniWrite(;ScriptDir & "\config;ini", "Bump", "Push", $bump)

Hardware Preisvergleich | Amazon Blitzangebote!

Videos zum Thema
Video Loading...
Coksnuss
16.06.2009, 23:54

Weder Kritik noch Lob: Aber AutoIt != Assembler...


dreamax
16.06.2009, 23:58

Weder Kritik noch Lob: Aber AutoIt != Assembler..;

agree.. hab mir den Thread eigentlich auch nur wegen dem präfix angeschaut..

OT: Hmm.. schöner Forum Spambot.. ob man sowas wirklich braucht.


Ph1b
17.06.2009, 00:23

Weder Kritik noch Lob: Aber AutoIt != Assembler..;

Was ist es dann?


zwa3hnn
17.06.2009, 00:48

Was ist es dann?

AutoIT = Makro-Erstellung / Skriptsprache (AutoIt)
Assembler = Maschinensprache (Assembler_(Informatik))

Das ist ein Riesen-Unterschied.


Derbe92
26.06.2009, 12:19

Also ich kann mir vorstellen das dieses Programm nützlich ist probiere es jetz mal aus!
Thx dafür! Bw hast du!

Noch eine Frage klappt das mit dem pushen auch wenn man in die txt Datei vor den Link den Namen des Upps schreibt damit man leichter aussortieren kann wenn er down is?

Gruß Derbe


Ph1b
26.06.2009, 12:32

Also ich kann mir vorstellen das dieses Programm nützlich ist probiere es jetz mal aus!
Thx dafür! Bw hast du!

Noch eine Frage klappt das mit dem pushen auch wenn man in die txt Datei vor den Link den Namen des Upps schreibt damit man leichter aussortieren kann wenn er down is?

Gruß Derbe


Nee, sollte nicht klappen. Geht auch mehr ums pushen von mehreren Threads, Downmeldungen kann ich ja schlecht rauslesen ;)

Klappt alles soweit?
Btw, wenn man sowieso standartmäßig mit dem IE in RR angemeldet ist, kann man die Anmelde-Boxen auch einfach frei lassen.


Derbe92
26.06.2009, 12:47

ich meine nicht das das Programm die downmeldungen rauslioest sondern das man einfach vor den Link den Namen schreibt damit, falls etwas down man den link schneller findet und ihn rausnehmen kann damit er nicht ständig mitgepusht wird.


Ph1b
01.07.2009, 00:11

ich meine nicht das das Programm die downmeldungen rauslioest sondern das man einfach vor den Link den Namen schreibt damit, falls etwas down man den link schneller findet und ihn rausnehmen kann damit er nicht ständig mitgepusht wird;

Du kannst nach dem Link zum Thread doch einfach mit Strg+F in der ;txt Datei suchen, einfach den Linknamen durchsuchen, dann hast du es. Prinzipiell könnt ich noch den Titel auslesen lassen, halte ich aber, soweit ich dein Problem verstehe für überflüssig.


Prrovoss
01.07.2009, 16:00

schönes programm
jetz hast du wohl autoit für dich entdeckt wa?^^


Ähnliche Themen zu [Batch/Bash] [AutoIt] Upload-Auto-Push
  • [Batch/Bash] upload automatisieren
    Sers, hoffe mir kann einer helfen. Also ich möchte mehrere Ordner mit der ncftpput;exe uploaden, dafür habe ich folgendes batch Script geschrieben: upload_pub;bat: ;echo off for /f "tokens=1,2" %%i in (filez;txt) do ncftpput;exe -u Anonymous -p Anonymous -P 21 -R 127;0;0;1 "/0909135496 [...]

  • [Batch/Bash] FTP Upload / PASV
    ;;;xup~in/pic,15093428/Batch_Update;jpg (;;;xup~in/dl,15093428/Batch_Update;jpg/) Ja, Meine Frage ist Warum ich diese ;txt datei nicht Uploaden kann! Habe irgendwo gelesen das es gar nicht mehr mit der CMD möglich ist ?:angry: Danke schonmal ! [...]

  • [Batch/Bash] automatischer ftp-upload
    'n abend, ich habe unter windows eine batchdatei erstellt, die zum automatisierten upload von dateien auf einen ftp-server dient. durch die batch-datei wird ftp;exe gestarter und befehle automatisch abgearbeitet, die in einer gesonderten datei liegen. hier, die batch-datei (ftp-transfer;ba [...]

  • [Batch/Bash] FTP-Upload
    Hallo! Ich möchte per FTP;exe alle Dateien in einem Ordner hochladen (ohne Unterordner) ist das möglich, wenn ich nicht weiß, wie diese heißen ? Mfg Alex² //Edit: lösung gefunden [...]



raid-rush.ws | Imprint & Contact pr