我当前正在尝试在发送命令:dmall
时使我的机器人DM服务器的所有成员,但是似乎不起作用。
我的代码:
@bot.command()
@commands.is_owner()
async def dmall(ctx,*,message):
for mem in ctx.guild.members:
await ctx.message.delete()
try:
await mem.send(message)
await ctx.send(f'Sent dm to: {mem.name}')
except:
print('User dm closed')
@dmall.error
async def dmall_error(ctx, error):
if isinstance(error, commands.CheckFailure):
await ctx.send('sorry comrade, you arent allowed to do that')
答案 0 :(得分:1)
没有回溯是不可能确定的,但是当您无法将DM发送给成员时,这可能会出错。如果成员设置了其隐私设置,不允许服务器成员的DM或阻止了漫游器,则可能会发生这种情况。
您应删除所有无法使用的异常处理程序,这是一种不好的做法,这种特定实例无法确定实际的特定问题并检查回溯。