Skip to content
Permalink
89bacdc98d
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
executable file 70 lines (61 sloc) 1.7 KB
import os
import discord
import status
from mcstatus import MinecraftServer
from datetime import datetime
from datetime import timedelta
from discord.ext import commands, tasks
import difflib
import asyncio
server = MinecraftServer("192.168.0.89", 25565)
status = server.status()
print("The server has {0} players and replied in {1} ms".format(status.players.online, status.latency))
query = server.query()
print("The server has the following players online: {0}".format(", ".join(query.players.names)))
client = discord.Client()
@client.event
async def on_ready():
print(f'{client.user} has connected to Discord!')
async def checkLogin():
server = MinecraftServer("192.168.0.89", 25565)
oldPlayers = ""
while not client.is_closed():
msg = ""
query = server.query()
currentPlayers = "".join(query.players.names)
print(currentPlayers)
msg = currentPlayers
checkNicknames = msg.split("\n - ")
for i in checkNicknames:
path = "nicknames/" + i
try:
n = open(path, "r")
nick = i + " [" + n.read() + "]"
msg = msg.replace(i, nick)
n.close()
except:
msg = msg
login = msg
logout = msg
for i,s in enumerate(difflib.ndiff(msg, oldPlayers)):
if s[0] == ' ':
continue
elif s[0]=="-":
logout = logout + (u'"{}"'.format(s[-1])) + "\n"
elif s[0]=="+":
login = login + (u'"{}"'.format(s[-1])) + "\n"
for i in login:
msg = msg + i
msg = msg + " logged in"
for i in logout:
msg = msg + i
msg = msg + " logged out"
oldPlayers = currentPlayers
if msg == "":
print("Nobody logged in")
else:
channel = client.get_channel(694572684566331473)
await channel.send(msg)
await asyncio.sleep(10)
client.loop.create_task(checkLogin())
client.run(token)