Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

191
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!