2017-08-20 265 views
1

好吧,我正在爲特定用戶DM做直接消息功能,但我一直在尋找這樣做的方式,因此我可以向服務器上的每個人發送消息,我不明白。我使用discord.py 0.16.9作爲參考。這裏是我當前的代碼:如何使用機器人對所有人進行DM - discord.py

@client.command(pass_context = True) 
async def dm(ctx, member : discord.Member = None, *, message): 
    if not ctx.message.author.server_permissions.administrator: 
     return 
    if not member: 
     return await client.say(ctx.message.author.mention + "Specify a user to DM!") 
    if member = "@everyone": 
     member = 
    else: 
     await client.send_message(member, message) 
+0

爲什麼你想在服務器上批量DM每個人?這不是你的機器人的速率限制的問題嗎?這是不是可以解決與每個人在服務器ping?參考:你每60秒只能發送120條消息... – squaswin

回答

4

正如評論已經指出,這真不是到dm大家一個好主意,但如果你要,你可以遍歷服務器的所有成員和單獨的消息他們。在你的例子中:

if member == "@everyone": 
    for server_member in ctx.message.server.members: 
     await client.send_message(server_member, message) 
+0

嘖嘖,謝謝,它是我的機器人的測試服務器,我還研究代碼以瞭解它的作用,這將對我有幫助^^ THX! –