python - 从discord.py rewrite 发送一个pm

标签 python python-3.x discord discord.py

我正在尝试弄清楚如何从discord.py重写机器人发送下午消息。我无法执行 ctx.author.send("context") 因为它向消息作者以外的其他人发送消息。 这是到目前为止我在搜索用户时所拥有的代码,它总是带有 NONE 值

@bot.command()
async def spam(ctx, author, message, amount):
print(author)
print(ctx.author)
victim = bot.get_user(author)
print(victim)
if not (victim == None):
    for i in range(int(amount)):
        await victim.send(message)
else:
    print("NOPE")

它的输出为

GIMMY READY......
Denard#0759
Denard#0759
None
NOPE

最佳答案

您可以使用 converter自动解析您的受害者User对象。

@bot.command()
async def spam(ctx, victim: discord.User, amount, *, message):
    for _ in range(amount):
        await victim.send(message)

然后您可以使用他们的姓名、ID 或提及来指定他们:

!spam Denard 1 spam spam spam
!spam @Denard 1 spam spam spam
!spam 1234 1 spam spam spam

关于python - 从discord.py rewrite 发送一个pm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51978648/

相关文章:

python - 高效地按组打乱 DataFrame 的一列

python - 如何从源代码编译适用于 Windows 的 svn python 绑定(bind)?

python - 在 Keras 中,如何为 LSTM 层获取 3D 输入和 3D 输出

python - 无法将机器人连接到不和谐

python - 数学文本解析器 : Fit output to figsize

python - 将列表拆分为打开和关闭标记之间的元素子列表

python-3.x - 单击并使用python分配给变量后如何使用selenium复制元素

python - 当 N=1 时,为什么我得到一个空列表而不是 [0]

javascript - 编辑嵌入在 Discord Music Bot 中的 'Now Playing'

javascript - 如何将自定义 ID 与用户名关联起来