Skip to content

Instantly share code, notes, and snippets.

@lukec11
Last active May 18, 2019 18:27
Show Gist options
  • Save lukec11/5b04bfe984f01872a00520775a58d8d5 to your computer and use it in GitHub Desktop.
Save lukec11/5b04bfe984f01872a00520775a58d8d5 to your computer and use it in GitHub Desktop.
Checks the status of a Minecraft Server, used as a command in Slack
import os
from flask import abort, Flask, jsonify, request
from mcstatus import MinecraftServer
import slack
def online():
server = MinecraftServer.lookup("--SERVER IP HERE--")
server = server.status()
current = (
"players: {}/{} {}".format(
server.players.online,
server.players.max,
[
"{}".format(player.name)
for player in server.players.sample
] if server.players.sample != None
else "Online"
)
)
return current
app = Flask(__name__)
def request_valid(request):
token_valid = request.form['token'] == os.environ['TOKEN']
team_id_valid = request.form['team_id'] == os.environ['TEAM_ID']
return token_valid and team_id_valid
@app.route('/players', methods=['POST'])
def players():
if not request_valid(request):
print('NOTVALID')
abort(400)
return jsonify(
response_type='in_channel',
text=online(),
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment