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);
}
Назвав код вне функций работает, но чем пользователь получает каждый раз, когда они что-то типа файла. Я экспериментирую, так что немного объяснений было бы здорово.
У вас есть синтаксическая ошибка, поверх вашего скрипта – Epodax
Просто переписал некоторые из них здесь вручную, код работает нормально , он просто не отправляет аудио файл, в то время как текст отправляется штрафом. –
Пробовал это сейчас, все тот же результат. –