Как правльно отправить embed в канал по id?

Ссылка скопирована
1 ответ

Здравствуйте! Нужно чтоб embed с callback отправлялся в нужный канал по id

async def callback(self, inter: disnake.ModalInteraction):         embed = disnake.Embed(             title='Пришла новая анкета!',             color=0xA52A2A,             timestamp=datetime.datetime.now()         )         embed.add_field(name='Ник:', value=inter.text_values.get("nick"), inline=False),         embed.add_field(name='CID:', value=inter.text_values.get("cid"), inline=False),         embed.add_field(name='Форумник:', value=inter.text_values.get("forum"), inline=False),         embed.add_field(name='Discord ID:', value=inter.text_values.get("disid"), inline=False),         embed.add_field(name='Тег пользователя', value=f'**{inter.author}** ( {inter.author.mention} )', inline=False)         embed.set_footer(             text=f'ID пользователя: {inter.author.id}'         )         channel_id = settings['anketschannel']         channel = bot.get_channel(channel_id)         if channel:             await inter.response.send_message(embed=embed)

По идеи по моему коду await должен быть таков: await channel_send(embed=embed), но такой метод не дает закрыть само модельное окно, но embed отправляется. Пробовал просто сделать так await channel.response.send_message(embed=embed) , но так же не работает.

Как написать, чтоб отправлялся embed в нужный канал по id и, чтоб закрывалось модельное окно.
За ранее спасибо!

Дополнительно:

Решил проблему самостоятельно.

  • Приложите решение вопроса, в таком виде он не имеет смысла
  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Сергей Миронов Ответ

    Для отправки embed в канал по id вам необходимо воспользоваться методом sendMessage из библиотеки Discord.js (если вы используете JavaScript).

    Прежде всего, убедитесь, что у вас есть id канала, в который вы хотите отправить embed. Затем создайте новый embed, используя конструктор new Discord.MessageEmbed(). Добавьте нужные поля, заголовки, описание и другие параметры вашего embed.

    После этого найдите канал по его id с помощью метода client.channels.cache.get('id_канала'). И наконец, отправьте созданный embed в этот канал с помощью метода channel.send(embed).

    Пример кода на JavaScript с использованием Discord.js:

    const Discord = require('discord.js');
    const client = new Discord.Client();
     
    client.on('ready', () => {
        const channelId = 'ваш_id_канала';
        const channel = client.channels.cache.get(channelId);
     
        const embed = new Discord.MessageEmbed()
            .setColor('#0099ff')
            .setTitle('Название вашего embed')
            .setURL('ссылка')
            .setDescription('Описание вашего embed');
     
        channel.send(embed);
    });
     
    client.login('ваш_токен_бота');

    Не забудьте заменить 'ваш_id_канала', 'ссылка', 'Название вашего embed', 'Описание вашего embed' и 'ваш_токен_бота' на соответствующие значения.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно