How to make a discord.py bot private/direct message someone who#39;s not the author?(如何使 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 机器人私人/直接消息不是作者的人?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何使 discord.py 机器人私人/直接消息不是作者的人?
基础教程推荐
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
