Add chat form that sends messages to Flask server
This commit is contained in:
11
chat/minecraft-chat.ini
Normal file
11
chat/minecraft-chat.ini
Normal file
@@ -0,0 +1,11 @@
|
||||
[uwsgi]
|
||||
module = wsgi:application
|
||||
|
||||
master = true
|
||||
processes = 2
|
||||
|
||||
socket = minecraft-chat.sock
|
||||
chmod-socket = 664
|
||||
vacuum = true
|
||||
|
||||
die-on-term = true
|
||||
34
chat/server.py
Normal file
34
chat/server.py
Normal file
@@ -0,0 +1,34 @@
|
||||
import logging
|
||||
import subprocess
|
||||
|
||||
from flask import Flask, request
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
|
||||
@app.before_first_request
|
||||
def setup_logging():
|
||||
app.logger.addHandler(logging.StreamHandler())
|
||||
app.logger.setLevel(logging.INFO)
|
||||
|
||||
|
||||
@app.route('/chat/', methods=['GET', 'POST'])
|
||||
def send_chat():
|
||||
if request.method == 'POST':
|
||||
if request.form.get('email', None):
|
||||
return 'Text was entered into honeypot!', 200
|
||||
if not request.form.get('say-text', None):
|
||||
return 'No message to send!', 422
|
||||
if request.form.get('say-username', None):
|
||||
subprocess.call(['/usr/bin/screen', '-S', 'mc-panic-shack', '-p', '0', '-X', 'stuff',
|
||||
'/say [{}]: {}\015'.format(request.form['say-username'], request.form['say-text'])])
|
||||
else:
|
||||
subprocess.call(['/usr/bin/screen', '-S', 'mc-panic-shack', '-p', '0', '-X', 'stuff',
|
||||
'/say {}\015'.format(request.form['say-text'])])
|
||||
return 'Sending chat: ' + request.form.get('say-username', '') + ': ' + request.form['say-text']
|
||||
else:
|
||||
app.logger.info('Hello, world!')
|
||||
return 'Hello, world!'
|
||||
|
||||
if __name__ == "__main__":
|
||||
app.run(host='0.0.0.0', port="8888")
|
||||
Reference in New Issue
Block a user