Merge pull request #122 from ThomasRubini/gamelimit

added game limiter
This commit is contained in:
Djalim Simaila 2023-03-27 23:55:49 +02:00 committed by GitHub
commit 66762cb1f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 3 deletions

View File

@ -2,9 +2,9 @@
FLASK_SECRET="" FLASK_SECRET=""
DISCORD_BOT_TOKEN="" DISCORD_BOT_TOKEN=""
ORIGIN="https://example.com" ORIGIN="https://example.com"
GAME_LIMIT=100
GAME_TIMEOUT=1800 GAME_TIMEOUT=1800
# Database # Database
DB_HOST="" DB_HOST=""
DB_PORT=3306 DB_PORT=3306

View File

@ -3,6 +3,7 @@ import io
import time import time
import os import os
import flask import flask
import os
from sqlalchemy import select from sqlalchemy import select
from truthinquiry.ext.database.models import * from truthinquiry.ext.database.models import *
@ -10,6 +11,7 @@ from truthinquiry.ext.database.fsa import db
from truthinquiry.ext.discord_bot import discord_bot from truthinquiry.ext.discord_bot import discord_bot
from truthinquiry.ext.socketio import socket_io from truthinquiry.ext.socketio import socket_io
from truthinquiry.logic import game_logic from truthinquiry.logic import game_logic
from dotenv import load_dotenv
from flask_apscheduler import APScheduler from flask_apscheduler import APScheduler
scheduler = APScheduler() scheduler = APScheduler()
@ -35,7 +37,8 @@ def create_game():
return {"error": 1, "msg": "username not set"} return {"error": 1, "msg": "username not set"}
if not game_logic.check_username(username): if not game_logic.check_username(username):
return {"error": 1, "msg": "invalid username"} return {"error": 1, "msg": "invalid username"}
if len(game_logic.games_list) >= int(os.getenv("GAME_LIMIT")):
return {"error": 1, "msg": "Game limit reach"}
response = {} response = {}
response["error"] = 0 response["error"] = 0
game = game_logic.create_game(owner=username) game = game_logic.create_game(owner=username)
@ -55,7 +58,7 @@ def get_members():
game = game_logic.get_game(game_id) game = game_logic.get_game(game_id)
if game is None: if game is None:
return {"error": 1, "msg": "this game doesn't exist"} return {"error": 1, "msg": "this game doesn't exist"}
response = {"error" : 0} response = {"error": 0}
player_list = [member.username for member in game.members] player_list = [member.username for member in game.members]
response["members"] = player_list response["members"] = player_list
return response return response