Discord Bot Development made easy!
Project description
discordSuperUtils-splitted
A modern python module including many useful features that make discord bot programming extremely easy.
The documentation is not done. if you have any questions, feel free to ask them in our discord server.
Information
I have recently left the discordSuperUtils organization because of issues with the team that wont be listed here.
Maybe this fork will merge with discordSuperUtils one day.
Features
- Very easy to use and user friendly.
- Object Oriented.
- Modern Leveling Manager.
- Modern Music/Audio playing manager.
- Modern Async Database Manager (SQLite, MongoDB, PostgreSQL, MySQL, MariaDB).
- Modern Paginator.
- Modern Reaction Manager.
- Modern Economy Manager.
- Modern Image Manager (PIL).
- Modern Invite Tracker.
- Modern Command Hinter.
- Modern FiveM Server Parser.
- Modern Birthday Manager.
- Modern Prefix Manager.
- Includes easy to use convertors.
- Modern spotify client that is optimized for player fetching.
- Modern Punishment Manager (Kick, Ban, Infractions, Mutes)
- And many more! (MORE COMING SOON!)
Installation
Installing discordSuperUtils-splitted is very easy.
python -m pip install discordSuperUtils-splitted
Examples
Leveling Example (With Role Manager and Image Manager)
import discord
from discord.ext import commands
import discordSuperUtils
bot = commands.Bot(command_prefix='-', intents=discord.Intents.all())
RoleManager = discordSuperUtils.RoleManager()
LevelingManager = discordSuperUtils.LevelingManager(bot, RoleManager)
ImageManager = discordSuperUtils.ImageManager() # LevelingManager uses ImageManager to create the rank command.
@bot.event
async def on_ready():
database = discordSuperUtils.DatabaseManager.connect(...)
await RoleManager.connect_to_database(database, "xp_roles")
await LevelingManager.connect_to_database(database, "xp")
print('Leveling manager is ready.', bot.user)
@LevelingManager.event()
async def on_level_up(message, member_data, roles):
await message.reply(f"You are now level {await member_data.level()}" + (f", you have received the {roles[0]}"
f" role." if roles else ""))
@bot.command()
async def rank(ctx):
member_data = await LevelingManager.get_account(ctx.author)
if not member_data:
await ctx.send(f"I am still creating your account! please wait a few seconds.")
return
guild_leaderboard = await LevelingManager.get_leaderboard(ctx.guild)
member = [x for x in guild_leaderboard if x.member == ctx.author.id]
image = await ImageManager.create_leveling_profile(ctx.author,
member_data,
discordSuperUtils.Backgrounds.GALAXY,
(255, 255, 255),
guild_leaderboard.index(member[0]) + 1 if member else -1,
outline=True)
await ctx.send(file=image)
@bot.command()
async def set_roles(ctx, *roles: discord.Role):
await RoleManager.set_roles(ctx.guild, {"roles": roles})
@bot.command()
async def leaderboard(ctx):
guild_leaderboard = await LevelingManager.get_leaderboard(ctx.guild)
formatted_leaderboard = [f"Member: {x.member}, XP: {await x.xp()}" for x in guild_leaderboard]
await discordSuperUtils.PageManager(ctx, discordSuperUtils.generate_embeds(
formatted_leaderboard,
title="Leveling Leaderboard",
fields=25,
description=f"Leaderboard of {ctx.guild}"
)).run()
bot.run("token")
More examples are listed in the examples folder.
Known Issues
- Removing an animated emoji wont be recognized as a reaction role, as it shows up as not animated for some reason, breaking the reaction matcher. (Discord API Related)
- Spotify queueing is very slow.
Support
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file discordSuperUtils-splitted-0.2.0.tar.gz
.
File metadata
- Download URL: discordSuperUtils-splitted-0.2.0.tar.gz
- Upload date:
- Size: 1.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a1d9b45ad015562c6474d7e2fa448b05774b78947c465c644d732ffe9cdb0ab |
|
MD5 | 211e47b125089ec5c8ee9d4d493a54be |
|
BLAKE2b-256 | df526c1a48a60a38bc6384990647b50d9f7a54640185c678a02244e485044080 |