mirror of
https://github.com/brandons209/Red-bot-Cogs.git
synced 2024-04-29 18:13:31 +12:00
fix small bug when people change names while bot is down
This commit is contained in:
parent
d66e2cd835
commit
f17f1db9a2
|
@ -62,16 +62,17 @@ class NameChange(commands.Cog):
|
||||||
|
|
||||||
async def init(self):
|
async def init(self):
|
||||||
await self.bot.wait_until_ready()
|
await self.bot.wait_until_ready()
|
||||||
|
check_names = True
|
||||||
while True:
|
while True:
|
||||||
await self.update_namechanges()
|
await self.update_namechanges(check_names=check_names)
|
||||||
await asyncio.sleep(60)
|
await asyncio.sleep(60)
|
||||||
|
check_names = False
|
||||||
|
|
||||||
def cog_unload(self):
|
def cog_unload(self):
|
||||||
if self.task is not None:
|
if self.task is not None:
|
||||||
self.task.cancel()
|
self.task.cancel()
|
||||||
|
|
||||||
async def update_namechanges(self):
|
async def update_namechanges(self, check_names: bool = False):
|
||||||
for guild in self.bot.guilds:
|
for guild in self.bot.guilds:
|
||||||
to_remove = []
|
to_remove = []
|
||||||
to_change = {}
|
to_change = {}
|
||||||
|
@ -88,6 +89,9 @@ class NameChange(commands.Cog):
|
||||||
# name change is past due
|
# name change is past due
|
||||||
to_change[member] = data
|
to_change[member] = data
|
||||||
to_remove.append(member_id)
|
to_remove.append(member_id)
|
||||||
|
elif check_names and member.display_name != data["new_nick"]:
|
||||||
|
# need to also check if anyone changed their name during bot's downtime and change them back
|
||||||
|
await self.change_nickname(member, data["new_nick"])
|
||||||
|
|
||||||
async with self.config.guild(guild).current_changes() as current_changes:
|
async with self.config.guild(guild).current_changes() as current_changes:
|
||||||
for id in to_remove:
|
for id in to_remove:
|
||||||
|
|
Loading…
Reference in a new issue