62 lines
2.3 KiB
Python
62 lines
2.3 KiB
Python
from datetime import datetime
|
|
|
|
import discord
|
|
from redbot.core.i18n import Translator
|
|
|
|
_ = Translator("Referrals", __file__)
|
|
|
|
|
|
def chunk(obj_list: list, chunk_size: int):
|
|
for i in range(0, len(obj_list), chunk_size):
|
|
yield obj_list[i : i + chunk_size]
|
|
|
|
|
|
def referral_embed(
|
|
referrer: discord.Member, # The member who referred the user
|
|
referred: discord.Member, # The member who was referred
|
|
referrer_reward: int, # Reward for person who referred the user
|
|
referred_reward: int, # Reward for the person who was referred
|
|
currency: str,
|
|
channel: str,
|
|
):
|
|
referrer_name = f"{referrer.name} ({referrer.id})"
|
|
referred_name = f"{referred.name} ({referred.id})"
|
|
embed = discord.Embed(color=discord.Color.green(), timestamp=datetime.now())
|
|
embed.add_field(name=_("Referred User"), value=referred_name, inline=False)
|
|
embed.add_field(name=_("Channel"), value=channel, inline=False)
|
|
if referred_reward:
|
|
embed.add_field(
|
|
name=_("Referred Reward"),
|
|
value=f"`{referred_reward}` {currency} -> {referred_name}",
|
|
inline=False,
|
|
)
|
|
if referrer_reward:
|
|
embed.add_field(
|
|
name=_("Referrer Reward"),
|
|
value=f"`{referrer_reward}` {currency} -> {referrer_name}",
|
|
inline=False,
|
|
)
|
|
embed.set_author(name=_("Referral Claimed"), icon_url=referred.display_avatar)
|
|
embed.set_footer(text=_("Referred by {}").format(referrer_name), icon_url=referrer.display_avatar)
|
|
return embed
|
|
|
|
|
|
def referral_error(
|
|
referrer: discord.Member, # The member who referred the user
|
|
referred: discord.Member, # The member who was referred
|
|
error: str,
|
|
channel: str,
|
|
):
|
|
referrer_name = f"{referrer.name} ({referrer.id})"
|
|
referred_name = f"{referred.name} ({referred.id})"
|
|
embed = discord.Embed(color=discord.Color.red(), timestamp=datetime.now())
|
|
embed.add_field(name=_("Referred User"), value=referred_name, inline=False)
|
|
embed.add_field(name=_("Channel"), value=channel, inline=False)
|
|
embed.add_field(
|
|
name=_("Error"),
|
|
value=error,
|
|
inline=False,
|
|
)
|
|
embed.set_author(name=_("Referral Error"), icon_url=referred.display_avatar)
|
|
embed.set_footer(text=_("Referred by {}").format(referrer_name), icon_url=referrer.display_avatar)
|
|
return embed
|