Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bots Discord.py-无法尝试/除了403:用户不接受DMs_Bots_Discord_Discord.py - Fatal编程技术网

Bots Discord.py-无法尝试/除了403:用户不接受DMs

Bots Discord.py-无法尝试/除了403:用户不接受DMs,bots,discord,discord.py,Bots,Discord,Discord.py,我一直在到处寻找这个,但是try/except对我来说从来都不起作用,让我犯了多个错误。代码是禁止服务器上的每个成员,并发送一个DM,说明服务器已被删除。它可以工作,但机器人会在出现错误“无法向该用户发送消息”的人处停止,我希望处理它,但总是会出现如下错误:indent expected或expression expected。我没有使用try/catch的代码是: @client.command(pass_context=True) async def abandon(ctx): fo

我一直在到处寻找这个,但是try/except对我来说从来都不起作用,让我犯了多个错误。代码是禁止服务器上的每个成员,并发送一个DM,说明服务器已被删除。它可以工作,但机器人会在出现错误“无法向该用户发送消息”的人处停止,我希望处理它,但总是会出现如下错误:
indent expected
expression expected
。我没有使用try/catch的代码是:

@client.command(pass_context=True)
async def abandon(ctx):
    for member in ctx.guild.members:
        if len(member.roles) < 2:
            await member.send(f"Hello {member.display_name},\n\n" + banreason + banreason2 + banreason3)
            await member.ban(reason="Executed due to deletion of the server. Invite links were sent in DMs.")
            await ctx.send(f"**{member.display_name}** was banned and invite links were sent. :white_check_mark:")
            print(f"Banned {member.display_name} and invite links were sent.")
    print("Banning complete!")

我只是有一个简单的格式问题,用空格代替制表符。哈哈,python太敏感了,我认为需要一些东西,但只按了一次。

这是一个语法错误。使用try-except块发布错误。已添加到主帖子。
@client.command(pass_context=True)
async def abandon(ctx):
    for member in ctx.guild.members:
        if len(member.roles) < 2:
            try:
            print(f"Debug: Targeted user is {member.display_name}")
            except CommandInvokeError:
            ctx.send(f"{member.display_name}" + resolvedmerror)
            print(f"{member.display_name} was banned with 403 Forbidden exception (No DMs accepted by user)")
            pass
            await member.send(f"Hello {member.display_name},\n\n" + banreason + banreason2 + banreason3)
            await member.ban(reason="Executed due to deletion of the server. Invite links were sent in DMs.")
            await ctx.send(f"**{member.display_name}** was banned and invite links were sent. :white_check_mark:")
            print(f"Banned {member.display_name} and invite links were sent.")
    print("Banning complete!")