async def on_message(self, message): channel = message.channel content = message.content content = re.sub(r'297', '', content) if not await self.config.channel(channel).enabled(): return if message.guild is None: # dms return if message.author == self.bot.user: # dont reply to self return if await self.is_command(message): # skip commands return dbcog = self.bot.get_cog("DBCog") if dbcog is None: await channel.send( "Error: DBCog Cog not loaded. Please alert a bot owner.") return if re.search(r'\b\d{3}[ -,]{0,2}\d{3}[ -,]{0,2}\d{3}\b', content): # friend code return if "+" in content or "plus" in content: return if re.search(r'\b\d{3,4}\b', content): matches = re.findall(r'\b\d{3,4}\b', content) ret = "" for i in matches: if i == "100": # skip when people say "is 100 mp or over" ~~and ryan's posts~~ continue m: "MonsterModel" = dbcog.get_monster(int(i)) if m is None: # monster not found continue dbcog.database.graph: "MonsterGraph" if m.sell_mp < 100: tradeable_text = '' else: evo_gem_text = '' if m.evo_gem_id is not None: evo_gem: "MonsterModel" = dbcog.get_monster( m.evo_gem_id) if evo_gem.sell_mp < 100: evo_gem_text = ', but it has a tradable evo gem!' else: evo_gem_text = ', and its evo gem is also not tradable' tradeable_text = " (untradable{})".format(evo_gem_text) ret += "{}{}\n".format(MonsterHeader.text_with_emoji(m), tradeable_text) if ret != "": await channel.send(ret)
def invalid_monster_text(query: str, monster: "MonsterModel", append_text: str): monster_name = MonsterHeader.text_with_emoji(monster) return f'Your query `{query}` found {monster_name}{append_text}.'
async def _send_tradeable_message(ctx, monster: "MonsterModel", msg: str): await ctx.send("{}\n{}".format(MonsterHeader.text_with_emoji(monster), msg))