Files
limoka/Ijidishurka/modules/video_to_voice.py
2025-07-10 21:02:34 +03:00

65 lines
2.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# meta developer: @modwini
import os
from .. import loader
from moviepy.editor import VideoFileClip
@loader.tds
class VideoToVoiceMod(loader.Module):
"""Модуль, который преобразует видео в голосовое сообщение или MP3 файл."""
strings = {"name": "video_to_voice"}
@loader.owner
async def гсcmd(self, message):
"""Команда гс, преобразующая видео в голосовое сообщение."""
await message.delete()
video_message = await message.get_reply_message()
if not video_message or not video_message.video:
await message.edit("Ответьте на видео!")
return
video_file = await video_message.download_media()
video_clip = VideoFileClip(video_file)
audio_clip = video_clip.audio
voice_file = "voice.ogg"
audio_clip.write_audiofile(voice_file, verbose=False, logger=None)
await message.client.send_file(
message.to_id,
voice_file,
voice_note=True,
reply_to=video_message.id
)
video_clip.close()
audio_clip.close()
os.remove(video_file)
os.remove(voice_file)
@loader.owner
async def mp3cmd(self, message):
"""Команда mp3, преобразующая видео в MP3 файл."""
await message.delete()
video_message = await message.get_reply_message()
if not video_message or not video_message.video:
await message.edit("Ответьте на видео!")
return
video_file = await video_message.download_media()
video_clip = VideoFileClip(video_file)
audio_clip = video_clip.audio
audio_file = "modwini.mp3"
audio_clip.write_audiofile(audio_file, verbose=False, logger=None)
await message.client.send_file(
message.to_id,
audio_file,
reply_to=video_message.id
)
video_clip.close()
audio_clip.close()
os.remove(video_file)
os.remove(audio_file)