Spaces:
Sleeping
Sleeping
#!/usr/bin/env python | |
# -*- coding: utf-8 -*- | |
# Copyright 2020-2023 (c) Randy W @xtdevs, @xtsea | |
# | |
# from : https://github.com/TeamKillerX | |
# Channel : @RendyProjects | |
# This program is free software: you can redistribute it and/or modify | |
# it under the terms of the GNU Affero General Public License as published by | |
# the Free Software Foundation, either version 3 of the License, or | |
# (at your option) any later version. | |
# | |
# This program is distributed in the hope that it will be useful, | |
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
# GNU Affero General Public License for more details. | |
# | |
# You should have received a copy of the GNU Affero General Public License | |
# along with this program. If not, see <https://www.gnu.org/licenses/>. | |
import uvicorn | |
from fastapi import FastAPI, Query | |
from templates.config import * | |
logging.basicConfig(level=logging.ERROR) | |
app = FastAPI( | |
title=TITLE, | |
description=DESCRIPTION, | |
version=VERSION, | |
terms_of_service=TERMS_OF_SERVICE, | |
docs_url=DOCS_URL, | |
) | |
def hello_world(): | |
return {"message": "hello world"} | |
def blacklist_words(): | |
try: | |
BLACKLIST_WORDS = BadWordsList() | |
results_all = BLACKLIST_WORDS.banned_by_google( | |
file_txt="banned_by_google.txt", storage=True | |
) | |
return {"status": "true", "results": results_all} | |
except Exception as e: | |
return {"status": "false", "message": f"Internal server error: {str(e)}"} | |
def sibyl_system_ban( | |
user_id: int = Query(..., description="User ID in query parameter"), | |
reason: str = Query(..., description="Reason in query parameter"), | |
api_key: str = Query(..., description="Api key in query parameter"), | |
): | |
if user_id != TELEGRAM_ID: | |
return {"status": "false", "message": "Only Developer"} | |
clients = SiblyBan(api_key=api_key) | |
try: | |
response = clients.get_ban(user_id=user_id, banlist=True) | |
sibyl_user_id = response.get("randydev", {}).get("sibyl_user_id") | |
if sibyl_user_id: | |
return {"status": "false", "message": "User is already banned"} | |
response_str = clients.add_ban(user_id=user_id, reason=reason, is_banned=True) | |
return {"status": "true", "results": {"message": response_str}} | |
except Exception as e: | |
logging.error(f"Error in sibyl_system_ban: {e}") | |
return {"status": "false", "message": "Internal server error"} | |
if __name__ == "__main__": | |
uvicorn.run(app, host="0.0.0.0") | |