2017-01-31 2 views
1

Je fais un télégramme bot pour écouter la Jamendo Radio par leur API. Je écrit ceci:Plus appel à bot Radio musique à Jamendo

 $url_radio = 'https://api.jamendo.com/v3.0/radios/stream/?client_id='.CLIENT_ID_J.'&format=jsonpretty&name='.$id; 
     $result = file_get_contents($url_radio); 
     $update = json_decode($result, true); 
     $res = $update['results']; 

     $sendto =API_URL."sendmessage?chat_id=".$chatID."&text=".urlencode($res[0]['dispname']); 
     file_get_contents($sendto); 

     $sendto =API_URL."sendPhoto?chat_id=".$chatID."&photo=".urlencode($res[0]['playingnow']['track_image']); 
     file_get_contents($sendto); 

     $name = $res[0]['playingnow']['track_name'].' - '.$res[0]['playingnow']['artist_name']; 

     $url_track = 'https://api.jamendo.com/v3.0/albums/tracks/?client_id='.CLIENT_ID_J.'&track_id='.$res[0]['playingnow']['track_id']; 
     $result = file_get_contents($url_track); 
     $update = json_decode($result, true); 
     $res = $update['results'][0]; 

     $sendto =API_URL."sendmessage?chat_id=".$chatID."&text=".urlencode($name.chr(10).$res["tracks"][0]['audio']); 
     file_get_contents($sendto); 

Il fonctionne parfaitement, mais j'éviterait trop d'appels par: "file_get_contents (sendto de $);".

Y a-t-il une autre façon d'éviter ces 3 appels?

Répondre

1

Si j'ai bien compris votre problème, vous pouvez éviter une requête.

SendPhoto API method a la légende param. Vous pouvez utiliser ce champ pour afficher $res[0]['dispname']