This repository has been archived on 2021-03-28. You can view files and clone it, but cannot push or open issues/pull-requests.
frank/frank/modules/mcstat.py

33 lines
863 B
Python

from .. import Module
from mcstatus import MinecraftServer
class McStat(Module):
PREFIX = "mc"
NAME = "mcstat"
async def command(self, cmd):
if cmd[0] == "online":
address = self._config["domain"]
port = self._config.get("port")
if port:
address += ":" + str(port)
server = MinecraftServer.lookup(address)
status = server.status()
if status.players.sample is not None:
players = [player.name for player in status.players.sample]
else:
players = None
channel = self._client.get_channel(self._config["channel_id"])
if players:
await channel.send(f'Currently online: {",".join(players)}')
else:
await channel.send("No one is here bro")