Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
350 views
in Technique[技术] by (71.8m points)

python - How do I make a custom discord bot @ someone that a person @ed in the command?

When I type !best it comes up with my username which also does it if I @ someone else with the same command like !best @example and comes up with @nottheexample

if message.content.startswith('!best'):
        await message.channel.send(message.author.mention)
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

To mention a user you have to define it beforehand. You do this as follows:

user = message.mentions[0]

To mention the user you can either use f-strings or format.

Based on the code above here is an example:

@client.event # Or whatever you use
async def on_message(message):
    user = message.mentions[0]
    if message.content.startswith('!best'):
        await message.channel.send("Hello, {}".format(user.mention))

Please note that the code only works if you then also specify a user. However, you can add more if or else statements if you want to handle it differently.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...