|
19 | 19 | import sentry_sdk
|
20 | 20 | import tortoise.timezone
|
21 | 21 | from asyncache import cached
|
22 |
| -from cachetools import LRUCache, TTLCache |
| 22 | +from cachetools import TTLCache |
23 | 23 | from discord import app_commands
|
24 | 24 | from discord.ext import commands
|
25 | 25 | from loguru import logger
|
@@ -282,34 +282,20 @@ def capture_exception(self, e: Exception) -> None:
|
282 | 282 | logger.warning(f"Error: {e}, capturing exception")
|
283 | 283 | sentry_sdk.capture_exception(e)
|
284 | 284 |
|
285 |
| - @cached(cache=LRUCache(maxsize=10000)) |
286 |
| - async def fetch_user(self, user_id: int) -> discord.User | None: |
287 |
| - try: |
288 |
| - user = super().get_user(user_id) or await super().fetch_user(user_id) |
289 |
| - except (discord.NotFound, discord.HTTPException): |
290 |
| - return None |
291 |
| - else: |
292 |
| - return user |
293 |
| - |
294 | 285 | async def dm_user(
|
295 | 286 | self, user_id: int, *, content: str | None = None, **kwargs: Any
|
296 | 287 | ) -> discord.Message | None:
|
297 | 288 | logger.debug(f"DMing user {user_id}")
|
298 |
| - user = self.get_user(user_id) or await self.fetch_user(user_id) |
299 |
| - if user is None: |
300 |
| - logger.debug(f"Failed to fetch user {user_id}") |
301 |
| - return None |
| 289 | + user = self.get_user(user_id) or self.get_partial_messageable(user_id) |
302 | 290 |
|
303 | 291 | try:
|
304 | 292 | message = await user.send(content, **kwargs)
|
305 | 293 | except (discord.Forbidden, discord.HTTPException):
|
306 | 294 | logger.debug(f"Failed to DM user {user_id}")
|
307 |
| - return None |
308 | 295 | except Exception as e:
|
309 | 296 | self.capture_exception(e)
|
310 |
| - return None |
311 |
| - |
312 |
| - return message |
| 297 | + else: |
| 298 | + return message |
313 | 299 |
|
314 | 300 | def get_error_choice(
|
315 | 301 | self, error_message: LocaleStr | str | Exception, locale: discord.Locale
|
|
0 commit comments