Как отправить случайное фото в TelegramBot с помощью PHP?

Я хочу отправить случайную фотографию в TelegramBot, я написал этот код, но он не работает. Как решить эту проблему?

Код:

$pictures = [
  [
    "file"=>"data/pictures/pic1.jpg",
  ],
  [
    "file"=>"data/pictures/pic2.jpg",
  ]
];

$random_image = $pictures[rand(0, count($pictures) - 1)];
if ($text == "pictest"){
    Bot('SendPhoto',[
        'chat_id' => $chat_id,
        'photo' => $random_image,
    ]);
}

Добро пожаловать в Stack Overflow. Прочтите о задавать вопросы. $pictures — это массив массивов, но $random_image выбирает элемент из массива, поэтому он получает массив вместо URL-адреса, связанного с файлом. В будущем, пожалуйста, не говорите «это не работает», а вместо этого говорите, что не сработало, предоставляя сообщения об ошибках и фактические результаты и желаемые результаты.

Jason Aller 31.03.2019 05:23
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
283
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Здесь нам может не хватать:

  • базовый домен перед изображениями, например: domain.org/data/pictures/pic1.jpg

  • или индекс file в $random_image

    $pictures = [
        [
            "file" => "data/pictures/pic1.jpg",
        ],
        [
            "file" => "data/pictures/pic2.jpg",
        ],
    ];
    
    $random_image = $pictures[rand(0, count($pictures) - 1)]["file"];
    
    if ($text == "pictest"){
        Bot('SendPhoto',[
            'chat_id' => $chat_id,
            'photo' => $random_image,
        ]);
    }
    

Другие вопросы по теме