UPDATE2: У меня сработало следующее ... Я почти наверняка ожидал, что ваша проблема в том, что ваши файлы не создаются должным образом. Либо это, либо ваш бот сломан каким-то другим образом. Если вы используете отладчик (скажем, pycharms), вы можете установить точки останова и посмотреть, выполняется ли ваша команда и правильно ли создаются объекты Discord.File
async def test(self, ctx):
image = r"C:\Users\name\Desktop\visual-reverse-image-search-v2_intro.jpg"
import discord
await ctx.send(file=discord.File(image))
ОБНОВЛЕНИЕ: я не читал далеко достаточно, он должен принимать строковый путь. Вы пробовали отлаживать код, чтобы узнать, успешно ли открывается ваш файл?
Иногда стоит взглянуть на исходный код. Я пошел и посмотрел на discord.File.
class File:
"""A parameter object used for :meth:`abc.Messageable.send`
for sending file objects.
Attributes
-----------
fp: Union[:class:`str`, :class:`io.BufferedIOBase`]
A file-like object opened in binary mode and read mode
or a filename representing a file in the hard drive to
open.
.. note::
If the file-like object passed is opened via ``open`` then the
modes 'rb' should be used.
To pass binary data, consider usage of ``io.BytesIO``.
"""
def __init__(self, fp, filename=None, *, spoiler=False):
self.fp = fp
if isinstance(fp, io.IOBase):
if not (fp.seekable() and fp.readable()):
raise ValueError('File buffer {!r} must be seekable and readable'.format(fp))
self.fp = fp
self._original_pos = fp.tell()
self._owner = False
else:
self.fp = open(fp, 'rb')
self._original_pos = 0
self._owner = True
Похоже, он ожидает открытия файла.