该命令应该对服务器中的每个人DM。这是我的代码:
bot = commands.Bot(command_prefix = prefix)
@bot.command(name = 'massdm', pass_context=True)
async def dm(ctx, message):
guild = ctx.message.guild
for member in guild.members:
await asyncio.sleep(0)
await member.send(message)
await ctx.send("Sent message")
答案 0 :(得分:0)
我没有看到您的错误,但我认为第await ctx.send_message(member, message)
行引起了错误。没有像ctx.send_message
这样的东西。您可以使用ctx.send
,channel.send
,member.send
。如果要发送dm,请使用member.send
。因此,您可以这样做:
@bot.command(name = 'massdm', pass_context=True)
async def dm(ctx, message):
guild = ctx.message.guild
for member in guild.members:
await asyncio.sleep(0)
try:
await member.send(message)
await ctx.send("Sent message")
except:
await ctx.send("Error")