From 418446017e3e841a6f3c7e20cf2d05bb05a11807 Mon Sep 17 00:00:00 2001 From: Stijn De Clercq Date: Tue, 29 Sep 2020 21:27:19 +0200 Subject: [PATCH 1/3] added alias to ping --- cogs/servertatus.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cogs/servertatus.py b/cogs/servertatus.py index 14e4649..078f307 100644 --- a/cogs/servertatus.py +++ b/cogs/servertatus.py @@ -7,7 +7,7 @@ class ServerStatus(commands.Cog): def __init__(self, client): self.client = client - @commands.command() + @commands.command(name="Ping", aliases=["Status"]) async def ping(self, ctx): #25568 -> Earth #25567 -> Moon From d91e770ea5972928a537eef0478700f4dd72bbec Mon Sep 17 00:00:00 2001 From: Stijn De Clercq Date: Tue, 29 Sep 2020 21:37:52 +0200 Subject: [PATCH 2/3] rework status command --- cogs/servertatus.py | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/cogs/servertatus.py b/cogs/servertatus.py index 078f307..09edb27 100644 --- a/cogs/servertatus.py +++ b/cogs/servertatus.py @@ -9,17 +9,24 @@ class ServerStatus(commands.Cog): @commands.command(name="Ping", aliases=["Status"]) async def ping(self, ctx): - #25568 -> Earth - #25567 -> Moon - server = MinecraftServer.lookup("81.82.224.207:25568") - try: - latency = server.ping() - embedVar = discord.Embed(title="", description="", color=0x00ff00) - embedVar.add_field(name="Server1", value="🟢 The Minecraft Server replied in {0} ms".format(latency), inline=False) - await ctx.send(embed=embedVar) - except ConnectionRefusedError: - await ctx.send("🔴 The Minecraft Server is offline") + servers = {"Earth": "25568", "Moon": "25567"} + ip = "81.82.224.207:" + embed = discord.Embed(colour=0x00ff00) + embed.set_author(name="Status") + + # Add field for all the servers (for-loop so nothing has to be changed for future servers) + for server in servers: + minecraftServer = MinecraftServer.lookup(ip + servers[server]) + try: + latency = f":green_circle: Server replied in {minecraftServer.ping()}ms." + except ConnectionRefusedError: + latency = ":red_circle: Server is offline." + embed.add_field(name=server, value=latency, inline=False) + + # Bot's latency + embed.add_field(name="WorldCraft Bot", value=f":green_circle: {round(self.client.latency * 1000)}ms") + await ctx.send(embed=embed) def setup(client): From 21c1a46a0740ba54f258a002da5cc73356c3d203 Mon Sep 17 00:00:00 2001 From: Stijn De Clercq Date: Tue, 29 Sep 2020 21:47:57 +0200 Subject: [PATCH 3/3] status changes colours based on amount of servers --- cogs/servertatus.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/cogs/servertatus.py b/cogs/servertatus.py index 09edb27..82b32aa 100644 --- a/cogs/servertatus.py +++ b/cogs/servertatus.py @@ -12,18 +12,31 @@ class ServerStatus(commands.Cog): servers = {"Earth": "25568", "Moon": "25567"} ip = "81.82.224.207:" - embed = discord.Embed(colour=0x00ff00) + # List of colours for the amount of servers that are online + upColours = [discord.Colour.red(), discord.Colour.orange(), discord.Colour.green()] + + embed = discord.Embed() embed.set_author(name="Status") + # Amount of servers that are online + upCounter = 2 + # Add field for all the servers (for-loop so nothing has to be changed for future servers) for server in servers: minecraftServer = MinecraftServer.lookup(ip + servers[server]) + try: + # Online latency = f":green_circle: Server replied in {minecraftServer.ping()}ms." except ConnectionRefusedError: + # Offline + upCounter -= 1 latency = ":red_circle: Server is offline." embed.add_field(name=server, value=latency, inline=False) + # Set the embed colour + embed.colour = upColours[upCounter] + # Bot's latency embed.add_field(name="WorldCraft Bot", value=f":green_circle: {round(self.client.latency * 1000)}ms") await ctx.send(embed=embed)