Отправка сообщения всем на дискорд сервере - PullRequest
0 голосов
/ 02 мая 2020

Я пытаюсь, чтобы мой бот разногласий отправлял сообщения всем на моем сервере разногласий, все ответы, которые я пробовал, не сработали для меня. У меня пока есть этот код, но я не знаю, работает ли он, потому что у меня нет никого на разногласиях (я делаю это для друга)

вот код:

    import discord

    def read_token():
    with open("token.txt", "r") as f:
        lines = f.readlines()
        return lines[0].strip()

    token = read_token()

    client = discord.Client()

    @client.event
    async def on_message(message):
         if message.content.find("!hello") != -1:
         await message.channel.send("Hi") # If the user says !hello we will 
         send back hi

      if message.content.startswith('Message everyone'):
      for guild in client.guilds:
          for discord.Member in guild.members:
            await message.discord.Member.send("sup")

client.run(token)

1 Ответ

0 голосов
/ 02 мая 2020

Вы можете использовать create_dm () , чтобы создать dm для участника.

Добавлено в проверку для пропуска любых ботов.

Использование lower() для сообщения для обработки любого случая.

FYI - довольно просто создать гильдии в разногласиях , так что вы можете проверить, если вы не можете проверить, это действительно не стоит пытаться.

Попробуйте это:

@client.event
async def on_message(message):
    if message.author == client.user:
        return
    if message.content.find("!Hello") != -1:
        await message.channel.send('Hi')
    if message.content.lower().startswith('message everyone'):
        for guild in client.guilds:
            await sleep(.25)
            members = guild.members
            for member in members:
                if member.bot is True:
                    continue
                await sleep(.25)
                channel = await member.create_dm()
                await channel.send('sup')
...