mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 03:08:55 -05:00
[Mod] Only send the DM about migration if at least 1 scope entry has a non-default value (#3911)
* Only send notify_owners in mod migration if at least 1 scope entry has a non default value * update string * use asynciter on these potentially large loops * check server settings too
This commit is contained in:
parent
84d0282815
commit
81f146a2ef
@ -6,6 +6,8 @@ from collections import defaultdict
|
|||||||
from typing import List, Tuple
|
from typing import List, Tuple
|
||||||
|
|
||||||
import discord
|
import discord
|
||||||
|
from redbot.core.utils import AsyncIter
|
||||||
|
|
||||||
from redbot.core import Config, modlog, commands
|
from redbot.core import Config, modlog, commands
|
||||||
from redbot.core.bot import Red
|
from redbot.core.bot import Red
|
||||||
from redbot.core.i18n import Translator, cog_i18n
|
from redbot.core.i18n import Translator, cog_i18n
|
||||||
@ -95,7 +97,7 @@ class Mod(
|
|||||||
"""Maybe update `delete_delay` value set by Config prior to Mod 1.0.0."""
|
"""Maybe update `delete_delay` value set by Config prior to Mod 1.0.0."""
|
||||||
if not await self.config.version():
|
if not await self.config.version():
|
||||||
guild_dict = await self.config.all_guilds()
|
guild_dict = await self.config.all_guilds()
|
||||||
for guild_id, info in guild_dict.items():
|
async for guild_id, info in AsyncIter(guild_dict.items(), steps=25):
|
||||||
delete_repeats = info.get("delete_repeats", False)
|
delete_repeats = info.get("delete_repeats", False)
|
||||||
if delete_repeats:
|
if delete_repeats:
|
||||||
val = 3
|
val = 3
|
||||||
@ -104,20 +106,37 @@ class Mod(
|
|||||||
await self.config.guild(discord.Object(id=guild_id)).delete_repeats.set(val)
|
await self.config.guild(discord.Object(id=guild_id)).delete_repeats.set(val)
|
||||||
await self.config.version.set("1.0.0") # set version of last update
|
await self.config.version.set("1.0.0") # set version of last update
|
||||||
if await self.config.version() < "1.1.0":
|
if await self.config.version() < "1.1.0":
|
||||||
msg = _(
|
message_sent = False
|
||||||
"Ignored guilds and channels have been moved. "
|
async for e in AsyncIter((await self.config.all_channels()).values(), steps=25):
|
||||||
"Please use `[p]moveignoredchannels` if "
|
if e["ignored"] is not False:
|
||||||
"you were previously using these functions."
|
msg = _(
|
||||||
)
|
"Ignored guilds and channels have been moved. "
|
||||||
self.bot.loop.create_task(send_to_owners_with_prefix_replaced(self.bot, msg))
|
"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")
|
await self.config.version.set("1.1.0")
|
||||||
if await self.config.version() < "1.2.0":
|
if await self.config.version() < "1.2.0":
|
||||||
msg = _(
|
async for e in AsyncIter((await self.config.all_guilds()).values(), steps=25):
|
||||||
"Delete delay settings have been moved. "
|
if e["delete_delay"] != -1:
|
||||||
"Please use `[p]movedeletedelay` if "
|
msg = _(
|
||||||
"you were previously using these functions."
|
"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))
|
)
|
||||||
|
self.bot.loop.create_task(send_to_owners_with_prefix_replaced(self.bot, msg))
|
||||||
|
break
|
||||||
await self.config.version.set("1.2.0")
|
await self.config.version.set("1.2.0")
|
||||||
|
|
||||||
@commands.command()
|
@commands.command()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user