Функция запрета не работает в боте Discord PythonPython

Программы на Python
Ответить
Anonymous
 Функция запрета не работает в боте Discord Python

Сообщение Anonymous »

Я новичок в создании ботов для разногласий, но в настоящее время работаю над ботом для своего сервера, который будет блокировать любого, кто отправляет сообщение в определенном канале, чтобы остановить других ботов. Я позаботился о том, чтобы человеку было совершенно очевидно, что отправка сообщений на этом канале приведет к его бану, но бот, скорее всего, этого не узнает и его забанят. По какой-то причине, когда строка await message.author.ban(reason="you are abot andbots berse") запускается, ничего не происходит. Если кто-то может помочь, мы будем очень признательны!
Вот полный сценарий:
import discord
from discord.ext import commands
import logging
from dotenv import load_dotenv
import os

load_dotenv()
token = os.getenv("DISCORD_TOKEN")

handler = logging.FileHandler(filename="discord.log", encoding="utf-8", mode="w")
intents = discord.Intents.default()
intents.message_content = True
intents.members = True
intents.moderation = True

bot = commands.Bot(command_prefix="!", intents=intents)

def canBanUser(user: discord.Member):
for role in user.roles:
if role.name == "Mod":
return False

return True

@bot.event
async def on_message(message: discord.Message):
if message.author == bot.user:
return

if message.channel.name == "bot-trap":
canBan = canBanUser(message.author)
if canBan:
await message.channel.send(f"{message.author.mention} get banned noob")
await message.author.ban(reason="you are a bot and bots are cringe")
else:
await message.channel.send(f"{message.author.mention} you are a mod and you can say stuff in this channel without being banned!")

await bot.process_commands(message)

bot.run(token, log_handler=handler, log_level=logging.DEBUG)


Подробнее здесь: https://stackoverflow.com/questions/798 ... iscord-bot
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»