From 937347839122b7f6261d9ee742fbcdadbffc20d1 Mon Sep 17 00:00:00 2001 From: hikariatama Date: Tue, 23 Aug 2022 19:40:25 +0000 Subject: [PATCH] Add Railway support --- Dockerfile | 32 ++------------------------------ hikka/database.py | 2 +- hikka/modules/quickstart.py | 15 +++++++++++++++ hikka/utils.py | 7 +++++++ 4 files changed, 25 insertions(+), 31 deletions(-) diff --git a/Dockerfile b/Dockerfile index 00cb2b0..d0ed7a0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,40 +1,12 @@ -# Template FROM python:3.8-slim-buster as main - -# Tell Hikka, that it's running docker -# Currently it's used only in .info badge ENV DOCKER=true - -# Suppress weird gitpython error ENV GIT_PYTHON_REFRESH=quiet - -# Do not user pip cache dir ENV PIP_NO_CACHE_DIR=1 - -# Install mandatory apt packages -RUN apt update && apt install \ - libcairo2 git -y --no-install-recommends - -# Clean the cache +RUN apt update && apt install libcairo2 git -y --no-install-recommends RUN rm -rf /var/lib/apt/lists /var/cache/apt/archives /tmp/* - -# Clone the repo RUN git clone https://github.com/hikariatama/Hikka /Hikka - -# Change working directory WORKDIR /Hikka - -# Install mandatory pip requirements -RUN pip install \ - --no-warn-script-location \ - --no-cache-dir \ - -r requirements.txt - -# Expose IP address +RUN pip install --no-warn-script-location --no-cache-dir -r requirements.txt EXPOSE 8080 - -# Create data dir RUN mkdir /data - -# Run Hikka CMD ["python3", "-m", "hikka"] diff --git a/hikka/database.py b/hikka/database.py index 5c13d11..9f85f4b 100755 --- a/hikka/database.py +++ b/hikka/database.py @@ -23,7 +23,7 @@ except ImportError as e: try: import redis except ImportError as e: - if "DYNO" in os.environ: + if "DYNO" in os.environ or "RAILWAY" in os.environ: raise e diff --git a/hikka/modules/quickstart.py b/hikka/modules/quickstart.py index e91223f..65a09da 100644 --- a/hikka/modules/quickstart.py +++ b/hikka/modules/quickstart.py @@ -57,6 +57,7 @@ TEXT_RU = """🌘🇷🇺 Привет. Твой юзербот Hikka< 3️⃣ Напиши .dlmod <ссылка> чтобы загрузить модуль из ссылка 4️⃣ Напиши .loadmod ответом на файл, чтобы загрузить модуль из него 5️⃣ Напиши .unloadmod <Название модуля> чтобы выгрузить модуль + """ if "OKTETO" in os.environ: @@ -79,6 +80,20 @@ if "DYNO" in os.environ: " @WebpageBot. Не блокируй его." ) +if "RAILWAY" in os.environ: + TEXT += ( + "🚂 Your userbot is installed on Railway. This platform has only 500" + " free hours per month. Once this limit is reached, your Hikka will be" + " frozen. Next month you will need to go to https://railway.app and" + " restart it." + ) + TEXT_RU += ( + "🚂 Твой юзербот установлен на Railway. На этой платформе ты получаешь" + " только 500 бесплатных часов в месяц. Когда лимит будет достигнет, твой" + " юзербот будет заморожен. В следующем месяце ты должен будешь" + " перейти на https://railway.app и перезапустить его." + ) + @loader.tds class QuickstartMod(loader.Module): diff --git a/hikka/utils.py b/hikka/utils.py index 0eeab0d..4bd31f4 100755 --- a/hikka/utils.py +++ b/hikka/utils.py @@ -655,6 +655,7 @@ def get_named_platform() -> str: is_termux = "com.termux" in os.environ.get("PREFIX", "") is_okteto = "OKTETO" in os.environ + is_railway = "RAILWAY" in os.environ is_docker = "DOCKER" in os.environ is_heroku = "DYNO" in os.environ is_codespaces = "CODESPACES" in os.environ @@ -662,6 +663,9 @@ def get_named_platform() -> str: if is_heroku: return "♓️ Heroku" + if is_railway: + return "🚂 Railway" + if is_docker: return "🐳 Docker" @@ -697,6 +701,9 @@ def get_platform_emoji() -> str: if "com.termux" in os.environ.get("PREFIX", ""): return BASE.format(5193051778001673828) + if "RAILWAY" in os.environ: + return BASE.format(5199607521593007466) + return BASE.format(5192765204898783881)