mumblecord/src/mumblecord.py

36 lines
1.2 KiB
Python

import asyncio
import pymumble_py3
import discord
class Discord(discord.Client):
def __init__(self, mumblecord):
self.mumblecord = mumblecord
super().__init__()
async def on_ready(self):
print(f"Discord: logged in as {self.user}")
self.mumblecord.mumble.users.myself.comment(f"{self.user}")
class Mumblecord:
def __init__(self, conf_mumble, conf_discord):
self.mumble_host = conf_mumble["host"]
self.mumble_port = conf_mumble.getint("port", 64738)
self.mumble_user = conf_mumble.get("user", "mumblecord")
self.mumble_password = conf_mumble.get("password", "")
self.mumble_cert = conf_mumble.get("cert", None)
self.mumble_key = conf_mumble.get("key", None)
self.discord_token = conf_discord["token"]
self.mumble = pymumble_py3.Mumble(self.mumble_host, self.mumble_user,
password=self.mumble_password,
certfile=self.mumble_cert, keyfile=self.mumble_key, stereo=True)
self.mumble.start()
self.mumble.is_ready()
asyncio.run(self._init_discord())
async def _init_discord(self):
self.discord = Discord(self)
await self.discord.start(self.discord_token)