本文介绍了如何使用discord.py对不一致服务器中的每个人进行DM?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!
问题描述
发送命令: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')
推荐答案
没有回溯是不可能确定的,但是当您无法将DM发送给成员时,这很可能是错误的。如果成员将其隐私设置设置为不允许来自服务器成员的DM或阻止了机器人,则可能会发生这种情况。
您应该删除无法确定实际特定问题的此特定实例所表现出的捕获所有异常处理程序,这是一种不良做法,并检查回溯。
这篇关于如何使用discord.py对不一致服务器中的每个人进行DM?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!
本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!