diff --git a/assets/cogs/lastfm.py b/assets/cogs/lastfm.py.disabled similarity index 100% rename from assets/cogs/lastfm.py rename to assets/cogs/lastfm.py.disabled diff --git a/assets/cogs/webserver.py.disabled b/assets/cogs/webserver.py similarity index 100% rename from assets/cogs/webserver.py.disabled rename to assets/cogs/webserver.py diff --git a/bot.py b/bot.py index 74cf0b7..4c7f817 100644 --- a/bot.py +++ b/bot.py @@ -113,6 +113,7 @@ async def on_ready() -> None: global launched global slash_commands_enabled global NAME + global status folder_name: str = "cogs" if launched: @@ -136,8 +137,15 @@ async def on_ready() -> None: quit() if not song: - return - await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.listening, name=f"{song}")) + return + + status = { + "idle": discord.Status.idle, + "dnd": discord.Status.dnd, + "invisible": discord.Status.invisible, + "online": discord.Status.online + }.get(status.lower(), discord.Status.online) + await bot.change_presence(status=status, activity=discord.Activity(type=discord.ActivityType.listening, name=f"{song}")) launched = True @bot.event @@ -225,7 +233,7 @@ async def talk(ctx: commands.Context, sentence_size: int = 5) -> None: # Command: Generate an image @bot.hybrid_command(description=f"{(_('command_desc_help'))}") -async def impact(ctx: commands.Context) -> None: +async def impact(ctx: commands.Context, text: Optional[str] = None) -> None: assets_folder: str = "assets/images" temp_input: Optional[str] = None @@ -259,7 +267,8 @@ async def impact(ctx: commands.Context) -> None: shutil.copy(fallback_image, temp_input) input_path = temp_input - output_path: Optional[str] = await gen_meme(input_path) + output_path: Optional[str] = await gen_meme(input_path, custom_text=text) + if output_path is None or not os.path.isfile(output_path): if temp_input and os.path.exists(temp_input): @@ -371,7 +380,7 @@ async def on_message(message: discord.Message) -> None: if str(message.author.id) in BLACKLISTED_USERS: return - + if message.content.startswith((f"{PREFIX}talk", f"{PREFIX}mem", f"{PREFIX}help", f"{PREFIX}stats", f"{PREFIX}")): logger.info(f"{(_('command_ran')).format(message=message)}") await bot.process_commands(message) diff --git a/example.env b/example.env index fe40023..45cfd9b 100644 --- a/example.env +++ b/example.env @@ -11,6 +11,7 @@ AUTOUPDATE="True" SONG="Basket Case - Green Day" CHECKSDISABLED="Frue" REACT="True" +STATUS="idle" POSITIVEGIFS="https://media.discordapp.net/attachments/821047460151427135/1181371808566493184/jjpQGeno.gif, https://tenor.com/view/chill-guy-my-new-character-gif-2777893510283028272,https://tenor.com/view/goodnight-goodnight-friends-weezer-weezer-goodnight-gif-7322052181075806988" SPLASHTEXT=" diff --git a/modules/globalvars.py b/modules/globalvars.py index 2281388..0a5a57b 100644 --- a/modules/globalvars.py +++ b/modules/globalvars.py @@ -35,6 +35,7 @@ LOCALE = os.getenv("LOCALE", "en") gooberTOKEN = os.getenv("GOOBERTOKEN") splashtext = os.getenv("SPLASHTEXT") ownerid = int(os.getenv("OWNERID", "0")) +status = os.getenv("STATUS") showmemenabled = os.getenv("SHOWMEMENABLED") BLACKLISTED_USERS = os.getenv("BLACKLISTEDUSERS", "").split(",") USERTRAIN_ENABLED = os.getenv("USERTRAINENABLED", "true").lower() == "true" @@ -43,13 +44,11 @@ MEMORY_FILE = "memory.json" MEMORY_LOADED_FILE = "MEMORY_LOADED" # is this still even used?? okay just checked its used in the markov module ALIVEPING = os.getenv("ALIVEPING") AUTOUPDATE = os.getenv("AUTOUPDATE") -# IGNOREWARNING = False # is this either??? i don't think so? -song = os.getenv("song") +song = os.getenv("SONG") arch = platform.machine() -slash_commands_enabled = True # 100% broken, its a newer enough version so its probably enabled by default.... fix this at somepoint or hard code it in goober central code launched = False latest_version = "0.0.0" -local_version = "2.3.3" +local_version = "2.3.4" os.environ['gooberlocal_version'] = local_version REACT = os.getenv("REACT") if get_git_branch() == "dev": diff --git a/modules/image.py b/modules/image.py index 58180d5..d3807df 100644 --- a/modules/image.py +++ b/modules/image.py @@ -37,7 +37,7 @@ def split_text_to_fit(text, font, max_width, draw): midpoint = len(words) // 2 return " ".join(words[:midpoint]), " ".join(words[midpoint:]) -async def gen_meme(input_image_path, sentence_size=5, max_attempts=10): +async def gen_meme(input_image_path, sentence_size=5, max_attempts=10, custom_text=None): markov_model = load_markov_model() if not markov_model or not os.path.isfile(input_image_path): return None @@ -52,19 +52,22 @@ async def gen_meme(input_image_path, sentence_size=5, max_attempts=10): font = load_font(font_size) response = None - for _ in range(20): - if sentence_size == 1: - candidate = markov_model.make_short_sentence(max_chars=100, tries=100) - if candidate: - candidate = candidate.split()[0] - else: - candidate = markov_model.make_sentence(tries=100, max_words=sentence_size) + if custom_text: + response = custom_text + else: + for _ in range(20): + if sentence_size == 1: + candidate = markov_model.make_short_sentence(max_chars=100, tries=100) + if candidate: + candidate = candidate.split()[0] + else: + candidate = markov_model.make_sentence(tries=100, max_words=sentence_size) - if candidate and candidate not in generated_sentences: - if sentence_size > 1: - candidate = improve_sentence_coherence(candidate) - generated_sentences.add(candidate) - response = candidate + if candidate and candidate not in generated_sentences: + if sentence_size > 1: + candidate = improve_sentence_coherence(candidate) + generated_sentences.add(candidate) + response = candidate break if not response: diff --git a/todo.txt b/todo.txt index 428c6c8..9a1a0f3 100644 --- a/todo.txt +++ b/todo.txt @@ -1,4 +1,2 @@ -- fix missing translations in some cases - revamp wiki -- clean the rest - alot