Бот вроде бы должен превращать mp4 в gif но так как это происходит долго то дискорд ругается
Бот вроде бы должен превращать mp4 в gif но так как это происходит долго то дискорд ругается
Ошибка в работе бота discord.gateway: Shard ID None heartbeat blocked for more than seconds.
после чего
discord.client:Ignoringexception in on_message
import discord
from discord.ext import commands
from moviepy.editor import VideoFileClip
intents = discord.Intents.default() # Подключаем "Разрешения"
intents.message_content = True
bot = commands.Bot(command_prefix='>', intents=intents)
@bot.event
async def on_ready():
print("Suckass: bot is connected to Discord")
@bot.event
async def on_message(ctx):
if ctx.attachments:
attachment = ctx.attachments[0]
if attachment.filename.endswith('.mp4'):
try:
await attachment.save("temp.mp4") # Сохраняем вложение временно
video_clip = VideoFileClip("temp.mp4")
gif_name = "converted.gif"
video_clip.write_gif(gif_name)
await ctx.send(file=discord.File(gif_name))
except Exception as e:
await ctx.send(f"Произошла ошибка: {e}")
finally:
# Удаляем временный файл
import os
os.remove("temp.mp4")
else:
await ctx.send("Пожалуйста, прикрепите файл в формате MP4.")
else:
await ctx.send("Вложение не найдено.")
bot.run('token')
полное сообщение об ошибке (не уверен что оно необходимо)
[2024-10-01 13:34:03] [WARNING ] discord.gateway: Shard ID None heartbeat blocked for more than 10 seconds.
Loop thread traceback (most recent call last):
File "C:\Users\Denis\PycharmProjects\pythonProject\gif bot", line 38, in <module>
bot.run('token')
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\discord\client.py", line 869, in run
asyncio.run(runner())
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\runners.py", line 190, in run
return runner.run(main)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\runners.py", line 118, in run
return self._loop.run_until_complete(task)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\base_events.py", line 641, in run_until_complete
self.run_forever()
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\windows_events.py", line 321, in run_forever
super().run_forever()
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\base_events.py", line 608, in run_forever
self._run_once()
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\base_events.py", line 1936, in _run_once
handle._run()
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\events.py", line 84, in _run
self._context.run(self._callback, *self._args)
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\discord\client.py", line 449, in _run_event
await coro(*args, **kwargs)
File "C:\Users\Denis\PycharmProjects\pythonProject\gif bot", line 23, in on_message
video_clip.write_gif(gif_name)
File "<decorator-gen-60>", line 2, in write_gif
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\moviepy\decorators.py", line 54, in requires_duration
return f(clip, *a, **k)
File "<decorator-gen-59>", line 2, in write_gif
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\moviepy\decorators.py", line 22, in convert_masks_to_RGB
return f(clip, *a, **k)
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\moviepy\video\VideoClip.py", line 432, in write_gif
write_gif_with_image_io(self, filename, fps=fps, opt=opt, loop=loop,
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\imageio\v2.py", line 200, in __del__
self.close()
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\imageio\v2.py", line 190, in close
self.instance.close()
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\imageio\plugins\pillow.py", line 144, in close
self._flush_writer()
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\imageio\plugins\pillow.py", line 485, in _flush_writer
primary_image.save(self._request.get_file(), **self.save_args)
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\PIL\Image.py", line 2439, in save
save_handler(self, fp, filename)
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\PIL\GifImagePlugin.py", line 704, in _save_all
_save(im, fp, filename, save_all=True)
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\PIL\GifImagePlugin.py", line 715, in _save
if not save_all or not _write_multiple_frames(im, fp, palette):
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\PIL\GifImagePlugin.py", line 602, in _write_multiple_frames
im_frame = _normalize_mode(im_frame.copy())
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\PIL\GifImagePlugin.py", line 492, in _normalize_mode
im = im.convert("P", palette=Image.Palette.ADAPTIVE)
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\PIL\Image.py", line 1029, in convert
im = self.im.quantize(colors)
[2024-10-01 13:34:13] [WARNING ] discord.gateway: Shard ID None heartbeat blocked for more than 20 seconds.
Loop thread traceback (most recent call last):
File "C:\Users\Denis\PycharmProjects\pythonProject\gif bot", line 38, in <module>
bot.run('token')
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\discord\client.py", line 869, in run
asyncio.run(runner())
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\runners.py", line 190, in run
return runner.run(main)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\runners.py", line 118, in run
return self._loop.run_until_complete(task)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\base_events.py", line 641, in run_until_complete
self.run_forever()
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\windows_events.py", line 321, in run_forever
super().run_forever()
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\base_events.py", line 608, in run_forever
self._run_once()
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\base_events.py", line 1936, in _run_once
handle._run()
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\events.py", line 84, in _run
self._context.run(self._callback, *self._args)
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\discord\client.py", line 449, in _run_event
await coro(*args, **kwargs)
File "C:\Users\Denis\PycharmProjects\pythonProject\gif bot", line 23, in on_message
video_clip.write_gif(gif_name)
File "<decorator-gen-60>", line 2, in write_gif
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\moviepy\decorators.py", line 54, in requires_duration
return f(clip, *a, **k)
File "<decorator-gen-59>", line 2, in write_gif
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\moviepy\decorators.py", line 22, in convert_masks_to_RGB
return f(clip, *a, **k)
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\moviepy\video\VideoClip.py", line 432, in write_gif
write_gif_with_image_io(self, filename, fps=fps, opt=opt, loop=loop,
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\imageio\v2.py", line 200, in __del__
self.close()
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\imageio\v2.py", line 190, in close
self.instance.close()
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\imageio\plugins\pillow.py", line 144, in close
self._flush_writer()
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\imageio\plugins\pillow.py", line 485, in _flush_writer
primary_image.save(self._request.get_file(), **self.save_args)
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\PIL\Image.py", line 2439, in save
save_handler(self, fp, filename)
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\PIL\GifImagePlugin.py", line 704, in _save_all
_save(im, fp, filename, save_all=True)
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\PIL\GifImagePlugin.py", line 715, in _save
if not save_all or not _write_multiple_frames(im, fp, palette):
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\PIL\GifImagePlugin.py", line 602, in _write_multiple_frames
im_frame = _normalize_mode(im_frame.copy())
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\PIL\GifImagePlugin.py", line 492, in _normalize_mode
im = im.convert("P", palette=Image.Palette.ADAPTIVE)
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\PIL\Image.py", line 1029, in convert
im = self.im.quantize(colors)
[2024-10-01 13:34:24] [WARNING ] discord.gateway: Shard ID None heartbeat blocked for more than 30 seconds.
Loop thread traceback (most recent call last):
File "C:\Users\Denis\PycharmProjects\pythonProject\gif bot", line 38, in <module>
bot.run('token')
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\discord\client.py", line 869, in run
asyncio.run(runner())
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\runners.py", line 190, in run
return runner.run(main)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\runners.py", line 118, in run
return self._loop.run_until_complete(task)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\base_events.py", line 641, in run_until_complete
self.run_forever()
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\windows_events.py", line 321, in run_forever
super().run_forever()
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\base_events.py", line 608, in run_forever
self._run_once()
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\base_events.py", line 1936, in _run_once
handle._run()
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\Lib\asyncio\events.py", line 84, in _run
self._context.run(self._callback, *self._args)
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\discord\client.py", line 449, in _run_event
await coro(*args, **kwargs)
File "C:\Users\Denis\PycharmProjects\pythonProject\gif bot", line 23, in on_message
video_clip.write_gif(gif_name)
File "<decorator-gen-60>", line 2, in write_gif
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\moviepy\decorators.py", line 54, in requires_duration
return f(clip, *a, **k)
File "<decorator-gen-59>", line 2, in write_gif
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\moviepy\decorators.py", line 22, in convert_masks_to_RGB
return f(clip, *a, **k)
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\moviepy\video\VideoClip.py", line 432, in write_gif
write_gif_with_image_io(self, filename, fps=fps, opt=opt, loop=loop,
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\imageio\v2.py", line 200, in __del__
self.close()
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\imageio\v2.py", line 190, in close
self.instance.close()
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\imageio\plugins\pillow.py", line 144, in close
self._flush_writer()
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\imageio\plugins\pillow.py", line 485, in _flush_writer
primary_image.save(self._request.get_file(), **self.save_args)
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\PIL\Image.py", line 2439, in save
save_handler(self, fp, filename)
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\PIL\GifImagePlugin.py", line 704, in _save_all
_save(im, fp, filename, save_all=True)
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\PIL\GifImagePlugin.py", line 715, in _save
if not save_all or not _write_multiple_frames(im, fp, palette):
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\PIL\GifImagePlugin.py", line 602, in _write_multiple_frames
im_frame = _normalize_mode(im_frame.copy())
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\PIL\GifImagePlugin.py", line 492, in _normalize_mode
im = im.convert("P", palette=Image.Palette.ADAPTIVE)
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\PIL\Image.py", line 1029, in convert
im = self.im.quantize(colors)
[2024-10-01 13:34:32] [ERROR ] discord.client: Ignoring exception in on_message
Traceback (most recent call last):
File "C:\Users\Denis\PycharmProjects\pythonProject\gif bot", line 25, in on_message
await ctx.send(file=discord.File(gif_name))
^^^^^^^^
AttributeError: 'Message' object has no attribute 'send'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Denis\PycharmProjects\pythonProject\gif bot", line 28, in on_message
await ctx.send(f"Произошла ошибка: {e}")
^^^^^^^^
AttributeError: 'Message' object has no attribute 'send'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\discord\client.py", line 449, in _run_event
await coro(*args, **kwargs)
File "C:\Users\Denis\PycharmProjects\pythonProject\gif bot", line 32, in on_message
os.remove("temp.mp4")
PermissionError: [WinError 32] Процесс не может получить доступ к файлу, так как этот файл занят другим процессом: 'temp.mp4'
[2024-10-01 13:34:32] [ERROR ] discord.client: Attempting a reconnect in 0.08s
Traceback (most recent call last):
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\discord\client.py", line 667, in connect
await self.ws.poll_event()
File "C:\Users\Denis\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\discord\gateway.py", line 648, in poll_event
raise ConnectionClosed(self.socket, shard_id=self.shard_id, code=code) from None
discord.errors.ConnectionClosed: Shard ID None WebSocket closed with 1000
[2024-10-01 13:34:33] [INFO ] discord.gateway: Shard ID None has successfully RESUMED session 85c456891b4873db9ea4f6d2bcfe9977.