首页 > 解决方案 > Madeline Proto sendMediaGroup 我无法发送,出现错误

问题描述

大家好,请帮助我了解问题所在!

我正在尝试通过 Madeline 的图书馆将专辑发送到电报

这是我的代码:

        $telegram->sendMediaGroup([
            'chat_id' => '-1001396042418',
            'media' =>
                [
                [
                      "type" => "photo",
                      "media" => new InputFile('/var/www/madeline/tmp/x-file.jpg', '314441'),
                      "caption" =>  "an optional description of the first photo"
                ],
                [
                    "type" => "photo",
                    "media" => new InputFile('/var/www/madeline/tmp/x-file.jpg', '314441'),
                    "caption" =>  "an optional description of the first photo"
                ],
            ],
        ]);

而且我总是收到如下错误:

A path to local file, a URL, or a file resource should be uploaded using `Telegram\Bot\FileUpload\InputFile::create($pathOrUrlOrResource, $filename)` for `media` property. Please view docs for example. [/var/www/vendor/irazasyed/telegram-bot-sdk/src/Exceptions/CouldNotUploadInputFile.php:52]

告诉我我现在做错了什么

标签: phpapitelegramtelegram-botphp-telegram-bot

解决方案


请前往 telegram-bot-sdk/src/Traits/Http.php

编辑行号 343 替换此代码

if ((! $params[$inputFileField] instanceof InputFile) && (is_string($params[$inputFileField]) && ! $this->is_json($params[$inputFileField]))) {

我认为问题在于逻辑构建

Or ( || ) 操作应替换为 and (&&) 操作

这解决了我的问题。


推荐阅读