Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wysyłanie wiadomości - EKG
Forum PHP.pl > Forum > PHP
proxy
Mam postawionego EKG na moim serwerze dedykowanym. W jaki sposób w PHP mogę wysyłać przez niego wiadomości?


czytałem coś o exec(); oraz system(); i nie wiem jaką dać komendę... probówałem:

  1. <?php
  2. system('ekg -msg 1111111 wiadomość raz dwa trzy');
  3. ?>


niestety bez skutku. 
okitoki
nie znam EKG, ale jak używasz exec() to podaj adres bezwzględny, czyli prawdopodobnie /usr/sbin/ekg
c3zi
A po co do wysyłania wiadomości używasz EKG, skoro GG udostępnia API? Może chodzi Tobie o bota. Jeśli tak to ekg można skonfigurować, aby odpalał skrypt python/php przy otrzymaniu wiadomości (jak i przy innych zdarzeniach).
proxy
GG API odpada - trzeba podpisywać coś z nimi i mieć 18 lat. Chcę po prostu zrobić powiadomienie o płatnościach przez GG i odwołać się przez skrypt w php ale nie wiem jak...
okitoki
przez SSH ci to działa?
proxy
Tak.
okitoki
witaj widzę ze problem jest jakiś inny, prawdopodobnie z uprawnieniami, ale możesz to zrobić w bash-u i raz dziennie ustaw by cron to uruchamiał jako TY
Kod
#!/bin/bash

cat ${HOME}/dane_do.gg | while read nr_gg
do
ekg msg $nr_gg jakaś informacja
done


plik dane_do.gg zawiera aktualną liste numerów do których ma zostać wysłana ta wiadomość, nie zapomnij u uprawnieniach dla skryptu
thekoks
jak chcesz zrobić bota gg działającego na ekg najlepiej zrób go w C albo Python
CyberDuck_
Mozesz to tez zrobic w php :
1. odpalasz ekg i wpisujesz komende :
on -a chat * exec -b %1 php -q /sciezka_do_serwera/ekg_autores.php %1 "%4"
Zapisujesz ja do EKG poprzez 'save' .
2. Teraz piszesz sobie skrypt w php i zapisujesz go jako 'ekg_autores.php'
w glownym katalogu serwera. Przyklad nizej .
Wynik ze skryptu php bedzie wysylany do uzytkownika, ktory cokolwiek napisal
pod numer EKG.
3. Poniewaz dobrze by bylo odebrac wiadomosc i ja przekazac do skryptu php wiec
mozesz to zrobic na dwa sposoby . Albo odczytac z parametrow ktore sa dodawane
jako zmienne, albo przeniesc plik history do katalogu serwera.
Jak chcesz to zrobic w tym drugim wypadku to idziesz do /root/.gg/config
i tam zmieniasz sciezke pliku history w pliku konfiguracji EKG config.
U mnie przynajmniej ten plik jest wlasnie pod taka sciezka.
Oczywiscie procz sciezki musisz zmienic last i log na 1 zeby byly te logi zapisywane.

last 1
last_size 10
log 1
log_ignored 0
log_status 0
log_path /sciezka_do_serwera/history

W glownym katalogu serwera musisz umiescic wczesniej ten plik history.
Nie wiem czemu ale EKG nie potrafi sobie utworzyc samo pustego lub z pierwszym
wpisem pliku history.
Ja dla przykladu napisalem cos takiego i po sprawdzeniu dziala :

  1. $nazwa_pliku = '/sciezka_do_serwera/history';
  2. $fp = fopen("$nazwa_pliku", "r");
  3. $dane = fread($fp, filesize($nazwa_pliku));
  4. fclose($fp);
  5.  
  6. $tab = explode("\n", $dane);
  7. $il = count($tab);
  8. $ost_wiad = $tab[$il - 2];
  9. $sklad = explode(",", $ost_wiad);
  10.  
  11. if ($sklad[5] == '!czas') {
  12. $wiadomosc = "Aktualna data i czas :" ."\r";
  13. $wiadomosc .= date("d.m.Y", $sklad[3]) ." godz " .date("H:i:s", $sklad[3]) ."\r";
  14. } else {
  15. $wiadomosc = "Witaj. To jest test miniautorespondera" ."\r";
  16. $wiadomosc .= "Wyslales wiadomosc z numeru " .$sklad[1] ."\r";
  17. $wiadomosc .= "Dnia " .date("d.m.Y", $sklad[3]) ." o godz " .date("H:i", $sklad[3]) ."\r";
  18. $wiadomosc .= "Tresc wiadomosci :" ."\r" ."'" .$sklad[5] ."'";
  19. }


Do uzytkownika jest za kazdym razem wysylana odrazu odpowiedz :
1 . po wyslaniu wiadomosci 'cos tam' :
Witaj. To jest test miniautorespondera
Wyslales wiadomosc z numeru XXXXXX
Dnia 19.08.2009 o godz 18:15
Tresc wiadomosci :
'cos tam'
2. Po wyslaniu wiadmosci '!czas' :
Aktualna data i czas :
19.08.2009 godz 19:02:35

Mozna sobie sprawdzic pod numerem :
gg:11442978
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.