Python 在discord.py中获取DM消息
所以我有这个密码Python 在discord.py中获取DM消息,python,discord,discord.py,Python,Discord,Discord.py,所以我有这个密码 import discord from discord.ext.commands import Bot from discord import DMChannel TOKEN = "bot token" client = Bot (command_prefix='!') @client.command(name='dm', pass_context=True) async def dmsend(ctx): user = await client.fe
import discord
from discord.ext.commands import Bot
from discord import DMChannel
TOKEN = "bot token"
client = Bot (command_prefix='!')
@client.command(name='dm', pass_context=True)
async def dmsend(ctx):
user = await client.fetch_user("user ID")
await DMChannel.send(user, "Hello there!")
client.run(TOKEN)
如果用户写入,它基本上会向特定用户发送一条消息!马克。但是,有没有办法通过dms实现这一点?所以每次我收到带有的消息!dm在我的dms下,它将在
#general
频道中超越它。您可以在某些地方添加一些约束条件并使代码更简单
首先:使用@commands.dm_only()
,从而确保或仅允许在私有消息中执行该命令
Second:如何查询消息作者有点复杂,因此不应使用获取
,否则可能会受到速率限制。最好的方法是使用以下命令:user=ctx.author
Third:定义一个常规频道或其他你可以使用的客户端。获取频道(ChannelID)
查看完整代码:
@client.command()
@commands.dm_only()#只能在机器人程序DMs中使用
异步def dmsend(ctx):
user=ctx.author
wait user.send(“你好!”)#向命令的作者发送DM
general=client.get_通道(ChannelID)#定义常规通道
wait general.send(f“发送DM到{ctx.author}”)#在DM之后发送您的文本
另请参阅,以了解更多信息您希望用户能够在bot的DMs中使用命令dmsend
,如果用户这样做,输出应发送到#general
聊天室?我真的不明白你的问题,这正是我的问题@Dominikt非常感谢你!嘿,嗯,还有一个关于我计划的其他事情的问题。有没有办法复制用户发送给我的消息?我真的很感激answer@Haider你可以就此提出另一个问题。必须考虑更多或其他因素