diff --git a/data/defaults/cfg_default.toml b/data/defaults/cfg_default.toml index 8be26b9..c26cd7b 100644 --- a/data/defaults/cfg_default.toml +++ b/data/defaults/cfg_default.toml @@ -20,9 +20,8 @@ fetch_limit = 100 search_flairs = ["Original Art"] # Command aliases for the Reddit bot, since those aren't autocomplete-able. -# TODO: this [reddit.aliases] -add_post = [] +add_post = ["weekly_art", "weekly"] [commands] diff --git a/src/python/bot.py b/src/python/bot.py index 19e48c0..0f79879 100644 --- a/src/python/bot.py +++ b/src/python/bot.py @@ -42,6 +42,7 @@ class Bot: self.data_f: TextIOWrapper | None = None self.data: dict[str, Any] = {} self.flairs: list[str] = [] + self.aliases: dict[str, list[str]] = {} async def initialize(self): self.sr = await self.r.subreddit("+".join(self.sr_list)) @@ -63,9 +64,10 @@ class Bot: return True async def update_cfg(self, new_cfg: dict[str, Any]) -> bool: - self.sr_list = new_cfg[CFG_DATA_RE]["subreddits"].split("+") self.sr = await self.r.subreddit("+".join(self.sr_list)) + self.sr_list = new_cfg[CFG_DATA_RE]["subreddits"].split("+") self.fetch_limit = new_cfg[CFG_DATA_RE]["fetch_limit"] - self.flairs = new_cfg[CFG_DATA_RE]["search_flairs"] + self.flairs = new_cfg[CFG_DATA_RE]["search_flairs"] + self.aliases = new_cfg[CFG_DATA_RE]["aliases"] init_lang(new_cfg["general"]["lang"]) return True \ No newline at end of file diff --git a/src/python/py_cmds.py b/src/python/py_cmds.py index 4a0df57..d087396 100644 --- a/src/python/py_cmds.py +++ b/src/python/py_cmds.py @@ -11,7 +11,14 @@ async def make_cmd(cmd: str, bot: botPy.Bot) -> str: async def is_cmd(cmd: str, text: str, bot: botPy.Bot) -> bool: command: str = await make_cmd(cmd, bot) - return command.lower() in text.lower() + + if command.lower() in text.lower(): return True + + for alias in bot.aliases[cmd]: + a_cmd = await make_cmd(alias, bot) + if a_cmd.lower() in text.lower(): return True + + return False async def respond_to_mention(bot: botPy.Bot) -> bool: