mirror of
https://github.com/Matthww/TuneBot.git
synced 2026-09-21 22:57:48 +00:00
Merge pull request #4 from strNophix/redis-context
Added aioredis + custom context
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
"token": "",
|
||||
"owner_ids": [194545408960102400, 190875175460405249],
|
||||
"prefixes": ["ck!"],
|
||||
"redis_url": "",
|
||||
"lavalink": {
|
||||
"host": "",
|
||||
"port": 2333,
|
||||
|
||||
@@ -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
@@ -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"},
|
||||
|
||||
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user