Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

193
Vistas
quiero cambiar el apodo del bot de discord

Quiero cambiar el nombre de un bot de Discord y he leído numerosos tutoriales y publicaciones de Stack Overflow y todavía no puedo obtenerlo. El código se toma principalmente del código de bot de código abierto, por lo que sé que funciona (¿algo con la configuración de mi bot, tal vez?)

Según tengo entendido, este código recorre cada gremio del que es miembro el bot y establece el apodo.

Encontré el botId haciendo clic con el botón derecho en el bot en el canal y copiando el ID.

 const { guildId } = require('../config'); module.exports = (client, botId, nickname) => { client.guilds.cache.forEach((guild) => { const { id } = guild; client.guilds.cache .get(id) .members.cache.get(botId) .setNickname(nickname); }); };

El bot aparece en el canal (después de usar la url oauth2), así que asumo que eso significa que es miembro del gremio.

Sin embargo, al ejecutar este código no se encuentra el bot. Probé varias cosas de otras publicaciones como guild.array() para intentar ver una lista completa de los miembros del gremio, pero nada funcionó.

 const guild = client.guilds.cache.get('943284788004012072'); const bot = guild.members.cache.get('956373150864642159') if (!bot) return console.log('bot not found');

Aquí está el bot completo

 require('dotenv').config(); const { Client, Intents } = require('discord.js'); const eventBus = require('../utils/events/eventBus'); const setNickname = require('../utils/setNickname'); const getPrice = require('../modules/statsGetters/getPriceDEX'); const { bots } = require('../config'); const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES], }); client.once('ready', async () => { console.log('DEX Price Watch Bot Ready'); client.user.setPresence({ activities: [{ name: 'DEX Price', type: 'WATCHING' }], status: 'online', }); const price = await getPrice(); setNickname(client, bots.priceDEX, price); eventBus.on(drip.update, async () => { const price = await getPrice(); setNickname(client, bots.priceDEX, price); //update price in config file }); }); client.login(process.env.DISCORD_PRICE_DEX);
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Esta es la muestra de cómo cambiar el apodo del bot para cada gremio al que se unió el bot

 client.guilds.cache.forEach((guild) => { //This is to get all guild that the bot joined const nickname = args.slice(0).join(" ") //You wanted to change nickname guild.me.setNickname(nickname); //setting the nickname of your bot });
about 4 years ago · Juan Pablo Isaza Denunciar

0

Creo que lo estás haciendo mal. Documentos: https://discord.js.org/#/docs/discord.js/stable/class/GuildMember?scrollTo=setNickname

Sugeriría usar este código de módulo:

 const { guildId } = require('../config'); module.exports = (client, nickname) => { client.guilds.cache .get(guildId).me.setNickname(nickname); };

Y úsalo de esta manera en tu código de bot principal: setNickname(client, price)

Editar: Oh, espera, me acabo de dar cuenta de que no usaste las intenciones correctas (miembros del gremio), por lo que definitivamente necesitas usar guild.me (como lo escribí anteriormente) o usar guild.members.fetch() ya que busca miembros que no están en caché. Más información: https://discord.js.org/#/docs/discord.js/stable/class/GuildMemberManager?scrollTo=fetch

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda