Skip to content

Commit

Permalink
feat: add blank player class
Browse files Browse the repository at this point in the history
  • Loading branch information
ooliver1 committed Sep 13, 2022
1 parent fec2df6 commit 8f7c0f9
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 4 deletions.
40 changes: 36 additions & 4 deletions mafic/libraries.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,13 @@

from .errors import MultipleCompatibleLibraries, NoCompatibleLibraries

__all__ = ("VoiceProtocol",)
__all__ = (
"Client",
"Connectable",
"VoiceProtocol",
"VoiceServerUpdatePayload",
"GuildVoiceStatePayload",
)

libraries = ("nextcord", "disnake", "py-cord", "discord.py", "discord")
found: list[str] = []
Expand All @@ -28,14 +34,40 @@
raise NoCompatibleLibraries
elif len(found) > 1:
raise MultipleCompatibleLibraries(found)
else:
if found[0] == "nextcord":
from warnings import simplefilter

# Ignore RuntimeWarning as we import the warning to filter :}
simplefilter("ignore", RuntimeWarning)
from nextcord.health_check import DistributionWarning

simplefilter("ignore", RuntimeWarning)

simplefilter("ignore", DistributionWarning)


library = found[0]


if library == "nextcord":
from nextcord import VoiceProtocol
from nextcord import Client, VoiceProtocol
from nextcord.abc import Connectable
from nextcord.types.voice import (
GuildVoiceState as GuildVoiceStatePayload,
VoiceServerUpdate as VoiceServerUpdatePayload,
)
elif library == "disnake":
from disnake import VoiceProtocol
from disnake import Client, VoiceProtocol
from disnake.abc import Connectable
from disnake.types.voice import (
GuildVoiceState as GuildVoiceStatePayload,
VoiceServerUpdate as VoiceServerUpdatePayload,
)
else:
from discord import VoiceProtocol
from discord import Client, VoiceProtocol
from discord.abc import Connectable
from discord.types.voice import (
GuildVoiceState as GuildVoiceStatePayload,
VoiceServerUpdate as VoiceServerUpdatePayload,
)
33 changes: 33 additions & 0 deletions mafic/player.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# SPDX-License-Identifier: MIT

from __future__ import annotations

from typing import TYPE_CHECKING

from .libraries import VoiceProtocol

if TYPE_CHECKING:
from .libraries import (
Client,
Connectable,
GuildVoiceStatePayload,
VoiceServerUpdatePayload,
)


class Player(VoiceProtocol):
def __init__(self, client: Client, channel: Connectable) -> None:
self.client: Client = client
self.channel: Connectable = channel

async def on_voice_state_update(self, data: GuildVoiceStatePayload) -> None:
raise NotImplementedError

async def on_voice_server_update(self, data: VoiceServerUpdatePayload) -> None:
raise NotImplementedError

async def connect(self, *, timeout: float, reconnect: bool) -> None:
raise NotImplementedError

async def disconnect(self, *, force: bool) -> None:
self.cleanup()

0 comments on commit 8f7c0f9

Please sign in to comment.