Saltar al contenido

¿Cómo menciono a un usuario que usa la identificación del usuario en discord.py?

Solución:

Así que finalmente descubrí cómo hacer esto después de unos días de prueba y error con la esperanza de que otros se beneficiaran de esto y tuvieran menos dolor del que yo realmente tenía. La solución fue, en última instancia, fácil …

  if message.content.startswith('!best'):
        myid = '<@201909896357216256>'
        await client.send_message(message.channel, ' : %s is the best ' % myid)

Si está trabajando con comandos, es mejor usar las funciones de comando integradas de discord.py, su comando de abrazo se convertirá en:

import discord
from discord.ext import commands

@commands.command(pass_context=True)
async def hug(self, ctx):
    await self.bot.say("hugs {}".format(ctx.message.author.mention()))

Esto es asumiendo que ha hecho algo como esto al comienzo de su código:

def __init__(self):
    self.bot = discord.Client(#blah)

A partir de una User objeto, usa el atributo User.mention para obtener una cadena que represente una mención para el usuario. Para obtener un objeto de usuario de su ID, necesita Client.get_user_info(id). Para obtener un usuario de un nombre de usuario (‘CERO’) y discriminador (‘# 6885’) use la función de utilidad discord.utils.get(iterable, **attrs). En contexto:

if message.content.startswith('!best'):
    user = discord.utils.get(message.server.members, name="ZERO", discriminator = 6885)
    # user = client.get_user_info(id) is used to get User from ID, but OP doesn't need that
    await client.send_message(message.channel, user.mention + ' mentioned')
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *