Технологии

Сделал код на пайтон, а он косо работает (Discord.py) - вопрос №5488240

Помогите пж, сделал код для бота в Discord. он должен отправлять embed message, он делает это, но фотки не вставляет. Код ниже
@bot.command()
async def esay(ctx, *, args=None):
embed = discord.Embed()
content = None

if args:
arg_dict = {}
for arg in args.split('&'):
split_arg = arg.split('=')
if len(split_arg) == 2:
arg_dict[split_arg[0]] = split_arg[1]

if 't' in arg_dict:
embed.title = arg_dict['t']
if 'd' in arg_dict:
embed.description = arg_dict['d']
if 'im' in arg_dict:
# Преобразуем значение параметра «im» в URL-адрес
image_url = str(arg_dict['im'])
embed.set_image(url=image_url)
if 'ch' in arg_dict:
channel = bot.get_channel(int(arg_dict['ch']))
if channel:
await channel.send(content, embed=embed)
if 'co' in arg_dict:
embed.color = int(arg_dict['co'][1:], 16)

if 'c' in arg_dict:
content = arg_dict['c']

await ctx.message.delete()

if content:
await ctx.send(content)
else:
await ctx.send(embed=embed)

вот код, не работает параметр im, бот игнорит

май 23, 2024 г.

  • Всего ответов: 3

  • Dmitriy_Teh - аватарка

    Dmitriy_Teh

    8-й в

    Код выглядит правильным, но, вероятно, проблема может быть в некоторых деталях, связанных с асинхронным выполнением или неверными URL-адресами изображений.

    Убедитесь, что URL изображения является корректным и доступным. Попробуйте использовать URL-адрес изображения напрямую в коде для тестирования.

    Убедитесь, что бот правильно обрабатывает асинхронные операции. Проверьте, есть ли ошибки в логе, которые могут помочь найти причину проблемы.

    Убедитесь, что вы правильно используете метод

    set_image
    и передаете корректный URL.


    май 24, 2024 г.
  • Dmitriy_Teh - аватарка

    Dmitriy_Teh

    8-й в

    Вот немного модифицированный код с добавлением отладочных сообщений, которые помогут понять, в чем может быть проблема:

    import discord
    from discord.ext import commands

    bot = commands.Bot(command_prefix='!')

    @bot.command()
    async def esay(ctx, *, args=None):
    embed = discord.Embed()
    content = None

    if args:
    arg_dict = {}
    for arg in args.split('&'):
    split_arg = arg.split('=')
    if len(split_arg) == 2:
    arg_dict[split_arg[0]] = split_arg[1]

    if 't' in arg_dict:
    embed.title = arg_dict['t']
    if 'd' in arg_dict:
    embed.description = arg_dict['d']
    if 'im' in arg_dict:
    # Преобразуем значение параметра «im» в URL-адрес
    image_url = str(arg_dict['im'])
    # Добавим отладочное сообщение
    print(f«Image URL: {image_url}»)
    embed.set_image(url=image_url)
    if 'ch' in arg_dict:
    channel = bot.get_channel(int(arg_dict['ch']))
    if channel:
    await channel.send(content, embed=embed)
    if 'co' in arg_dict:
    embed.color = int(arg_dict['co'][1:], 16)

    if 'c' in arg_dict:
    content = arg_dict['c']

    await ctx.message.delete()

    if content:
    await ctx.send(content)
    else:
    await ctx.send(embed=embed)

    # Запуск бота с вашим токеном
    bot.run('YOUR_BOT_TOKEN')

    май 24, 2024 г.
  • Dmitriy_Teh - аватарка

    Dmitriy_Teh

    8-й в

    Добавлено отладочное сообщение

    print(f"Image URL: {image_url}")
    , которое выводит URL изображения. Это поможет убедиться, что URL правильно передается.Убедитесь, что ваш бот запущен с правильным токеном.

    Если изображение по-прежнему не отображается, попробуйте протестировать с другим URL-адресом изображения, например:

    image_url = «example.com/test_image.jpg»

    май 24, 2024 г.