Skip to content

Commit

Permalink
ClashKing v4
Browse files Browse the repository at this point in the history
  • Loading branch information
MagicTheDev committed Mar 24, 2024
1 parent 9eb0570 commit 8995913
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 42 deletions.
29 changes: 29 additions & 0 deletions background/tasks/emoji_refresh.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import random

from classes.bot import CustomClient
from disnake.ext import commands, tasks
from utility.constants import BADGE_GUILDS

class EmojiRefresh(commands.Cog):

def __init__(self, bot: CustomClient):
self.bot = bot
self.refresh.start()

@tasks.loop(seconds=600)
async def refresh(self):
emoji_map = {}
for guild_id in BADGE_GUILDS:
guild = await self.bot.getch_guild(guild_id)
if guild is not None:
while len(guild.emojis) >= 46:
num_to_delete = random.randint(1, 5)
for emoji in guild.emojis[:num_to_delete]:
await guild.delete_emoji(emoji=emoji)
for emoji in guild.emojis:
emoji_map[emoji.name] = f"<:{emoji.name}:{emoji.id}>"
self.bot.clan_badge_emoji_map = emoji_map


def setup(bot: CustomClient):
bot.add_cog(EmojiRefresh(bot))
48 changes: 9 additions & 39 deletions classes/bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -150,11 +150,11 @@ def __init__(self, config: Config, command_prefix: str, help_command, intents: d
self.IMAGE_CACHE = ExpiringDict()

self.OUR_GUILDS = set()
self.badge_guild = []
self.EXTENSION_LIST = []
self.STARTED_CHUNK = set()

self.number_emoji_map = {}
self.clan_badge_emoji_map = {}


def clean_string(self, text: str):
Expand All @@ -173,48 +173,18 @@ def __init__(self, unix_time):
return TimeStamp(unix_time)

async def create_new_badge_emoji(self, url:str):
if not self.user.public_flags.verified_bot and self.user.id != 808566437199216691 and self.badge_guild == []:
guilds = await self.fetch_guilds().flatten()
have_created_guilds = disnake.utils.get(guilds, name="Badge Guild 1")
if have_created_guilds is None:
for x in range(1,4):
guild = await self.create_guild(name=f"Badge Guild {x}", icon=self.user.avatar)
self.badge_guild.append(guild.id)
else:
for x in range(1, 4):
guild = disnake.utils.get(self.guilds, name=f"Badge Guild {x}")
self.badge_guild.append(guild.id)
elif not self.badge_guild:
self.badge_guild = BADGE_GUILDS

solid_badge_guild = []
for guild in self.badge_guild:
guild = await self.getch_guild(guild)
if guild is not None:
solid_badge_guild.append(guild)
emoji_list = [emoji for guild in solid_badge_guild for emoji in guild.emojis]
if not self.user.public_flags.verified_bot and self.user.id != 808566437199216691:
return self.emoji.blank.emoji_string

new_url = url.replace(".png", "")
#all_emojis = self.emojis
get_emoji = disnake.utils.get(emoji_list, name=new_url[-15:].replace("-", ""))
if get_emoji is not None:
return f"<:{get_emoji.name}:{get_emoji.id}>"

img = urlopen(url).read()
guild_ids = collections.deque(self.badge_guild)
guild_ids.rotate(1)
self.badge_guild = list(guild_ids)

guild = await self.getch_guild(self.badge_guild[0])
while len(guild.emojis) >= 47:
num_to_delete = random.randint(1, 5)
for emoji in guild.emojis[:num_to_delete]:
await guild.delete_emoji(emoji=emoji)
guild_ids = collections.deque(self.badge_guild)
guild_ids.rotate(1)
self.badge_guild = list(guild_ids)
guild = self.get_guild(self.badge_guild[0])
found_emoji = self.clan_badge_emoji_map.get(new_url[-15:].replace("-", ""))
if found_emoji is not None:
return self.clan_badge_emoji_map.get(new_url[-15:].replace("-", ""))

img = urlopen(url).read()
BADGE_GUILDS.rotate(1)
guild = await self.getch_guild(BADGE_GUILDS[0])
emoji = await guild.create_custom_emoji(name=new_url[-15:].replace("-", ""), image=img)
return f"<:{emoji.name}:{emoji.id}>"

Expand Down
3 changes: 2 additions & 1 deletion main.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,8 @@
"discord.autocomplete",
"discord.converters",
#"background.features.refresh_boards",
"exceptions.handler"
"exceptions.handler",
"background.tasks.emoji_refresh"
]


Expand Down
5 changes: 3 additions & 2 deletions utility/constants.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import json
import disnake
from collections import deque

#EVAL CONSTANTS
DEFAULT_EVAL_ROLE_TYPES = ["family", "only_family", "not_family", "clan", "leadership", "townhall", "builderhall", "category", "league", "builder_league", "nicknames"]
Expand Down Expand Up @@ -116,10 +117,10 @@
32000249, 32000250, 32000251, 32000252, 32000253, 32000254, 32000255, 32000256, 32000257, 32000258,
32000259, 32000260]

BADGE_GUILDS = [1029631304817451078, 1029631182196977766, 1029631107240562689, 1029631144641183774, 1029629452403097651,
BADGE_GUILDS = deque([1029631304817451078, 1029631182196977766, 1029631107240562689, 1029631144641183774, 1029629452403097651,
1029629694854828082, 1029629763087777862, 1029629811221610516, 1029629853017841754, 1029629905903833139,
1029629953907634286, 1029629992830783549, 1029630376911581255, 1029630455202455563, 1029630702125318144,
1029630796966932520, 1029630873588469760, 1029630918106824754, 1029630974025277470, 1029631012084396102]
1029630796966932520, 1029630873588469760, 1029630918106824754, 1029630974025277470, 1029631012084396102])

SUPER_SCRIPTS=["⁰","¹","²","³","⁴","⁵","⁶", "⁷","⁸", "⁹"]

Expand Down

0 comments on commit 8995913

Please sign in to comment.