Discord.py 如何提及命令中提到的人

2022-01-15 00:00:00 python discord discord.py

问题描述

我在这里创建了这些代码,当有人有权将@user 告上法庭"时它会说将@user 送上法庭";但这里的代码不起作用:

Iv created these code here that when someone rights "send @user to court" it will say "sending @user to court" but it doesn't work here's the code:

import discord
from discord.ext import commands
import ctx
import re

class MyClient(discord.Client):

    async def on_ready(self):
       print('Logged on as', self.user)

    async def on_message(self, message):
        if message.author == self.user:
            return

        messageContent = message.content
        if len(messageContent) > 0:
            if re.search("^send.*court$", messageContent):
                user_id = message.mentions[0].id
                user = self.get_user(user_id)
                await message.channel.send("sending", user, "to court!")

client = MyClient()
client.run('My secret token')


解决方案

您正在发送一个用户对象.要发送提及,您必须执行 <@{userid}" 提及

You are sending a user object. To send a mention you have to do "<@{userid}" to mention

这是你需要做的事情

await message.channel.send(
                    f"sending <@{user_id}> to court!"
                )

相关文章