36 lines
1.2 KiB
Python
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)
|