Merge pull request #4 from strNophix/redis-context

Added aioredis + custom context
This commit is contained in:
2021-10-31 14:47:34 +01:00
committed by GitHub
5 changed files with 43 additions and 2 deletions
+13
View File
@@ -1,8 +1,11 @@
import asyncio
from aioredis.client import Redis
import discord
from discord import ActivityType
from discord.colour import Color
from discord.ext import commands, tasks
import sys
from signal import SIGINT, SIGTERM
import json
from typing import Any, Dict, List, Sequence
from discord import Message
@@ -12,6 +15,10 @@ from discord.ext.commands.errors import (
ExtensionNotFound,
NoEntryPointError,
)
import aioredis
from aioredis import Redis
from context import CustomContext
class ChristmasBot(commands.Bot):
@@ -27,6 +34,9 @@ class ChristmasBot(commands.Bot):
self.initial_cog_names: List[str] = self.config.get("cogs", [])
self.colors: Dict[str, Color] = self.process_colours(config.get("colors", []))
self._redis_client: Redis = aioredis.from_url(
self.config["redis_url"], encoding="utf-8", decode_responses=True
)
self.invite_link: str = ""
slash_guilds = None
@@ -77,6 +87,9 @@ class ChristmasBot(commands.Bot):
colour_dict[name] = Color(int(color, 16))
return colour_dict
async def get_context(self, message: Message, *, cls=CustomContext):
return await super().get_context(message, cls=cls)
@tasks.loop(seconds=30)
async def update_status(self):
await self.wait_until_ready()
+1
View File
@@ -2,6 +2,7 @@
"token": "",
"owner_ids": [194545408960102400, 190875175460405249],
"prefixes": ["ck!"],
"redis_url": "",
"lavalink": {
"host": "",
"port": 2333,
+7
View File
@@ -0,0 +1,7 @@
from aioredis.client import Redis
from discord.ext import commands
class CustomContext(commands.Context):
def get_redis(self) -> Redis:
return self.bot._redis_client
Generated
+21 -2
View File
@@ -16,6 +16,21 @@ yarl = ">=1.0,<1.6.0"
[package.extras]
speedups = ["aiodns", "brotlipy", "cchardet"]
[[package]]
name = "aioredis"
version = "2.0.0"
description = "asyncio (PEP 3156) Redis support"
category = "main"
optional = false
python-versions = ">=3.6"
[package.dependencies]
async-timeout = "*"
typing-extensions = "*"
[package.extras]
hiredis = ["hiredis (>=1.0)"]
[[package]]
name = "async-timeout"
version = "3.0.1"
@@ -258,7 +273,7 @@ python-versions = ">=3.6"
name = "typing-extensions"
version = "3.10.0.2"
description = "Backported and Experimental Type Hints for Python 3.5+"
category = "dev"
category = "main"
optional = false
python-versions = "*"
@@ -290,7 +305,7 @@ multidict = ">=4.0"
[metadata]
lock-version = "1.1"
python-versions = "^3.8"
content-hash = "9ecfdbfb13478abd79ab060516a2001a0706019f52c946f63e5ebb308e01622f"
content-hash = "3e8f3b5171be334aaa606cd70df03f9b0ac49cb2f78b69723ff49233ce9c1cd3"
[metadata.files]
aiohttp = [
@@ -308,6 +323,10 @@ aiohttp = [
{file = "aiohttp-3.6.3-cp37-cp37m-win_amd64.whl", hash = "sha256:687461cd974722110d1763b45c5db4d2cdee8d50f57b00c43c7590d1dd77fc5c"},
{file = "aiohttp-3.6.3.tar.gz", hash = "sha256:698cd7bc3c7d1b82bb728bae835724a486a8c376647aec336aa21a60113c3645"},
]
aioredis = [
{file = "aioredis-2.0.0-py3-none-any.whl", hash = "sha256:9921d68a3df5c5cdb0d5b49ad4fc88a4cfdd60c108325df4f0066e8410c55ffb"},
{file = "aioredis-2.0.0.tar.gz", hash = "sha256:3a2de4b614e6a5f8e104238924294dc4e811aefbe17ddf52c04a93cbf06e67db"},
]
async-timeout = [
{file = "async-timeout-3.0.1.tar.gz", hash = "sha256:0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f"},
{file = "async_timeout-3.0.1-py3-none-any.whl", hash = "sha256:4291ca197d287d274d0b6cb5d6f8f8f82d434ed288f962539ff18cc9012f9ea3"},
+1
View File
@@ -11,6 +11,7 @@ lavalink = "^3.1.4"
humanize = "^3.12.0"
"discord.py" = { git = "https://github.com/iDevision/enhanced-discord.py", branch = "2.0", extras = ["voice", "speed"] }
uvloop = {version = "^0.16.0", optional = true}
aioredis = "^2.0.0"
[tool.poetry.dev-dependencies]
black = {version = "^21.9b0", allow-prereleases = true}