处理私人消息discord.py

时间:2020-08-07 15:39:44

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

如何处理discord.py中的所有私人消息? 我想知道是否可以对所有私人消息回复相同的消息,例如“您不能在私人消息中使用命令” 我知道消息私密时函数会引发错误,但是我不想使用try和每个函数除外

如果只能在私有环境中使用help命令,那会更好

2 个答案:

答案 0 :(得分:2)

如果您使用的是discord.ext.commands,则可以以此启动它

@bot.command()
@commands.guild_only()
async def something(ctx):
......

关于help命令,您可以让他在服务器中键入命令,然后私下将其返回给他。这样会增加与reaction的反应,并在私下向他发送嵌入所有帮助

bot.remove_command("help")

@bot.command()
async def help(ctx):
    embed = discord.Embed(
        title="Help")

    embed.set_footer(
        text="Enjoy, in case of issues contact AZ#0573")
    await ctx.author.send(embed=embed)
    await ctx.message.add_reaction("✅")

答案 1 :(得分:1)

如果需要,请将客户端替换为机器人

@client.event
async def on_message(message):
    if message.author.id != client.user.id:
        if message.guild:  # If message in guild
            await client.process_commands(message)  # Process command
        else:
            return await message.author.send("Sorry, but i dont process commands on direct messages...")