[英]discord.py Mention user by name
我試圖在 discord.py 中以用戶的名字提及用戶。 我目前的代碼是:
@bot.command(name='mention')
@commands.has_role(OwnerCommands)
async def mention(ctx, *, member: discord.Member):
memberid = member.id
await ctx.message.delete()
await ctx.send('<@{}>'.format(memberid))
但它不起作用。 我該怎么做呢?
編輯,我找到了答案。
這是相當直接的member.mention
@bot.command(name='mention')
@commands.has_role(OwnerCommands)
async def mention(ctx, *, member: discord.Member):
await ctx.message.delete()
await ctx.send(member.mention)
我們可以跳過手工操作,直接使用discord的Member Model 。 Member 對象上的mention
向我們返回字符串以允許我們直接提及它們。
@bot.command(name='mention')
@commands.has_role(OwnerCommands)
async def mention(ctx, *, member: discord.Member):
await ctx.message.delete()
await ctx.send(member.mention)
沒關系,我找到了方法。 我只是在 Discord Developers 頁面中打開了特權縮進。
如果您不想通過使用 discord.py MemberConverter擴展兩次提及成員,另一種解決方案,並且不要忘記從不和諧開發者門戶激活成員特權縮進。
資源: https : //discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.MemberConverter 如何將字符串轉換為用戶 discord.py
import discord
from discord.ext import commands
from discord.ext.commands import MemberConverter
intents = discord.Intents(members = True)
client = commands.Bot(command_prefix="$", intents=intents)
@client.command()
async def mention(ctx, member):
converter = MemberConverter()
member = await converter.convert(ctx, (member))
await ctx.send(member.mention)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.