diff --git a/.forgejo/workflows/push.yml b/.forgejo/workflows/push.yml deleted file mode 100644 index 4d340be..0000000 --- a/.forgejo/workflows/push.yml +++ /dev/null @@ -1,93 +0,0 @@ -name: Update production - -on: - push: - branches: - - master - -jobs: - build-upload-artifact: - name: Build and upload Lurker as artifact - runs-on: docker - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Setup Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: '3.13' - - - name: Setup virtual environment - run: python -m venv .venv/ - - - name: Install necessary packages using pip - run: ./.venv/bin/pip install $PIP_PACKAGES - env: - PIP_PACKAGES: ${{vars.PIP_PACKAGES}} - - - name: Build binary - run: ./.venv/bin/pyinstaller $PYINSTALLER_FLAGS main.py - env: - PYINSTALLER_FLAGS: ${{vars.PYINSTALLER_FLAGS}} - - - name: Upload artifact - uses: actions/upload-artifact@v3 - with: - name: lurker-bin - path: dist/ - - update-production: - name: Update Lurker on production - runs-on: docker - - steps: - - name: Download artifact - uses: actions/download-artifact@v4 - with: - name: lurker-bin - - - name: Copy SSH key - run: | - install -m 600 -D /dev/null ~/.ssh/id_ed25519 - echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_ed25519 - shell: bash - env: - SSH_PRIVATE_KEY: ${{secrets.SSH_PRIVATE_KEY}} - - - name: Generate SSH known hosts file - run: | - ssh-keyscan -H -p $SSH_PORT $SSH_HOST > ~/.ssh/known_hosts - shell: bash - env: - SSH_HOST: ${{secrets.SSH_HOST}} - SSH_PORT: ${{secrets.SSH_PORT}} - - - name: Stop currently running instance - run: | - ssh $SSH_USER@$SSH_HOST $STOP_COMMAND - shell: bash - env: - SSH_USER: ${{secrets.SSH_USER}} - SSH_HOST: ${{secrets.SSH_HOST}} - STOP_COMMAND: ${{vars.STOP_COMMAND}} - - - name: Upload artifact - run: | - scp -r $UPLOAD_FROM $SSH_USER@$SSH_HOST:$UPLOAD_TO - shell: bash - env: - SSH_USER: ${{secrets.SSH_USER}} - SSH_HOST: ${{secrets.SSH_HOST}} - UPLOAD_FROM: ${{vars.UPLOAD_FROM}} - UPLOAD_TO: ${{vars.UPLOAD_TO}} - - - name: Start new instance - run: | - ssh $SSH_USER@$SSH_HOST $START_COMMAND - shell: bash - env: - SSH_USER: ${{secrets.SSH_USER}} - SSH_HOST: ${{secrets.SSH_HOST}} - START_COMMAND: ${{vars.START_COMMAND}} diff --git a/.gitignore b/.gitignore index e40e3cf..a56dfdd 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ .venv/ build/ dist/ +__pycache__/ *.spec \ No newline at end of file diff --git a/client.py b/client.py index 0ed35ae..4c284a8 100644 --- a/client.py +++ b/client.py @@ -36,18 +36,25 @@ class Client(commands.CommandsClient): return if x > y: - message = randrange(y, x + 1) - await ctx.send(f"**{str(message)}** `({y};{x})`") + result = randrange(y, x + 1) + await ctx.send(extensions.random_message(result, y, x)) return - message = randrange(x, y + 1) - await ctx.send(f"**{str(message)}** `({x};{y})`") + result = randrange(x, y + 1) + await ctx.send(extensions.random_message(result, x, y)) @commands.command() async def timestamp(self, ctx: commands.Context): """Shows current timestamp""" - message = trunc(time()) - await ctx.send(str(message)) + timestamp = trunc(time()) + table = str() + styles = ['d', 'D', 't', 'T', 'f', 'F', 'R'] + for style in styles: + table = table + f"\n| `` | |" + await ctx.send(f"## {timestamp}\n" + f"| Chat syntax | Result |\n" + f"| --- | --- |" + + table) @commands.command() async def self(self, ctx: commands.Context): @@ -99,7 +106,6 @@ class Client(commands.CommandsClient): if server.banner is not None: banner = extensions.icon_info(server.banner) - state = server.state # used for statistics await ctx.send(f"## {server.name}\n" f"{description}\n" f"| ID | `{server.id}` |\n| --- | --- |\n" @@ -108,7 +114,7 @@ class Client(commands.CommandsClient): f"| Server banner | {banner} |\n" f"| Server owner | {server.owner.original_name}#{server.owner.discriminator} |\n" f"---\n| Statistics | Value |\n| --- | --- |\n" - f"| Members | {len(state.users)} |\n" - f"| Channels | {len(state.channels)} |\n" + f"| Members | {len(server.members)} |\n" + f"| Channels | {len(server.channels)} |\n" f"| Roles | {len(server.roles)} |\n" f"| Emojis | {len(server.emojis)} |") diff --git a/extensions.py b/extensions.py index d92dc5e..96c6d4a 100644 --- a/extensions.py +++ b/extensions.py @@ -1,2 +1,8 @@ def icon_info(icon): return f"[{icon.filename}](<{icon.url}>) ({icon.width}x{icon.height})" + +def random_message(result, min, max): + return (f"## {result}\n" + f"| Min | Max |\n" + f"| --- | --- |\n" + f"|{min}|{max}|")