• Как сделать, что бы бот присоединялся в голосовой канал | node js 14?

    Syjalo
    @Syjalo
    Представьте себе бота
    Есть официальный гайд по @discordjs/voice.

    Если я нахожу нужное, то оно на / команде, а мне нужно на префикс команду

    Вообще не оправдание. Просто взаимодействие с интеракцией заменяется взаимодействием с сообщением.
    Ответ написан
    Комментировать
  • Как получить банер пользователя Discord js?

    Syjalo
    @Syjalo
    Представьте себе бота
    Как указано в документации пользователь должен быть принудительно получен из API, чтобы у него был хеш баннера.
    await client.users.fetch('id', { force: true });
    // или
    await user.fetch();

    Далее можно получить URL
    user.bannerURL();

    Discord не отправляет хеш баннера через Gateway, так что он не закэширован в discord.js вместе с самим пользователем. Нужно получать пользователя принудительно, так как .fetch() сначала проверяет кэш, прежде чем запросить данные из API.
    Ответ написан
    1 комментарий
  • Как сделать, чтобы бот реагировал и отвечал на сообщения?

    Discord.js client.on
    message event
    - обращаетесь к message, при этом не передав его в параметр (в этом случае редактор должен был вас предупредить, что message - не определён)
    - условие не может находиться вне блока с обработкой команды
    client.on("message", (message) => {
      if (message.author.bot || message.content.startsWith(prefix)) return;
      if (prefix === "ping") {
        message.reply(`pong ! ${Date.now() - message.createdTimestamp}ms`)
      };
    });
    Ответ написан
    Комментировать
  • Пишет Cannot use import statement outside a module, что сделать?

    bingo347
    @bingo347 Куратор тега Node.js
    Crazy on performance...
    Во-первых, нода ничего не знает ни о каких config.json, резолвинг модулей еще смотрит на package.json и то лишь на некоторые поля.
    Во-вторых, es-modules должны иметь расширение .mjs в node.js, а .js и .cjs рассматриваются как common-js модули, для .js можно поменять поведение через флаги командной строки при запуске node.
    В-третьих, common-js модуль нельзя напрямую импортировать из es-module, благо я давным давно сделал хелпер для этих целей: https://www.npmjs.com/package/commonjs-variables-f...

    Подробнее обо всем этом можно почитать тут:
    https://nodejs.org/dist/latest-v18.x/docs/api/esm.html
    Ответ написан
    Комментировать
  • Как сделать активность бота?

    Alexandre888
    @Alexandre888 Куратор тега discord.js
    Javascript-разработчик
    вариант №1 (изменение активности бота в определенной части кода):
    client.user.setActivity('название', { type: ActivityType.Watching });

    вариант №2 (задать активность сразу):
    const client = new Client({ 
        intents: [/* интенты */],
        presence: {
            activities: [{
                name: "название",
                type: ActivityType.Watching
            }]
        }
    });
    Ответ написан
    Комментировать
  • Как сделать активность бота?

    morfiscam
    @morfiscam
    Developer bot in Discord and design
    Есть так же документация по этому - <ТЫК>

    const { ActivityType } = require('discord.js');
    
    client.user.setActivity('activity', { type: ActivityType.Watching });
    client.user.setActivity('activity', { type: ActivityType.Listening });
    client.user.setActivity('activity', { type: ActivityType.Competing });


    Не знаю как у всех, но у меня в боте сделано так.
    В папке events создаешь файл ready.js и прописываешь туда этот код.


    const { Events, ActivityType } = require('discord.js');
    
    module.exports = {
        name: Events.ClientReady,
        once: true,
        execute(client) {
                client.user.setPresence({ activities: [{ name: 'activity' }], status: 'idle' }); 
    client.user.setActivity('Hello, I wait for you', { type: ActivityType.Watching });
            console.log(`Готово! Бот зашел в сеть! ${client.user.tag}`);
        },
    };


    В предпоследней строчке меняешь на свой интент, если он понадобится. Listening / Competing
    Так-же, после этого, вдруг если у тебя не было - добавится консоль лог, пишет зашел ли бот в логи.
    Если до этого было, удали старый лог.
    Ответ написан
    Комментировать