/Selfcord

A discord selfbot API wrapper.

Primary LanguagePythonMIT LicenseMIT

SELFCORD

A Powerful Library for Discord Selfbots

Feautres

  • Modern Pythonic API using async/await syntax
  • Easy to use with an object oriented design
  • Optimised for both speed and memory
  • Prevents detection of user account automation
  • Clean Documentation
  • Community Support

Installation

Python 3.10 or higher is required.

pip install selfcord.py

Wiki

Read our Wiki in regards to documentation and getting started.

Getting Started

A selfbot that responds to a message ("ping!") with another message ("pong").

import selfcord

token = "insert token"
bot = selfcord.Bot()

@bot.on("ready")
async def ready(time):
    print(f"Connected To {bot.user.name}\n Startup took {time:0.2f} seconds")

@bot.on("message")
async def responder(message):
    if message.content == "ping!":
        await message.channel.send("pong!")

bot.run(token)

Examples/Usage

Message logger

In this snippet, If someone deletes messages in the server, it records details such as the server name, channel name, message content, and the author's name

import selfcord

token = "insert token"
bot = selfcord.Bot(prefixes=["!", "?"])

@bot.on("ready")
async def ball(time):
    print(f"Connected To {bot.user}\n Startup took {time:0.2f} seconds")

@bot.on("message_delete")
async def message_logger(message):
    # DISCLAIMER: If message is not in bots cache only message id, channel id and guild id will be present
    if message.author != None:
        if message.author.id != bot.user.id:
            if message.guild != None: # If the message is in a guild
                await aprint(f"""MESSAGE LOGGED:
SERVER: {message.guild.name}
CHANNEL: {message.channel.name}
CONTENT:
{message.author}: {message.content}
""")
        else: # If the message is in a DM or Group chat
            await aprint(f"""MESSAGE LOGGED:
CHANNEL: {message.channel}
CONTENT:
{message.author}: {message.content}
            """)

bot.run(token)

Purge command

In this snippet, you are able to delete certain amount of messages from a channel

import selfcord

token = "insert token"
bot = selfcord.Bot(prefixes=["!", "?"])

@bot.on("ready")
async def ball(time):
    print(f"Connected To {bot.user}\n Startup took {time:0.2f} seconds")

@bot.cmd(description="Purges the channel", aliases=["wipe", "clear"])
async def purge(ctx, amount: int=None):
    await ctx.purge(amount)

bot.run(token)

Deleted message sniper

In this snippet, you can retrieve the most recently deleted message.

import selfcord

token = "insert token"
bot = selfcord.Bot(prefixes=["!", "?"])

@bot.on("ready")
async def ball(time):
    print(f"Connected To {bot.user}\n Startup took {time:0.2f} seconds")

@bot.cmd(description="Snipe", aliases=['s'])
async def snipe(ctx):
    await ctx.reply(f"{bot.user.deleted_messages[-1].author}: {bot.user.deleted_messages[-1]}")

bot.run(token)

Captcha

2Captcha is the only captcha solving service supported currently.

Some Useful Links

Contributing

Contributors are always Welcome