如何使 discord.py 机器人私人/直接消息不是作者的人? [英] How to make a discord.py bot private/direct message someone who's not the author?

查看:19
本文介绍了如何使 discord.py 机器人私人/直接消息不是作者的人?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我想制作一个具有poke"功能的机器人(也就是当有人说!poke @user#0000"时向用户发送一个说Boop"的 pm),我该怎么做?当我这样做时效果很好:

Say I want to make a bot with a "poke" feature (aka sends a pm to a user saying "Boop" when someone says "!poke @user#0000"), how would I do this? It works perfectly when I do this:

@bot.command(pass_context=True)
async def poke(ctx, message):
    await client.send_message(ctx.message.author, 'boop')

但前提是我想戳消息的作者.我想戳那些被@'d 的人.

but only if I want to poke the author of the message. I want to poke whoever's being @'d.

我知道 discord.py 文件说我可以使用这个:

I know the discord.py documents say I can use this:

start_private_message(user)

但我不知道用什么代替用户.

but I don't know what to put in place of user.

推荐答案

其实比那个简单

@bot.command(pass_context=True)
async def poke(ctx, member: discord.Member):
    await bot.send_message(member, 'boop')

send_message 包含私人消息的逻辑,因此您不必自己使用 start_private_message.: discord.Member 称为转换器,描述为 在此处的文档中

send_message contains logic for private messages, so you don't have to use start_private_message yourself. The : discord.Member is called a converter, and is described in the documentation here

这篇关于如何使 discord.py 机器人私人/直接消息不是作者的人?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆