Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

plemiona wysylanie wiadomosci


Rekomendowane odpowiedzi

Weteran
Opublikowano

On chyba szuka gotowca.. więc najpierw radzę Ci przeczytać regulamin.

 

Co do samego stworzenia ie.au3 powinno być ok, ale można zrobić też takiego, który nie będzie działał na zminimalizowanym : )

1329036830-U154499.png
Opublikowano

No wlasnie nie wiem za bardzo jak to zrobic, a moze uzyc jakiegos innego programu, np. jbit macro recorder?

 

W plemionach grupowe wysylanie wiadomosci polega na tym, ze w polu "Do:" wpisuje sie nazwy uzytkownikow oddzielone srednikami np. gracz1;gracz2;gracz3

Czy ie.au3 posiada funkcje pobierania danych z osobnego pliku? Skopiowalem sobie spora nazw uzytkownikow z rankingu i teraz zastanawiam sie jak zrobic, zeby skrypt skopiowal z pliku okreslona liczbe nazw uzytkownikow, nastepnie wkleil je do pola "Do:", pozniej wkleil wczesniej napisana przeze mnie wiadomosci i na koncu klikna "wyslij".

Opublikowano

IE.au3 to UDF odpowiedzialny za manipulowaniem przeglądarki internetowej.

Do wczytywania danych z pliku tekstowego możesz użyć funkcji FileRead

Ta sygnatura jest pusta.

Opublikowano

Zrobilem szkielet skryptu jednak brakuje w nim paru rzeczy.

 

TPdu0.png

 

Dzialanie skryptu zaplanowalem sobie w ten sposob.

-skrypt wciska tab i przechodzi do pola nr 1 w ktore wkleja linie tekstu pobrana z dokumentu .txt (ten dokument powinien byc otwarty?) komenda FileReadLine (nie wiem jak zrobic aby wkleic ten tekst)

-skrypt wciska ponownie przycisk tab i przechodzi do pola nr 2, a nastepnie wpisuje waartosc zmiennej $temat (jaka komenda to zrobic?)

-skrypt ponownie wciska przycisk tab i przechodzi do pola nr 3, a nastepnie wkleja tresc wiadomosci ktora jest zadeklarowana w zmiennej $wiadomosc

-skrypt wciska 2 razy przycisk tab i przechodzi do guzika "wyslij" nr 4 po czym wciska przycisk enter

-skrypt przy pomocy komendy _IELoadWait (?) czeka na zaladowanie strony

-skrypt zaczyna dzialac od nowa z tym, ze odczytuje kolejna linie z pliku .txt

 

#include <IE.au3>

HotKeySet("{q}", "TogglePause")

Global $Paused, $WinTitle ='nazwa otwartego okna IE'
$wiadomosc = 'tresc wiadomosci'
$temat = 'temat'
TogglePause()

$i = 0
While 1
If WinExists($WinTitle) Then
ControlSend($WinTitle, "", "", "TAB", 1)
FileReadLine("Uzytkownicy.txt",$i = $i + 1)
;Tutaj nie wiem jak zrobic aby zczytana linia trafila do pola nr 1
ControlSend($WinTitle, "", "", "TAB", 1)
;wklejenie do pola nr 2 wartosci z zmiennej $temat
ControlSend($WinTitle, "", "", "TAB", 1)
;wklejenie do pola nr 3 wartosci zezmiennej $wiadomosc
ControlSend($WinTitle, "", "", "TAB", 1)
ControlSend($WinTitle, "", "", "TAB", 1)
ControlSend($WinTitle, "", "", "ENTER", 1)
_IELoadWait
$i = $i + 1
EndIf
WEnd

;funckja pauzujaca skrypt
Func TogglePause()
$Paused = NOT $Paused
While $Paused
sleep(100)
ToolTip('Stop',0,0)
WEnd
ToolTip("")

EndFunc
Func Terminate()
Exit 0
EndFunc

 

Nie wiem czy te funkcje Toogle Pause() i WinTitle dobrze sa zrobione, gdyz ten powyzszy skrypt to jest przerobka innego skryptu, wiec moze byc z tym cos nie tak.

Bardzo bym prosil o pomoc i sugestie gdyz nic wiecej nie dam rady wymyslec.

Opublikowano

#include <IE.au3>
#include <GUIConstantsEx.au3>
$x = StringReplace(FileRead("odbiorcy.txt"),@CRLF, ";")
$ie = _IECreate("http://www.plemiona.pl/")
$gui = GUICreate("",300,300)
$temat_input = GUICtrlCreateInput("Temat",10,5,280)
$tresc_edit = GUICtrlCreateEdit("Treść",10,35,280,200)
$wyslij_button = GUICtrlCreateButton("Wyślij",130,270,40)
GUISetState(@SW_SHOW)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $wyslij_button
$odbiorcy = _IEGetObjById($ie,"to")
$temat = _IEGetObjByName($ie,"subject")
$tresc = _IEGetObjById($ie,"message")
$wyslij = _IEGetObjByName($ie,"send")
_IEFormElementSetValue($odbiorcy,$x)
_IEFormElementSetValue($temat,GUICtrlRead($temat_input))
_IEFormElementSetValue($tresc,GUICtrlRead($tresc_edit))
_IEAction($wyslij,"click")
EndSwitch
WEnd

 

Plik z loginami musi znajdować się tam gdzie skrypt i wyglądać tak:

gracz1
gracz2
gracz3
...

 

Następnie włączasz skrypt, otwiera się okno IE, logujesz się, wchodzisz w wiadomości -> wyślij wiadomość,

wypełniasz pola i klikasz przycisk "Wyślij".

Opublikowano

Dzieki, skrypt dziala tylko troche nie tak jak powinien. W pole "Do" skrypt wpisuje cala zawartosc pliku z loginami, a chcialbym zeby wpisal 3 loginy nastepnie wyslal wiadomosc, a potem wpisal kolejne 3 loginy, wyslal wiadomosc itd.

Opublikowano

#include <string.au3>
#include <IE.au3>
#include <GUIConstantsEx.au3>


$u=0
$ie = _IECreate("http://www.plemiona.pl/")
$gui = GUICreate("",300,300)
$temat_input = GUICtrlCreateInput("Temat",10,5,280)
$tresc_edit = GUICtrlCreateEdit("Treść",10,35,280,200)
$wyslij_button = GUICtrlCreateButton("Wyślij",130,270,40)
GUISetState(@SW_SHOW)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $wyslij_button
$z = StringReplace(FileRead("odbiorcy.txt"),@CRLF, ";")
$x = _StringBetween($z,"{","}")
For $i = 0 to $x
$odbiorcy = _IEGetObjById($ie,"to")
$temat = _IEGetObjByName($ie,"subject")
$tresc = _IEGetObjById($ie,"message")
$wyslij = _IEGetObjByName($ie,"send")
_IEFormElementSetValue($odbiorcy,$x[$u])
_IEFormElementSetValue($temat,GUICtrlRead($temat_input))
_IEFormElementSetValue($tresc,GUICtrlRead($tresc_edit))
_IEAction($wyslij,"click")
$u=$u+1
Next
EndSwitch
WEnd

Wiadomości do graczy będą wysyłane grupami.

Np.

{gracz1
gracz2
gracz3
}
{gracz4
gracz5
gracz6
gracz7
gracz8
}
{gracz9
gracz10
}

itd.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...