Creare un exe da un listato php

mbogliardi

Nuovo Utente
23 Ago 2017
3
0
1
59
Salve,
avrei bisogno di scrivere un sw che legga il contenuto di un file txt nel mio pc e lo pubblichi automaticamente in un canale Telegram.
Ho visto che è possibile scrivere automaticamente in un canale Telegram usando il linguaggio php. Ad esempio questo è un sito dove viene illustrato un listato php che esegue questo task:
https://gist.github.com/ariefbayu/e3ffe27f9c50cb674edd

Il mio problema è aggiungere la lettura del file di testo e trasformare il listato php in un eseguibile da lanciare ad esempio mediante un batch di windows.
Si può fare oppure esistono soluzioni più intelligenti?
Grazie per i consigli in anticipo
 
Certo che si può fare, come tutto;)
Leggere un file testuale in php non è assolutamente un problema e immagino che se hai trovato già quella script per scrivere in un canale telegram tu abbia già spulciato del codice per la lettura in php di un file.
Sul web ho trovato questa pagina che ti potrebbe essere molto utile https://stackoverflow.com/questions/18488946/running-a-php-script-with-a-bat-file dove per l'appunto non fa altro che eseguirti un file php tramite il tuo software di php nel pc, lo apre, e in seguito gli passa il file come parametro per essere eseguito.
Qui trovi un semplice codice per la lettura di un file https://stackoverflow.com/questions/4103287/read-a-plain-text-file-with-php.
Non so se esistono soluzioni più intelligenti onestamente ma penso che l'impostazione della tua non sia male alla fine si tratta di una semplice "lettura e invio". (Poi magari qualcuno che ha avuto esperienze nella trasmissione automatica su telegram può consigliarti qualcosa di più conveniente magari).
Nella script che hai trovato puoi notare di come dalla riga 11 in poi si inizializzi tutto per l'invio del messaggio sulla chat, ecco proprio li dovrai piazzare il codice per la lettura del testo dal file e relativo invio (se non erro nella script che hai trovato il testo da inviare viene acquisito come parametro quando si chiama la script, così come l'id del canale telegram).
 
Grazie per i consigli.
Ho usato il semplicissimo batch seguente:

cd C:\php
"php.exe" -f C:\php\scrivimessaggio.php

il file scrivimessaggio.php è il seguente:

<?php
require('telegram-bot-api.php');

$token = '1***********************************o';
$bot = new telegram_bot($token);
$to = '@mychannel_bot';
$rs = $bot->send_message($to , 'test');
print_r($rs);
?>

Il file telegram-bot-api-php (in allegato) l'ho trovato in rete, vi ho aggiunto la seguente riga: require('C:\php\ext\php_curl.dll'); perché non trovava la definizione delle funzioni curl_init() , curl_setopt(...)
Adesso però non funziona lo stesso ma dice:

Warning: Unexpected character in input: ' ' (ASCII=15) state=0 in C:\php\ext\php_curl.dll on line 1545
Parse error: syntax error, unexpected 'HA' (T_STRING) in C:\php\ext\php_curl.dll on line 1545

Qualche suggerimento? Grazie
 

Allegati

Mhm non credo che questa sia la soluzione adatta. Hai abilitato curl nel php.ini (se non erro). Se non lo hai fatto prova e poi rilancia il programma (togliendo quel require).
 
Grazie mille!
In effetti il problema era il php.ini.
Ho inserito:

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
extension=php_curl.dll

Adesso però l'errore è:

stdClass Object
(
[ok] =>
[error_code] => 400
[description] => Bad Request: chat not found
)
 
Beh a questo punto credo che si tratti di un avviso della script telegram che come ovviamente ti dice, non trova la chat.
Mi verrebbe da dirti di verificare che i dati di collegamento alla chat siano corretti e che non ci siano "permessi" da concedere da telegram per la chat in esame in modo tale da ricevere messaggi anche non via chat ma da bot (come in questo caso).
 

Discussioni simili