async def _maybe_update_config(self): """Maybe update `delete_delay` value set by Config prior to Mod 1.0.0.""" if not await self.settings.version(): guild_dict = await self.settings.all_guilds() for guild_id, info in guild_dict.items(): delete_repeats = info.get("delete_repeats", False) if delete_repeats: val = 3 else: val = -1 await self.settings.guild(discord.Object(id=guild_id)).delete_repeats.set(val) await self.settings.version.set("1.0.0") # set version of last update if await self.settings.version() < "1.1.0": msg = _( "Ignored guilds and channels have been moved. " "Please use `[p]moveignoredchannels` if " "you were previously using these functions." ) self.bot.loop.create_task(send_to_owners_with_prefix_replaced(self.bot, msg)) await self.settings.version.set("1.1.0") if await self.settings.version() < "1.2.0": msg = _( "Delete delay settings have been moved. " "Please use `[p]movedeletedelay` if " "you were previously using these functions." ) self.bot.loop.create_task(send_to_owners_with_prefix_replaced(self.bot, msg)) await self.settings.version.set("1.2.0")
async def _maybe_update_config(self): """Maybe update `delete_delay` value set by Config prior to Mod 1.0.0.""" if not await self.config.version(): guild_dict = await self.config.all_guilds() async for guild_id, info in AsyncIter(guild_dict.items(), steps=25): delete_repeats = info.get("delete_repeats", False) if delete_repeats: val = 3 else: val = -1 await self.config.guild_from_id(guild_id).delete_repeats.set( val) await self.config.version.set("1.0.0" ) # set version of last update if await self.config.version() < "1.1.0": message_sent = False async for e in AsyncIter((await self.config.all_channels()).values(), steps=25): if e["ignored"] is not False: msg = _( "Ignored guilds and channels have been moved. " "Please use `[p]moveignoredchannels` to migrate the old settings." ) self.bot.loop.create_task( send_to_owners_with_prefix_replaced(self.bot, msg)) message_sent = True break if message_sent is False: async for e in AsyncIter((await self.config.all_guilds()).values(), steps=25): if e["ignored"] is not False: msg = _( "Ignored guilds and channels have been moved. " "Please use `[p]moveignoredchannels` to migrate the old settings." ) self.bot.loop.create_task( send_to_owners_with_prefix_replaced(self.bot, msg)) break await self.config.version.set("1.1.0") if await self.config.version() < "1.2.0": async for e in AsyncIter((await self.config.all_guilds()).values(), steps=25): if e["delete_delay"] != -1: msg = _( "Delete delay settings have been moved. " "Please use `[p]movedeletedelay` to migrate the old settings." ) self.bot.loop.create_task( send_to_owners_with_prefix_replaced(self.bot, msg)) break await self.config.version.set("1.2.0") if await self.config.version() < "1.3.0": guild_dict = await self.config.all_guilds() async for guild_id in AsyncIter(guild_dict.keys(), steps=25): async with self.config.guild_from_id( guild_id).all() as guild_data: current_state = guild_data.pop("ban_mention_spam", False) if current_state is not False: if "mention_spam" not in guild_data: guild_data["mention_spam"] = {} guild_data["mention_spam"]["ban"] = current_state await self.config.version.set("1.3.0")