Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
356 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 Reply

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...