2017-08-20 5 views
1

Eh bien, je fais une fonction de message direct à DM un utilisateur spécifique, mais j'ai cherché la façon de le faire afin que je puisse envoyer un message à tout le monde sur un serveur, et je ne comprends pas. J'utilise discord.py 0.16.9 pour référence. Voici mon code actuel:Comment DM tout le monde avec un bot - 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

Pourquoi voulez-vous regrouper tout le monde sur le serveur? Ce ne serait pas une préoccupation sur les ratelimits de votre bot? Est-ce que ce n'est pas quelque chose qui peut être résolu avec un ping tout le monde dans le serveur? Référence: Vous ne pouvez envoyer que 120 messages toutes les 60 secondes ... – squaswin

Répondre

4

Comme nous l'avons dit dans un commentaire, il est vraiment pas une bonne idée de dm tout le monde, mais si vous devez, vous pouvez itérer sur tous les membres d'un serveur et un message individuellement . Dans votre exemple:

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

Gee, merci, c'est pour un serveur de test de mon bot, j'étudie aussi le code pour savoir ce qu'il fait et ça m'aidera ^^ THX! –