【问题标题】:In Nodejs, Telegram API, messages.sendMultiMedia method is not working?在 Nodejs、Telegram API 中,messages.sendMultiMedia 方法不起作用?
【发布时间】:2021-05-18 18:33:05
【问题描述】:

这是一种将媒体消息发送到频道并且工作正常的方法: 官方文档链接:https://core.telegram.org/method/messages.sendMedia

public async sendMedia(channel_id:number, access_hash:string, message:string): Promise<any>{
        return await this.sendTelegram("messages.sendMedia", {
        peer : {
            _ : 'inputPeerChannel',
            channel_id,
            access_hash,
        },
        random_id: BigInt(new Date().getTime()),
        message: message,
        media:  {
            _ : "inputMediaPhotoExternal",
            url:"some image url",
        },
        });    
    }

但几乎是同一件事,它适用于多种媒体。 官方文档链接:https://core.telegram.org/method/messages.sendMultiMedia 在方法下面。

public async sendMultiMedia(channel_id:number, access_hash:string, message:string): 
 Promise<any>{
        return await this.sendTelegram("messages.sendMultiMedia", {
        peer : {
            _ : 'inputPeerChannel',
            channel_id,
            access_hash,
        },
        multi_media:[
            {
                _ : "inputSingleMedia",
                random_id: BigInt(new Date().getTime()),
                message,
                media : { 
                    _ : "inputMediaContact",
                    url:"some image url",
                }
            }
    ]
        });    
    }

第一种方法很好用,第二种方法不行。 Telegram Api 响应 INVALID_MEDIA,(放入的两个媒体是相同的)

有人可以帮忙吗?

提前致谢

【问题讨论】:

    标签: node.js api telegram


    【解决方案1】:

    目前 Telegram 不支持通过 URL 发送多媒体,这样做会导致INVALID_MEDIA 错误。

    但是,您可以使用uploadMedia 分别上传每张照片(通过 URL),获取inputMedia 的列表,然后使用sendMultimedia 发送。

    【讨论】:

    • 非常感谢。我会试试的
    猜你喜欢
    • 1970-01-01
    • 2022-10-26
    • 2021-08-24
    • 2016-04-10
    • 1970-01-01
    • 2022-07-31
    • 1970-01-01
    • 1970-01-01
    • 2019-08-07
    相关资源
    最近更新 更多