2016-04-22 3 views
-1

Im, играющий с ботами Telegram, и я полностью забыл, так голый со мной.Telegram bot отправить файл и текст PHP

У меня есть базовый бот, который отправит текст обратно пользователю, теперь я также хочу отправить пользователю аудиосообщение. Но этого я не могу сделать, вот код.
Я также использую эту https://github.com/Eleirbag89/TelegramBotPHP, чтобы посылать аудио

include("Telegram.php); 

    define('BOT_TOKEN', 'tokentoken'); 
    define('API_URL', 'https://api.telegram.org/bot'.BOT_TOKEN.'/'); 

    $telegram = new Telegram(BOT_TOKEN); 

    $content = file_get_contents("php://input"); 
    $update = json_decode($content, true); 
    $chatID = $update["message"]["chat"]["id"]; 
    $message = $update["message"]["text"]; 

    $reply = sendMessage($message); 

    $sendto =API_URL."sendmessage?chat_id=".$chatID."&text=".$reply; 

    file_get_contents($sendto); 

    function sendMessage(&$string) { 

    switch ($string) { 

    case "Hi": 
    $message = "Hi Back"; 
    sendAudio(); 
    break; 

    case "Bye": 
    $message = "Bye Bye"; 
    break; 
    default: 
     $message = "Default"; 

    } 
    return $message 

    } 
func sendAudio() { 

$sound = curl_file_create('sampleAudio.mp3', 'audio/mp3'); 
$newContent = array('chat_id' => $chatID, 'audio' => $sound); 
$telegram->sendAudio($newContent); 

} 

Назвав код вне функций работает, но чем пользователь получает каждый раз, когда они что-то типа файла. Я экспериментирую, так что немного объяснений было бы здорово.

+0

У вас есть синтаксическая ошибка, поверх вашего скрипта – Epodax

+0

Просто переписал некоторые из них здесь вручную, код работает нормально , он просто не отправляет аудио файл, в то время как текст отправляется штрафом. –

+0

Пробовал это сейчас, все тот же результат. –

ответ

1

У вас есть какие-то ошибки:

  • Первая линия "незакрытый
  • Последняя функция, вы набрали "Func" вместо "функции"
  • В sendAudio() вы использовали $ chatID, но вы должны передать его как параметр sendAudio() или установить как глобальный.
+1

После проверки снова я нашел проблему, так как для синтаксиса я допустил ошибки при отправке вопроса. Последний вопрос был вопросом. Спасибо, что нашли время ответить, потому что это была пустяковая ошибка, но никто этого не делал. –

Смежные вопросы