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

[Pytanie] UDF/Funkcja - Pisanie na Facebooku co godzinę.


Rekomendowane odpowiedzi

Opublikowano

Witam, mam prośbę - mógłby ktoś podać funkcję/udf ewentualnie nakierować mnie na odpowiednie rozwiązanie. Potrzebuję programu, który co godzinę będzie pisał do mnie na facebooku. Jeżeli kogoś by interesowało - to jest kod programu:.

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Res_Comment=Program który wysyła co 60 minut post o danej zawartości.
#AutoIt3Wrapper_Res_Description=Program który wysyła co 60 minut post o danej zawartości.
#AutoIt3Wrapper_Res_Fileversion=v.1.0
#AutoIt3Wrapper_Res_Language=1045
#AutoIt3Wrapper_Add_Constants=n
#AutoIt3Wrapper_Run_Obfuscator=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
#include <Timers.au3>
Opt("GuiOnEventMode", 1)
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("AutoPost Facebook", 551, 101, 524, 253)
$Label1 = GUICtrlCreateLabel("Stan Bota: Nieaktywny", 32, 72, 115, 17)
$Button1 = GUICtrlCreateButton("Zmień Stan", 152, 68, 117, 23)
;$Label2 = GUICtrlCreateLabel("Tekst: """, 280, 72, 47, 17)
$Input1 = GUICtrlCreateInput("", 24, 8, 505, 21)
$Button2 = GUICtrlCreateButton("Działaj", 176, 32, 233, 33)
GUISetState(@SW_SHOW)
GUICtrlSetOnEvent($Button1, "change")
GuiCtrlSetOnEvent($Button2, "main")
GUISetOnEvent($GUI_EVENT_CLOSE, "koniec") ;ESC wyłącza
#EndRegion ### END Koda GUI section ###
GUISetState(@SW_SHOW)
$enable = False
#EndRegion ### END Koda GUI section ###
Func main()
	$g = GUICtrlRead($Input1)
	if $g == "" Then
		MsgBox(48, "Błąd","Wpisz wiadomość!")
		GUICtrlSetData($Label1, "Stan Bota: Niektywny")
		$enable = False
		AdlibUnRegister("main")
	Else
		$oIE = _IECreate("facebook.pl", 0,0,1,1)
		$textarea = _IEGetObjById($oIE, "u_jsonp_65_c")
		$submit = _IEGetObjByName($oIE, "_42g-")
		;GUICtrlSetData($Label2, "Tekst: " & $g & ".")
		GUICtrlSetData($Label1, "Stan Bota: Aktywny")
		$enable = True
		$timee = 3600000
		_IEFormElementSetValue($textarea, $g)
		_IEAction($submit, "click")
		While _IEPropertyGet($oIE, "busy")
			Sleep(100)
		WEnd
		AdlibRegister("main", $timee)
	EndIf
EndFunc
Func koniec()
	Exit
EndFunc
func change()
	if $enable == False Then
		GUICtrlSetData($Label1, "Stan Bota: Aktywny")
		main()
		$enable = True
	ElseIf $enable == True Then
		GUICtrlSetData($Label1, "Stan Bota: Niektywny")
		$enable = False
		AdlibUnRegister("main")
	EndIf
EndFunc
While 1
	Sleep(100)
WEnd

Sęk w tym iż się nie wysyła, jeżeli ktoś może rzucić jakąś poradą się nie obrażę.

gwo9.jpg


Opublikowano

Właśnie tego użyłem sugerując się kilkoma tematami, teraz stoję na etapie timerów, żeby skrypt wykonywał się co godzinę.

gwo9.jpg


Opublikowano

możesz robić tak bo z timerami będzie więcej pieprzenia się

 

podczas uruchomienia programu zapisujesz aktualną godzinę używając albo Date.au3 albo makr związanych z godzinami/minutami

 

potem monitorujesz czy już minęła godzina czyli parę if'ów lub case'ów

1375799776-U359635.jpg

Opublikowano
While 1
	$godz = @HOUR * 60
	$czas = $godz + @MIN
	$staryczas = IniRead(;plik ini w ktorym zapisane bedzie godzina ostatniego odpalenia")
	$odpal = $czas - $staryczas
	If $odpal > 60 Then
		Run ;(odpaltamtenskrypt)
	EndIf
WEnd

I to bedzie jeden skrypt.

 

A to dodajesz do tego twojego


	$godz = @HOUR * 60
	$czas = $godz + @MIN
	IniWrite(;plik ini w ktorym zapisane bedzie godzina ostatniego odpalenia, key to $czas")

1387536187-U112334.png

Jeśli Ci pomogłem mógłbyś wynagrodzić lajkiem :)

Opublikowano

nie łatwiej tak?

 

#include <timers.au3>

$czas = _Timer_Init()
while 1
if _Timer_Diff($czas) >= 3600000 then
    ;; funkcja do wykonania co godzine
    $czas = _Timer_Init()
EndIf
sleep(1000)
WEnd
 

możesz też zamienić lnie tak, aby podawać w minutach wartość

if (_Timer_Diff($czas)/60000) >= 60 then 

i w godzinach

 if ((_Timer_Diff($czas)/60000)/60) >= 1 then

 

Opublikowano

 

nie łatwiej tak?

 

#include <timers.au3>

$czas = _Timer_Init()
while 1
if _Timer_Diff($czas) >= 3600000 then
    ;; funkcja do wykonania co godzine
    $czas = _Timer_Init()
EndIf
sleep(1000)
WEnd
 

możesz też zamienić lnie tak, aby podawać w minutach wartość

if (_Timer_Diff($czas)/60000) >= 60 then 

i w godzinach

 if ((_Timer_Diff($czas)/60000)/60) >= 1 then

 

Może i łatwiej, podałem też swoją wersje ponieważ tamta mi odpowiada bardziej z tego powodu że jeśli funkcja sie wykona i ma czekać 1h i wyłącze skrypt i włącze mój skrypt nadal będzie czekał aż tamta godzina minie a ten odrazu zacznie.

1387536187-U112334.png

Jeśli Ci pomogłem mógłbyś wynagrodzić lajkiem :)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...