typescript - GIF:ar skickas som videor i Telegram med grammy-biblioteket
Vi utvecklar en Telegram-bot med hjälp av grammy-biblioteket och har stött på ett problem: när vi försöker skicka GIF-filer med sendAnimation-metoden från grammy-dokumentationen skickas de och visas som videor i Telegram, istället för animationer.
Vi har verifierat att filerna faktiskt är i GIF-format. Kan någon föreslå en lösning eller förklara varför detta händer? Kanske har någon stött på ett liknande problem.
Länk till Grammy-dokumentation: Grammy-dokumentation
async function sendChallengeAnimation(
ctx: CommandContext<Context>
): Promise<void> {
const randomAnimationNumber =
Math.floor(Math.random() * challengeAnimationsCount) + 1
const video = InputMediaBuilder.video(
new InputFile(`media/challenge/${randomAnimationNumber}.gif`)
)
await ctx.replyWithMediaGroup([video])
}
Svar #1
Den här frågan handlar om funktioner som förlitar sig mer på Telegram-sidan än på Grammy-sidan, och dokumentation kan hittas här.
Förutom Photo, Video, MediaGroup och andra medietyper i Telegram, finns det också typen Animation. Försök att ersätta MediaGroup med Animation.
Om det inte fungerar eller om du behöver MediaGroup-typen, försök att ersätta video i InputMediaBuilder.video med animation.
Här är några fler relevanta dokument för den sista delen.