Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions safeembeds/__init__.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
import discord
from .embed import new_add_field, new_set_footer, new_set_author
from .embed import NewEmbed


def patch_discord():
discord.Embed.add_field = new_add_field
discord.Embed.set_footer = new_set_footer
discord.Embed.set_author = new_set_author
discord.Embed = NewEmbed
42 changes: 22 additions & 20 deletions safeembeds/embed.py
Original file line number Diff line number Diff line change
@@ -1,30 +1,32 @@
from discord import Embed
from .limits import field_name_limit, field_value_limit, footer_text_limit, author_name_limit
from .limits import *


old_add_field = Embed.add_field
old_set_footer = Embed.set_footer
old_set_author = Embed.set_author
class NewEmbed(Embed):
def __init__(self, **kwargs):
if len(kwargs['title']) > field_name_limit:
kwargs['title'] = (kwargs['title'][:title_limit-3] + '...')
if len(kwargs['description']) > field_value_limit:
kwargs['description'] = (kwargs['description'][:description_limit-3] + '...')

super().__init__(**kwargs)

def new_add_field(*args, **kwargs):
if len(kwargs['name']) > field_name_limit:
kwargs['name'] = (kwargs['name'][:field_name_limit-3] + '...')
if len(kwargs['value']) > field_value_limit:
kwargs['value'] = (kwargs['value'][:field_value_limit-3] + '...')
def add_field(*args, **kwargs):
if len(kwargs['name']) > field_name_limit:
kwargs['name'] = (kwargs['name'][:field_name_limit-3] + '...')
if len(kwargs['value']) > field_value_limit:
kwargs['value'] = (kwargs['value'][:field_value_limit-3] + '...')

old_add_field(*args, **kwargs)
super().add_field(**kwargs)

def set_footer(*args, **kwargs):
if len(kwargs['text']) > footer_text_limit:
kwargs['text'] = (kwargs['text'][:footer_text_limit - 3] + '...')

def new_set_footer(*args, **kwargs):
if len(kwargs['text']) > footer_text_limit:
kwargs['text'] = (kwargs['text'][:footer_text_limit - 3] + '...')
super().set_footer(*args, **kwargs)

old_set_footer(*args, **kwargs)
def set_author(*args, **kwargs):
if len(kwargs['name']) > author_name_limit:
kwargs['name'] = (kwargs['name'][:author_name_limit - 3] + '...')


def new_set_author(*args, **kwargs):
if len(kwargs['name']) > author_name_limit:
kwargs['name'] = (kwargs['name'][:author_name_limit - 3] + '...')

old_set_author(*args, **kwargs)
super().set_author(*args, **kwargs)