mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-20 18:06:08 -05:00
Use aware objects when storing and reading UTC timestamps (#4017)
* Use aware objects instead of naive ones * Use aware objects when storing and reading UTC timestamps * Remove unneeded parentheses * Fixed naive and aware objects unable to be compared here * Address feedback * Fix the newly added `modlog.create_case()` calls Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import logging
|
||||
from datetime import datetime
|
||||
from datetime import timezone
|
||||
from collections import defaultdict, deque
|
||||
|
||||
import discord
|
||||
@@ -60,7 +60,7 @@ class Events(MixinMeta):
|
||||
await modlog.create_case(
|
||||
self.bot,
|
||||
guild,
|
||||
message.created_at,
|
||||
message.created_at.replace(tzinfo=timezone.utc),
|
||||
"ban",
|
||||
author,
|
||||
guild.me,
|
||||
@@ -84,7 +84,7 @@ class Events(MixinMeta):
|
||||
await modlog.create_case(
|
||||
self.bot,
|
||||
guild,
|
||||
message.created_at,
|
||||
message.created_at.replace(tzinfo=timezone.utc),
|
||||
"kick",
|
||||
author,
|
||||
guild.me,
|
||||
@@ -116,7 +116,7 @@ class Events(MixinMeta):
|
||||
await modlog.create_case(
|
||||
self.bot,
|
||||
guild,
|
||||
message.created_at,
|
||||
message.created_at.replace(tzinfo=timezone.utc),
|
||||
"warning",
|
||||
author,
|
||||
guild.me,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import asyncio
|
||||
import contextlib
|
||||
import logging
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from typing import Optional, Union
|
||||
|
||||
import discord
|
||||
@@ -120,7 +120,7 @@ class KickBanMixin(MixinMeta):
|
||||
await modlog.create_case(
|
||||
self.bot,
|
||||
guild,
|
||||
ctx.message.created_at,
|
||||
ctx.message.created_at.replace(tzinfo=timezone.utc),
|
||||
"ban",
|
||||
user,
|
||||
author,
|
||||
@@ -142,10 +142,11 @@ class KickBanMixin(MixinMeta):
|
||||
|
||||
async with self.config.guild(guild).current_tempbans() as guild_tempbans:
|
||||
for uid in guild_tempbans.copy():
|
||||
unban_time = datetime.utcfromtimestamp(
|
||||
await self.config.member_from_ids(guild.id, uid).banned_until()
|
||||
unban_time = datetime.fromtimestamp(
|
||||
await self.config.member_from_ids(guild.id, uid).banned_until(),
|
||||
timezone.utc,
|
||||
)
|
||||
if datetime.utcnow() > unban_time: # Time to unban the user
|
||||
if datetime.now(timezone.utc) > unban_time: # Time to unban the user
|
||||
queue_entry = (guild.id, uid)
|
||||
try:
|
||||
await guild.unban(
|
||||
@@ -228,7 +229,7 @@ class KickBanMixin(MixinMeta):
|
||||
await modlog.create_case(
|
||||
self.bot,
|
||||
guild,
|
||||
ctx.message.created_at,
|
||||
ctx.message.created_at.replace(tzinfo=timezone.utc),
|
||||
"kick",
|
||||
user,
|
||||
author,
|
||||
@@ -410,7 +411,7 @@ class KickBanMixin(MixinMeta):
|
||||
await modlog.create_case(
|
||||
self.bot,
|
||||
guild,
|
||||
ctx.message.created_at,
|
||||
ctx.message.created_at.replace(tzinfo=timezone.utc),
|
||||
"hackban",
|
||||
user_id,
|
||||
author,
|
||||
@@ -436,7 +437,7 @@ class KickBanMixin(MixinMeta):
|
||||
"""Temporarily ban a user from this server."""
|
||||
guild = ctx.guild
|
||||
author = ctx.author
|
||||
unban_time = datetime.utcnow() + duration
|
||||
unban_time = datetime.now(timezone.utc) + duration
|
||||
|
||||
if author == user:
|
||||
await ctx.send(
|
||||
@@ -491,7 +492,7 @@ class KickBanMixin(MixinMeta):
|
||||
await modlog.create_case(
|
||||
self.bot,
|
||||
guild,
|
||||
ctx.message.created_at,
|
||||
ctx.message.created_at.replace(tzinfo=timezone.utc),
|
||||
"tempban",
|
||||
user,
|
||||
author,
|
||||
@@ -574,7 +575,7 @@ class KickBanMixin(MixinMeta):
|
||||
await modlog.create_case(
|
||||
self.bot,
|
||||
guild,
|
||||
ctx.message.created_at,
|
||||
ctx.message.created_at.replace(tzinfo=timezone.utc),
|
||||
"softban",
|
||||
user,
|
||||
author,
|
||||
@@ -621,7 +622,7 @@ class KickBanMixin(MixinMeta):
|
||||
await modlog.create_case(
|
||||
self.bot,
|
||||
guild,
|
||||
ctx.message.created_at,
|
||||
ctx.message.created_at.replace(tzinfo=timezone.utc),
|
||||
"vkick",
|
||||
member,
|
||||
author,
|
||||
@@ -660,7 +661,7 @@ class KickBanMixin(MixinMeta):
|
||||
await modlog.create_case(
|
||||
self.bot,
|
||||
guild,
|
||||
ctx.message.created_at,
|
||||
ctx.message.created_at.replace(tzinfo=timezone.utc),
|
||||
"unban",
|
||||
user,
|
||||
author,
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import asyncio
|
||||
from datetime import timezone
|
||||
from typing import cast, Optional
|
||||
|
||||
import discord
|
||||
@@ -107,7 +108,7 @@ class MuteMixin(MixinMeta):
|
||||
await modlog.create_case(
|
||||
self.bot,
|
||||
guild,
|
||||
ctx.message.created_at,
|
||||
ctx.message.created_at.replace(tzinfo=timezone.utc),
|
||||
"voiceunban",
|
||||
user,
|
||||
author,
|
||||
@@ -148,7 +149,7 @@ class MuteMixin(MixinMeta):
|
||||
await modlog.create_case(
|
||||
self.bot,
|
||||
guild,
|
||||
ctx.message.created_at,
|
||||
ctx.message.created_at.replace(tzinfo=timezone.utc),
|
||||
"voiceban",
|
||||
user,
|
||||
author,
|
||||
@@ -188,7 +189,7 @@ class MuteMixin(MixinMeta):
|
||||
await modlog.create_case(
|
||||
self.bot,
|
||||
guild,
|
||||
ctx.message.created_at,
|
||||
ctx.message.created_at.replace(tzinfo=timezone.utc),
|
||||
"vmute",
|
||||
user,
|
||||
author,
|
||||
@@ -232,7 +233,7 @@ class MuteMixin(MixinMeta):
|
||||
await modlog.create_case(
|
||||
self.bot,
|
||||
guild,
|
||||
ctx.message.created_at,
|
||||
ctx.message.created_at.replace(tzinfo=timezone.utc),
|
||||
"cmute",
|
||||
user,
|
||||
author,
|
||||
@@ -262,7 +263,7 @@ class MuteMixin(MixinMeta):
|
||||
await modlog.create_case(
|
||||
self.bot,
|
||||
guild,
|
||||
ctx.message.created_at,
|
||||
ctx.message.created_at.replace(tzinfo=timezone.utc),
|
||||
"smute",
|
||||
user,
|
||||
author,
|
||||
@@ -305,7 +306,7 @@ class MuteMixin(MixinMeta):
|
||||
await modlog.create_case(
|
||||
self.bot,
|
||||
guild,
|
||||
ctx.message.created_at,
|
||||
ctx.message.created_at.replace(tzinfo=timezone.utc),
|
||||
"vunmute",
|
||||
user,
|
||||
author,
|
||||
@@ -349,7 +350,7 @@ class MuteMixin(MixinMeta):
|
||||
await modlog.create_case(
|
||||
self.bot,
|
||||
guild,
|
||||
ctx.message.created_at,
|
||||
ctx.message.created_at.replace(tzinfo=timezone.utc),
|
||||
"cunmute",
|
||||
user,
|
||||
author,
|
||||
@@ -383,7 +384,7 @@ class MuteMixin(MixinMeta):
|
||||
await modlog.create_case(
|
||||
self.bot,
|
||||
guild,
|
||||
ctx.message.created_at,
|
||||
ctx.message.created_at.replace(tzinfo=timezone.utc),
|
||||
"sunmute",
|
||||
user,
|
||||
author,
|
||||
|
||||
Reference in New Issue
Block a user