diff options
author | 2022-03-24 08:15:52 +0000 | |
---|---|---|
committer | 2022-03-31 20:53:41 +0100 | |
commit | 2383754743b9a00d55c35e93efa5b14643ddd366 (patch) | |
tree | edb1308c651d55301651cca12eefd3cadd6cc8af /botcore/_bot.py | |
parent | Comment on what nitpick_ignore_regex does in conf.py (diff) |
Mark async-rediscache as an optional extra dependency
Diffstat (limited to 'botcore/_bot.py')
-rw-r--r-- | botcore/_bot.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/botcore/_bot.py b/botcore/_bot.py index d740fe03..d21ed6b9 100644 --- a/botcore/_bot.py +++ b/botcore/_bot.py @@ -1,13 +1,13 @@ import asyncio import socket import types +import warnings from abc import abstractmethod from contextlib import suppress from typing import Optional import aiohttp import discord -from async_rediscache import RedisSession from discord.ext import commands from botcore.async_stats import AsyncStatsClient @@ -15,6 +15,11 @@ from botcore.site_api import APIClient from botcore.utils._extensions import walk_extensions from botcore.utils.logging import get_logger +try: + from async_rediscache import RedisSession +except ImportError: + RedisSession = discord.utils._MissingSentinel + log = get_logger() @@ -57,7 +62,10 @@ class BotBase(commands.Bot): self.guild_id = guild_id self.http_session = http_session - if redis_session: + + if redis_session and RedisSession == discord.utils._MissingSentinel: + warnings.warn("redis_session kwarg passed, but async-rediscache not installed!") + elif redis_session: self.redis_session = redis_session self.api_client: Optional[APIClient] = None @@ -209,6 +217,7 @@ class BotBase(commands.Bot): and :func:`ping_services`. """ loop = asyncio.get_running_loop() + self._connect_statsd(self.statsd_url, loop) self.stats = AsyncStatsClient(loop, "127.0.0.1") await self.stats.create_socket() @@ -256,7 +265,7 @@ class BotBase(commands.Bot): if self.stats._transport: self.stats._transport.close() - if self.redis_session: + if getattr(self.redis_session, None): await self.redis_session.close() if self._statsd_timerhandle: |