Боты
Классический бот для автомодерации
import discord
from discord.ext import commands
import re
import asyncio
import datetime
TOKEN = "ВСТАВЬТЕ_ВАШ_ТОКЕН_СЮДА"
intents = discord.Intents.default()
intents.message_content = True
intents.members = True
bot = commands.Bot(command_prefix='!', intents=intents)
INVITE_PATTERN = re.compile(
r'(?:https?://)?(?:www\.)?(?:discord\.(?:gg|com/invite|me)/|discordapp\.com/invite/)[\w-]+',
re.IGNORECASE
)
@bot.event
async def on_ready():
print(f'Бот запущен: {bot.user}')
@bot.event
async def on_message(message):
if message.author == bot.user or message.author.bot:
return
if isinstance(message.channel, discord.DMChannel):
return
if INVITE_PATTERN.search(message.content):
try:
await message.delete()
except discord.Forbidden:
pass
except discord.HTTPException:
pass
try:
await message.author.timeout(
datetime.timedelta(minutes=10),
reason="Отправка приглашения Discord"
)
notification = await message.channel.send(
f"{message.author.mention} получил мут на 10 минут за отправку приглашения."
)
await asyncio.sleep(10)
await notification.delete()
except discord.Forbidden:
try:
await message.channel.send(
f"{message.author.mention} отправил приглашение, но бот не может выдать мут."
)
except discord.Forbidden:
pass
except discord.HTTPException:
try:
await message.channel.send(
f"{message.author.mention} отправил приглашение. Не удалось выдать мут."
)
except discord.Forbidden:
pass
await bot.process_commands(message)
@bot.command(name='ban')
@commands.has_permissions(ban_members=True)
async def ban_user(ctx, member: discord.Member, *, reason="Причина не указана"):
try:
await member.ban(reason=reason)
await ctx.send(f"Пользователь {member} забанен. Причина: {reason}")
except discord.Forbidden:
await ctx.send("У бота нет прав на бан этого пользователя.")
except discord.HTTPException:
await ctx.send("Произошла ошибка при попытке бана.")
bot.run(TOKEN)
Особенности этого бота:
- Бот автоматически удаляет приглашения на любые другие дискорд сервера и выдает мьют на 10 минут нарушителям
- Бот имеет команду бана, с автоматической проверкой прав
ForDis
Аватарки
Звуки
Клиенты
Боты