Как я могу создать бота, который запретит пользователю, что это он?

#discord.py

Вопрос:

 import discord

class client(discord.Client):

    async def on_ready(self):
        print('Logged in!')

    async def on_message(self, message):
         await ctx.guild.ban(message.author, reason="dm'ed honey le pot")
client = client()
client.run("mytoken")
client.run 
 

Я знаю , что ctx.guild.ban не могу этого сделать , так on_message как не проходит ctx , но как мне указать, на каком сервере запретить?

Комментарии:

1. Является ли ваш бот ботом с одним сервером или ботом с несколькими серверами?

2. сейчас это один сервер, я мог бы просто выполнить простой цикл for.

3. Я понимаю. Вам нужно сначала получить участника, а затем сервер, на котором он находится.

Ответ №1:

Вам придется выбирать гильдию по своему id . Если сообщение является DM, ссылка на гильдию отсутствует.

Редактировать

 async def on_message(self, message):
    if not message.guild: # Replace 'guild_id' with the guild id you want
        self.fetch_guild(guild_id).ban(message.author, reason="dm'ed honey le pot")
 

Комментарии:

1. на данный момент это всего лишь один сервер