* Image/Video to Sticker * @param {Buffer} img Image/Video Buffer * @param {String} url Image/Video URL * @param {...String}
(img, url, ...args)
| 201 | * @param {...String} |
| 202 | */ |
| 203 | async function sticker(img, url, ...args) { |
| 204 | let lastError, stiker |
| 205 | for (let func of [ |
| 206 | sticker3, |
| 207 | global.support.ffmpeg && sticker6, |
| 208 | sticker5, |
| 209 | global.support.ffmpeg && global.support.ffmpegWebp && sticker4, |
| 210 | global.support.ffmpeg && |
| 211 | (global.support.convert || global.support.magick || global.support.gm) && |
| 212 | sticker2, |
| 213 | ].filter(f => f)) { |
| 214 | try { |
| 215 | stiker = await func(img, url, ...args) |
| 216 | if (stiker.includes('html')) continue |
| 217 | if (stiker.includes('WEBP')) { |
| 218 | try { |
| 219 | return await addExif(stiker, ...args) |
| 220 | } catch (e) { |
| 221 | console.error(e) |
| 222 | return stiker |
| 223 | } |
| 224 | } |
| 225 | throw stiker.toString() |
| 226 | } catch (err) { |
| 227 | lastError = err |
| 228 | continue |
| 229 | } |
| 230 | } |
| 231 | console.error(lastError) |
| 232 | return lastError |
| 233 | } |
| 234 | |
| 235 | const support = { |
| 236 | ffmpeg: true, |