From 1218eb53d5602e810ac6f666f976243d033784e2 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Thu, 16 Jun 2022 14:33:41 +0530 Subject: [PATCH 01/29] Build Bot API --- .github/tg.py | 14 +++++----- .github/workflows/api-compiler.yml | 41 ++++++++++++++++++++++++++++++ .github/workflows/tg-bot.yml | 6 ++++- 3 files changed, 53 insertions(+), 8 deletions(-) create mode 100644 .github/workflows/api-compiler.yml diff --git a/.github/tg.py b/.github/tg.py index befaab722..08536fb55 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -1,21 +1,21 @@ import telegram -from tgconfig import TG_TOKEN +from tgconfig import * from json import load f = open('commit.json') data = load(f) f.close() -TG_CHAT_ID = "-1001537505605" +TG_POST_ID = "-1001537505605" bot = telegram.Bot(TG_TOKEN) -bot.send_photo(TG_CHAT_ID, open('alpha.png', 'rb'), f'''*Libretube {data['sha'][0:7]} // Alpha* +bot.send_photo(TG_POST_ID, open('alpha.png', 'rb'), f'''*Libretube {data['sha'][0:7]} // Alpha* {data['commit']['message']} Signed-off-by: {data['commit']['author']['name']} ''', parse_mode=telegram.ParseMode.MARKDOWN) -bot.send_document(TG_CHAT_ID, open('app-arm64-v8a-debug.apk', 'rb')) -bot.send_document(TG_CHAT_ID, open('app-armeabi-v7a-debug.apk', 'rb')) -bot.send_document(TG_CHAT_ID, open('app-x86_64-debug.apk', 'rb')) -bot.send_document(TG_CHAT_ID, open('app-x86-debug.apk', 'rb')) +bot.send_document(TG_POST_ID, open('app-arm64-v8a-debug.apk', 'rb')) +bot.send_document(TG_POST_ID, open('app-armeabi-v7a-debug.apk', 'rb')) +bot.send_document(TG_POST_ID, open('app-x86_64-debug.apk', 'rb')) +bot.send_document(TG_POST_ID, open('app-x86-debug.apk', 'rb')) diff --git a/.github/workflows/api-compiler.yml b/.github/workflows/api-compiler.yml new file mode 100644 index 000000000..62e2906c3 --- /dev/null +++ b/.github/workflows/api-compiler.yml @@ -0,0 +1,41 @@ +name: Bot API Compiler + +on: + workflow_dispatch: + +jobs: + debug-builds: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Prepare for Compilation + run: | + sudo apt-get update + sudo apt-get upgrade + sudo apt-get install make git zlib1g-dev libssl-dev gperf cmake g++ + git config --global user.name "XelXen" + git config --global user.email "78258352+XelXen@users.noreply.github.com" + git config --global credential.helper store + echo "https://XelXen:${{ secrets.GH_TOKEN }}@github.com" > ~/.git-credentials + git clone --recursive https://github.com/tdlib/telegram-bot-api.git + cd telegram-bot-api + rm -rf build + mkdir build + cd build + + - name: Patch and Compile + run: | + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=.. .. + cmake --build . --target install + + - name: Binary Archive + run: | + cd ../.. + git clone https://github.com/LibreTubeAlpha/Telegram-BotAPI bot-api + rm -rf bot-api/* + mv ./telegram-bot-api/bin/telegram-bot-api ./bot-api/exec + cd bot-api + git add -f * + git commit -m "WORKFLOW: BUILD BINARIES" + git push -u \ No newline at end of file diff --git a/.github/workflows/tg-bot.yml b/.github/workflows/tg-bot.yml index ef6e1bbf9..401fccef8 100644 --- a/.github/workflows/tg-bot.yml +++ b/.github/workflows/tg-bot.yml @@ -1,4 +1,4 @@ -name: Telegram Builder +name: Telegram Bot on: workflow_dispatch: @@ -39,7 +39,11 @@ jobs: mv ./app/build/outputs/apk/debug/*.apk .github/ cd .github curl https://libre-tube.github.io/assets/LibreAlpha.png --output alpha.png + curl https://raw.githubusercontent.com/LibreTubeAlpha/Telegram-BotAPI/main/bin/telegram-bot-api --output bot-api echo "TG_TOKEN = '${{ secrets.TG_TOKEN }}'" > tgconfig.py + echo "TG_POST_ID = '${{ secrets.TG_POST_ID }}'" >> tgconfig.py + echo "TG_API_ID = '${{ secrets.TG_API_ID }}'" >> tgconfig.py + echo "TG_API_HASH = '${{ secrets.TG_API_HASH }}'" >> tgconfig.py curl https://api.github.com/repos/${{ github.repository }}/commits/${{ github.sha }} > commit.json python -m pip install --upgrade pip pip install python-telegram-bot From 72a97574b7b182744277208ce61c531cbc97c011 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Fri, 17 Jun 2022 11:46:07 +0530 Subject: [PATCH 02/29] Seperate Compiler Script --- .github/compiler.sh | 12 ++++++++++++ .github/workflows/api-compiler.yml | 14 +++----------- 2 files changed, 15 insertions(+), 11 deletions(-) create mode 100644 .github/compiler.sh diff --git a/.github/compiler.sh b/.github/compiler.sh new file mode 100644 index 000000000..7a65710f8 --- /dev/null +++ b/.github/compiler.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +cd ~ +sudo apt-get update -y +sudo apt-get upgrade -y +sudo apt-get install -y make git zlib1g-dev libssl-dev gperf cmake clang-10 libc++-dev libc++abi-dev +git clone --recursive https://github.com/tdlib/telegram-bot-api.git +rm -rf telegram-bot-api/build +mkdir -p telegram-bot-api/build +cd telegram-bot-api/build +CXXFLAGS="-stdlib=libc++" CC=/usr/bin/clang-10 CXX=/usr/bin/clang++-10 cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=.. .. +cmake --build . --target install \ No newline at end of file diff --git a/.github/workflows/api-compiler.yml b/.github/workflows/api-compiler.yml index 62e2906c3..f534b8f47 100644 --- a/.github/workflows/api-compiler.yml +++ b/.github/workflows/api-compiler.yml @@ -11,23 +11,15 @@ jobs: - name: Prepare for Compilation run: | - sudo apt-get update - sudo apt-get upgrade - sudo apt-get install make git zlib1g-dev libssl-dev gperf cmake g++ git config --global user.name "XelXen" git config --global user.email "78258352+XelXen@users.noreply.github.com" git config --global credential.helper store echo "https://XelXen:${{ secrets.GH_TOKEN }}@github.com" > ~/.git-credentials - git clone --recursive https://github.com/tdlib/telegram-bot-api.git - cd telegram-bot-api - rm -rf build - mkdir build - cd build - - name: Patch and Compile + - name: Run Script run: | - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=.. .. - cmake --build . --target install + chmod 755 .github/compiler.sh + .github/compiler.sh - name: Binary Archive run: | From bfae793ad61a4b60487e1f1a62fb50716d7d3790 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Fri, 17 Jun 2022 14:30:48 +0530 Subject: [PATCH 03/29] Seperate Compiler Script --- .github/workflows/api-compiler.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/api-compiler.yml b/.github/workflows/api-compiler.yml index f534b8f47..0424edc91 100644 --- a/.github/workflows/api-compiler.yml +++ b/.github/workflows/api-compiler.yml @@ -23,10 +23,9 @@ jobs: - name: Binary Archive run: | - cd ../.. git clone https://github.com/LibreTubeAlpha/Telegram-BotAPI bot-api rm -rf bot-api/* - mv ./telegram-bot-api/bin/telegram-bot-api ./bot-api/exec + mv telegram-bot-api bot-api/exec cd bot-api git add -f * git commit -m "WORKFLOW: BUILD BINARIES" From 44dd1d6c2a5cf7a878e6dd07edef70ef2d2a30ac Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Fri, 17 Jun 2022 14:35:15 +0530 Subject: [PATCH 04/29] Switch to private channel --- .github/workflows/tg-bot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tg-bot.yml b/.github/workflows/tg-bot.yml index 401fccef8..1e092e6eb 100644 --- a/.github/workflows/tg-bot.yml +++ b/.github/workflows/tg-bot.yml @@ -41,7 +41,7 @@ jobs: curl https://libre-tube.github.io/assets/LibreAlpha.png --output alpha.png curl https://raw.githubusercontent.com/LibreTubeAlpha/Telegram-BotAPI/main/bin/telegram-bot-api --output bot-api echo "TG_TOKEN = '${{ secrets.TG_TOKEN }}'" > tgconfig.py - echo "TG_POST_ID = '${{ secrets.TG_POST_ID }}'" >> tgconfig.py + echo "TG_POST_ID = '-1001797185102'" >> tgconfig.py echo "TG_API_ID = '${{ secrets.TG_API_ID }}'" >> tgconfig.py echo "TG_API_HASH = '${{ secrets.TG_API_HASH }}'" >> tgconfig.py curl https://api.github.com/repos/${{ github.repository }}/commits/${{ github.sha }} > commit.json From 85e074b35122e8b29468ca9956d9011a0849084a Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Fri, 17 Jun 2022 15:32:00 +0530 Subject: [PATCH 05/29] Fix More stuff --- .github/tg.py | 2 -- .github/workflows/api-compiler.yml | 2 +- .github/workflows/tg-bot.yml | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/tg.py b/.github/tg.py index 08536fb55..d5063221f 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -6,9 +6,7 @@ f = open('commit.json') data = load(f) f.close() -TG_POST_ID = "-1001537505605" bot = telegram.Bot(TG_TOKEN) - bot.send_photo(TG_POST_ID, open('alpha.png', 'rb'), f'''*Libretube {data['sha'][0:7]} // Alpha* {data['commit']['message']} diff --git a/.github/workflows/api-compiler.yml b/.github/workflows/api-compiler.yml index 0424edc91..176c2d079 100644 --- a/.github/workflows/api-compiler.yml +++ b/.github/workflows/api-compiler.yml @@ -25,7 +25,7 @@ jobs: run: | git clone https://github.com/LibreTubeAlpha/Telegram-BotAPI bot-api rm -rf bot-api/* - mv telegram-bot-api bot-api/exec + mv ~/telegram-bot-api/bin/telegram-bot-api bot-api/exec cd bot-api git add -f * git commit -m "WORKFLOW: BUILD BINARIES" diff --git a/.github/workflows/tg-bot.yml b/.github/workflows/tg-bot.yml index 1e092e6eb..3845c98a1 100644 --- a/.github/workflows/tg-bot.yml +++ b/.github/workflows/tg-bot.yml @@ -41,8 +41,8 @@ jobs: curl https://libre-tube.github.io/assets/LibreAlpha.png --output alpha.png curl https://raw.githubusercontent.com/LibreTubeAlpha/Telegram-BotAPI/main/bin/telegram-bot-api --output bot-api echo "TG_TOKEN = '${{ secrets.TG_TOKEN }}'" > tgconfig.py - echo "TG_POST_ID = '-1001797185102'" >> tgconfig.py echo "TG_API_ID = '${{ secrets.TG_API_ID }}'" >> tgconfig.py + echo "TG_POST_ID = '${{ secrets.TG_POST_ID }}'" >> tgconfig.py echo "TG_API_HASH = '${{ secrets.TG_API_HASH }}'" >> tgconfig.py curl https://api.github.com/repos/${{ github.repository }}/commits/${{ github.sha }} > commit.json python -m pip install --upgrade pip From 31aea5612e8a802b26fee358dffe5e857a49ebd7 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 00:13:58 +0530 Subject: [PATCH 06/29] Deploy Bot with Local API Server via multiprocessing --- .github/tg.py | 41 +++++++++++++++++++++++++----------- .github/workflows/tg-bot.yml | 3 ++- 2 files changed, 31 insertions(+), 13 deletions(-) diff --git a/.github/tg.py b/.github/tg.py index d5063221f..e0ed0b776 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -1,19 +1,36 @@ import telegram from tgconfig import * from json import load +import multiprocessing +from os import system as run +from time import sleep as wait -f = open('commit.json') -data = load(f) -f.close() +def deploy(): + run(f'~/bot-api --local --api_id={TG_API_ID} --api_hash={TG_API_HASH}') -bot = telegram.Bot(TG_TOKEN) -bot.send_photo(TG_POST_ID, open('alpha.png', 'rb'), f'''*Libretube {data['sha'][0:7]} // Alpha* +def bot(): + wait(10) + f = open('commit.json') + data = load(f) + f.close() -{data['commit']['message']} + bot = telegram.Bot(TG_TOKEN, base_url="http://0.0.0.0:8081/bot") + bot.send_photo(TG_POST_ID, open('alpha.png', 'rb'), f'''*Libretube {data['sha'][0:7]} // Alpha* -Signed-off-by: {data['commit']['author']['name']} -''', parse_mode=telegram.ParseMode.MARKDOWN) -bot.send_document(TG_POST_ID, open('app-arm64-v8a-debug.apk', 'rb')) -bot.send_document(TG_POST_ID, open('app-armeabi-v7a-debug.apk', 'rb')) -bot.send_document(TG_POST_ID, open('app-x86_64-debug.apk', 'rb')) -bot.send_document(TG_POST_ID, open('app-x86-debug.apk', 'rb')) + {data['commit']['message']} + + Signed-off-by: {data['commit']['author']['name']} + ''', parse_mode=telegram.ParseMode.MARKDOWN) + bot.send_document(TG_POST_ID, open('app-arm64-v8a-debug.apk', 'rb')) + bot.send_document(TG_POST_ID, open('app-armeabi-v7a-debug.apk', 'rb')) + bot.send_document(TG_POST_ID, open('app-x86_64-debug.apk', 'rb')) + bot.send_document(TG_POST_ID, open('app-x86-debug.apk', 'rb')) + + +if __name__ == '__main__': + multideploy = multiprocessing.Process(target=deploy) + multibot = multiprocessing.Process(target=bot) + multideploy.start() + multibot.start() + multideploy.join() + multibot.join() diff --git a/.github/workflows/tg-bot.yml b/.github/workflows/tg-bot.yml index 3845c98a1..2c802d047 100644 --- a/.github/workflows/tg-bot.yml +++ b/.github/workflows/tg-bot.yml @@ -39,7 +39,8 @@ jobs: mv ./app/build/outputs/apk/debug/*.apk .github/ cd .github curl https://libre-tube.github.io/assets/LibreAlpha.png --output alpha.png - curl https://raw.githubusercontent.com/LibreTubeAlpha/Telegram-BotAPI/main/bin/telegram-bot-api --output bot-api + curl https://raw.githubusercontent.com/LibreTubeAlpha/Telegram-BotAPI/main/exec --output ~/bot-api + chmod 755 ~/bot-api echo "TG_TOKEN = '${{ secrets.TG_TOKEN }}'" > tgconfig.py echo "TG_API_ID = '${{ secrets.TG_API_ID }}'" >> tgconfig.py echo "TG_POST_ID = '${{ secrets.TG_POST_ID }}'" >> tgconfig.py From f89da029dd6b549acb84697f111009b85e954529 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 00:18:15 +0530 Subject: [PATCH 07/29] Fix Local API Args --- .github/tg.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/tg.py b/.github/tg.py index e0ed0b776..50366d559 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -6,7 +6,7 @@ from os import system as run from time import sleep as wait def deploy(): - run(f'~/bot-api --local --api_id={TG_API_ID} --api_hash={TG_API_HASH}') + run(f'~/bot-api --local --api-id={TG_API_ID} --api-hash={TG_API_HASH}') def bot(): wait(10) From 5258a82d7501d8da41ea3bf819aedb446317e60b Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 00:31:22 +0530 Subject: [PATCH 08/29] Kill API after run --- .github/tg.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/tg.py b/.github/tg.py index 50366d559..0b7f27cac 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -17,14 +17,15 @@ def bot(): bot = telegram.Bot(TG_TOKEN, base_url="http://0.0.0.0:8081/bot") bot.send_photo(TG_POST_ID, open('alpha.png', 'rb'), f'''*Libretube {data['sha'][0:7]} // Alpha* - {data['commit']['message']} +{data['commit']['message']} - Signed-off-by: {data['commit']['author']['name']} - ''', parse_mode=telegram.ParseMode.MARKDOWN) +Signed-off-by: {data['commit']['author']['name']} +''', parse_mode=telegram.ParseMode.MARKDOWN) bot.send_document(TG_POST_ID, open('app-arm64-v8a-debug.apk', 'rb')) bot.send_document(TG_POST_ID, open('app-armeabi-v7a-debug.apk', 'rb')) bot.send_document(TG_POST_ID, open('app-x86_64-debug.apk', 'rb')) bot.send_document(TG_POST_ID, open('app-x86-debug.apk', 'rb')) + run('pid=$(pgrep bot-api) | kill -9 $pid') if __name__ == '__main__': From 558e653ea11ca9789116e136f44a3c783c60c6a4 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 00:44:31 +0530 Subject: [PATCH 09/29] Send Group Media --- .github/tg.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/tg.py b/.github/tg.py index 0b7f27cac..ec32659c9 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -21,11 +21,9 @@ def bot(): Signed-off-by: {data['commit']['author']['name']} ''', parse_mode=telegram.ParseMode.MARKDOWN) - bot.send_document(TG_POST_ID, open('app-arm64-v8a-debug.apk', 'rb')) - bot.send_document(TG_POST_ID, open('app-armeabi-v7a-debug.apk', 'rb')) - bot.send_document(TG_POST_ID, open('app-x86_64-debug.apk', 'rb')) - bot.send_document(TG_POST_ID, open('app-x86-debug.apk', 'rb')) - run('pid=$(pgrep bot-api) | kill -9 $pid') + bot.send_media_group(TG_CHAT_ID, [telegram.InputMediaDocument(open('app-x86-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-x86_64-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-armeabi-v7a-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-arm64-v8a-debug.apk', 'rb'))]) + run('pid=$(pgrep bot-api)') + run('pkill $pid') if __name__ == '__main__': From a4fe1526f468cab28aa0d4c16c50d0b2c84a5e12 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 00:47:55 +0530 Subject: [PATCH 10/29] Fix Variable --- .github/tg.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/tg.py b/.github/tg.py index ec32659c9..8fc6d6adc 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -21,7 +21,7 @@ def bot(): Signed-off-by: {data['commit']['author']['name']} ''', parse_mode=telegram.ParseMode.MARKDOWN) - bot.send_media_group(TG_CHAT_ID, [telegram.InputMediaDocument(open('app-x86-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-x86_64-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-armeabi-v7a-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-arm64-v8a-debug.apk', 'rb'))]) + bot.send_media_group(TG_POST_ID, [telegram.InputMediaDocument(open('app-x86-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-x86_64-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-armeabi-v7a-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-arm64-v8a-debug.apk', 'rb'))]) run('pid=$(pgrep bot-api)') run('pkill $pid') From 8b3b6dc6499f9f0683bf9bcdb4f9b38a812e7cef Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 00:55:25 +0530 Subject: [PATCH 11/29] Kill API at end --- .github/tg.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/tg.py b/.github/tg.py index 8fc6d6adc..948cd12a2 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -2,11 +2,11 @@ import telegram from tgconfig import * from json import load import multiprocessing -from os import system as run +import os from time import sleep as wait def deploy(): - run(f'~/bot-api --local --api-id={TG_API_ID} --api-hash={TG_API_HASH}') + os.system(f'~/bot-api --local --api-id={TG_API_ID} --api-hash={TG_API_HASH}') def bot(): wait(10) @@ -22,8 +22,10 @@ def bot(): Signed-off-by: {data['commit']['author']['name']} ''', parse_mode=telegram.ParseMode.MARKDOWN) bot.send_media_group(TG_POST_ID, [telegram.InputMediaDocument(open('app-x86-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-x86_64-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-armeabi-v7a-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-arm64-v8a-debug.apk', 'rb'))]) - run('pid=$(pgrep bot-api)') - run('pkill $pid') + for line in os.popen("ps ax | grep bot-api | grep -v grep"): + fields = line.split() + pid = fields[0] + os.kill(int(pid), signal.SIGKILL) if __name__ == '__main__': From 18eae5f2d969be219ef9216dd18c89e2b7db5091 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 01:00:30 +0530 Subject: [PATCH 12/29] Keep API open --- .github/tg.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/tg.py b/.github/tg.py index 948cd12a2..e41d5d0c4 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -22,10 +22,6 @@ def bot(): Signed-off-by: {data['commit']['author']['name']} ''', parse_mode=telegram.ParseMode.MARKDOWN) bot.send_media_group(TG_POST_ID, [telegram.InputMediaDocument(open('app-x86-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-x86_64-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-armeabi-v7a-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-arm64-v8a-debug.apk', 'rb'))]) - for line in os.popen("ps ax | grep bot-api | grep -v grep"): - fields = line.split() - pid = fields[0] - os.kill(int(pid), signal.SIGKILL) if __name__ == '__main__': From bfb0bc172637f4ee8cd0df0751f09e5c42716147 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 01:03:19 +0530 Subject: [PATCH 13/29] Exit script after execution --- .github/tg.py | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/tg.py b/.github/tg.py index e41d5d0c4..a4b1e7455 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -22,6 +22,7 @@ def bot(): Signed-off-by: {data['commit']['author']['name']} ''', parse_mode=telegram.ParseMode.MARKDOWN) bot.send_media_group(TG_POST_ID, [telegram.InputMediaDocument(open('app-x86-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-x86_64-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-armeabi-v7a-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-arm64-v8a-debug.apk', 'rb'))]) + exit() if __name__ == '__main__': From fd1b3aa2c4f237393293da07148515de50a28599 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 19:16:48 +0530 Subject: [PATCH 14/29] Kill API After post --- .github/tg.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/tg.py b/.github/tg.py index a4b1e7455..3e5550cf5 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -22,7 +22,11 @@ def bot(): Signed-off-by: {data['commit']['author']['name']} ''', parse_mode=telegram.ParseMode.MARKDOWN) bot.send_media_group(TG_POST_ID, [telegram.InputMediaDocument(open('app-x86-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-x86_64-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-armeabi-v7a-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-arm64-v8a-debug.apk', 'rb'))]) - exit() + subprocess = subprocess.Popen(['ps', '-A'], stdout=subprocess.PIPE) + for line in subprocess.communicate().splitlines(): + if "bot-api" in str(line): + pid = int(line.split(None, 1)[0]) + os.kill(pid, 9) if __name__ == '__main__': From 220d7c21319db5f63018b663bfe13fe209839ece Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 19:24:21 +0530 Subject: [PATCH 15/29] Show HTOP Command --- .github/tg.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/tg.py b/.github/tg.py index 3e5550cf5..306548693 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -21,12 +21,7 @@ def bot(): Signed-off-by: {data['commit']['author']['name']} ''', parse_mode=telegram.ParseMode.MARKDOWN) - bot.send_media_group(TG_POST_ID, [telegram.InputMediaDocument(open('app-x86-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-x86_64-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-armeabi-v7a-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-arm64-v8a-debug.apk', 'rb'))]) - subprocess = subprocess.Popen(['ps', '-A'], stdout=subprocess.PIPE) - for line in subprocess.communicate().splitlines(): - if "bot-api" in str(line): - pid = int(line.split(None, 1)[0]) - os.kill(pid, 9) + run('htop') if __name__ == '__main__': From abacc1e76126b103f26bf2793db42ce3f31655f4 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 19:28:26 +0530 Subject: [PATCH 16/29] Show HTOP Command --- .github/tg.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/tg.py b/.github/tg.py index 306548693..f80b0a8e0 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -21,7 +21,7 @@ def bot(): Signed-off-by: {data['commit']['author']['name']} ''', parse_mode=telegram.ParseMode.MARKDOWN) - run('htop') + os.system('htop') if __name__ == '__main__': From 01bf842dcf66dd97eb4a7585c8af02737f084839 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 19:43:57 +0530 Subject: [PATCH 17/29] kill python script --- .github/tg.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/tg.py b/.github/tg.py index f80b0a8e0..2932597d7 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -21,7 +21,8 @@ def bot(): Signed-off-by: {data['commit']['author']['name']} ''', parse_mode=telegram.ParseMode.MARKDOWN) - os.system('htop') + bot.send_media_group(TG_POST_ID, [telegram.InputMediaDocument(open('app-x86-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-x86_64-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-armeabi-v7a-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-arm64-v8a-debug.apk', 'rb'))]) + os.system('killall -9 python') if __name__ == '__main__': From d8c8e9071cc5f38445a7a789c89c1e6fe1cb7462 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 19:50:08 +0530 Subject: [PATCH 18/29] Ignore error --- .github/tg.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/tg.py b/.github/tg.py index 2932597d7..24cd4d10c 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -22,9 +22,8 @@ def bot(): Signed-off-by: {data['commit']['author']['name']} ''', parse_mode=telegram.ParseMode.MARKDOWN) bot.send_media_group(TG_POST_ID, [telegram.InputMediaDocument(open('app-x86-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-x86_64-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-armeabi-v7a-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-arm64-v8a-debug.apk', 'rb'))]) - os.system('killall -9 python') + os.system('killall -9 python || true') - if __name__ == '__main__': multideploy = multiprocessing.Process(target=deploy) multibot = multiprocessing.Process(target=bot) From 0072ac1ede6360919e03bf8c385b8b7ef61d9bd1 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 19:59:29 +0530 Subject: [PATCH 19/29] Continue on error --- .github/workflows/tg-bot.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/tg-bot.yml b/.github/workflows/tg-bot.yml index 2c802d047..55f0e4578 100644 --- a/.github/workflows/tg-bot.yml +++ b/.github/workflows/tg-bot.yml @@ -35,6 +35,7 @@ jobs: ./gradlew assembleDebug - name: Telegram Bot + continue-on-error: true run: | mv ./app/build/outputs/apk/debug/*.apk .github/ cd .github From cb8708d646026e07a4f1048793b5f7059804b814 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 20:34:35 +0530 Subject: [PATCH 20/29] Check for Execution order --- .github/checkrun.py | 12 ++++++++++++ .github/tg.py | 6 +++--- .github/workflows/tg-bot.yml | 5 ++++- 3 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 .github/checkrun.py diff --git a/.github/checkrun.py b/.github/checkrun.py new file mode 100644 index 000000000..a2f3d354e --- /dev/null +++ b/.github/checkrun.py @@ -0,0 +1,12 @@ +from json import load +from os import system + +f = open('commit.json') +data = load(f) +f.close() + +message = data['commit']['message'] + +if "\n\n" in message: + if message.split("\n\n",1)[-1].split()[0] == "[SILENT]": + system('killall -9 python') \ No newline at end of file diff --git a/.github/tg.py b/.github/tg.py index 24cd4d10c..f8b13d459 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -2,11 +2,11 @@ import telegram from tgconfig import * from json import load import multiprocessing -import os +from os import system from time import sleep as wait def deploy(): - os.system(f'~/bot-api --local --api-id={TG_API_ID} --api-hash={TG_API_HASH}') + system(f'~/bot-api --local --api-id={TG_API_ID} --api-hash={TG_API_HASH}') def bot(): wait(10) @@ -22,7 +22,7 @@ def bot(): Signed-off-by: {data['commit']['author']['name']} ''', parse_mode=telegram.ParseMode.MARKDOWN) bot.send_media_group(TG_POST_ID, [telegram.InputMediaDocument(open('app-x86-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-x86_64-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-armeabi-v7a-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-arm64-v8a-debug.apk', 'rb'))]) - os.system('killall -9 python || true') + system('killall -9 python') if __name__ == '__main__': multideploy = multiprocessing.Process(target=deploy) diff --git a/.github/workflows/tg-bot.yml b/.github/workflows/tg-bot.yml index 55f0e4578..bba73c419 100644 --- a/.github/workflows/tg-bot.yml +++ b/.github/workflows/tg-bot.yml @@ -26,10 +26,13 @@ jobs: java-version: 11 distribution: "temurin" cache: "gradle" + - name: Check for Execution Orders + run: | + cd .github + python checkrun.py - name: Patch and Compile run: | - cd .github python patch.py cd .. ./gradlew assembleDebug From 7a89147ab5dbecd7ea8a9f6ed3de595c075c66e1 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 20:36:55 +0530 Subject: [PATCH 21/29] Get API Info before compilation --- .github/workflows/tg-bot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tg-bot.yml b/.github/workflows/tg-bot.yml index bba73c419..fd2ffa93c 100644 --- a/.github/workflows/tg-bot.yml +++ b/.github/workflows/tg-bot.yml @@ -29,6 +29,7 @@ jobs: - name: Check for Execution Orders run: | cd .github + curl https://api.github.com/repos/${{ github.repository }}/commits/${{ github.sha }} > commit.json python checkrun.py - name: Patch and Compile @@ -49,7 +50,6 @@ jobs: echo "TG_API_ID = '${{ secrets.TG_API_ID }}'" >> tgconfig.py echo "TG_POST_ID = '${{ secrets.TG_POST_ID }}'" >> tgconfig.py echo "TG_API_HASH = '${{ secrets.TG_API_HASH }}'" >> tgconfig.py - curl https://api.github.com/repos/${{ github.repository }}/commits/${{ github.sha }} > commit.json python -m pip install --upgrade pip pip install python-telegram-bot python tg.py From f5542b94fbcbf075e117102d65e69630fcff36a7 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 20:38:40 +0530 Subject: [PATCH 22/29] Fix paths --- .github/workflows/tg-bot.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/tg-bot.yml b/.github/workflows/tg-bot.yml index fd2ffa93c..671853f7c 100644 --- a/.github/workflows/tg-bot.yml +++ b/.github/workflows/tg-bot.yml @@ -31,9 +31,11 @@ jobs: cd .github curl https://api.github.com/repos/${{ github.repository }}/commits/${{ github.sha }} > commit.json python checkrun.py + cd .. - name: Patch and Compile run: | + cd .github python patch.py cd .. ./gradlew assembleDebug From dbb7ba4c578363161373f3c297bce314c9f38fd5 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 20:40:40 +0530 Subject: [PATCH 23/29] Test Build Execution Order [SILENT] Something else --- .github/checkrun.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/checkrun.py b/.github/checkrun.py index a2f3d354e..496a11b32 100644 --- a/.github/checkrun.py +++ b/.github/checkrun.py @@ -9,4 +9,5 @@ message = data['commit']['message'] if "\n\n" in message: if message.split("\n\n",1)[-1].split()[0] == "[SILENT]": - system('killall -9 python') \ No newline at end of file + system('killall -9 python') + From 67783fe16f2d1ad0ba8e0b87a223bd2b1b50090a Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 20:50:25 +0530 Subject: [PATCH 24/29] Test Inline URL --- .github/tg.py | 1 + .github/workflows/tg-bot.yml | 13 +++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/tg.py b/.github/tg.py index f8b13d459..55281b1c9 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -20,6 +20,7 @@ def bot(): {data['commit']['message']} Signed-off-by: {data['commit']['author']['name']} +[inline URL](http://www.example.com/) ''', parse_mode=telegram.ParseMode.MARKDOWN) bot.send_media_group(TG_POST_ID, [telegram.InputMediaDocument(open('app-x86-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-x86_64-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-armeabi-v7a-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-arm64-v8a-debug.apk', 'rb'))]) system('killall -9 python') diff --git a/.github/workflows/tg-bot.yml b/.github/workflows/tg-bot.yml index 671853f7c..17659ca55 100644 --- a/.github/workflows/tg-bot.yml +++ b/.github/workflows/tg-bot.yml @@ -20,12 +20,6 @@ jobs: python-version: '3.x' # Version range or exact version of a Python version to use, using SemVer's version range syntax architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified - - name: set up JDK 11 - uses: actions/setup-java@v3 - with: - java-version: 11 - distribution: "temurin" - cache: "gradle" - name: Check for Execution Orders run: | cd .github @@ -33,6 +27,13 @@ jobs: python checkrun.py cd .. + - name: set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: 11 + distribution: "temurin" + cache: "gradle" + - name: Patch and Compile run: | cd .github From 5c12be9d50d5376c43786213f75231a43cffb9d6 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 20:54:34 +0530 Subject: [PATCH 25/29] Switch to V2 Format --- .github/tg.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/tg.py b/.github/tg.py index 55281b1c9..1b70f26ac 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -21,7 +21,7 @@ def bot(): Signed-off-by: {data['commit']['author']['name']} [inline URL](http://www.example.com/) -''', parse_mode=telegram.ParseMode.MARKDOWN) +''', parse_mode=telegram.ParseMode.MARKDOWNV2) bot.send_media_group(TG_POST_ID, [telegram.InputMediaDocument(open('app-x86-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-x86_64-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-armeabi-v7a-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-arm64-v8a-debug.apk', 'rb'))]) system('killall -9 python') From 372845eabb682c086f92070487a2cd5c26c6fcb5 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 20:59:17 +0530 Subject: [PATCH 26/29] Fix syntax --- .github/tg.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/tg.py b/.github/tg.py index 1b70f26ac..3cf7f45b5 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -21,7 +21,7 @@ def bot(): Signed-off-by: {data['commit']['author']['name']} [inline URL](http://www.example.com/) -''', parse_mode=telegram.ParseMode.MARKDOWNV2) +''', parse_mode=telegram.ParseMode.MarkdownV2) bot.send_media_group(TG_POST_ID, [telegram.InputMediaDocument(open('app-x86-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-x86_64-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-armeabi-v7a-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-arm64-v8a-debug.apk', 'rb'))]) system('killall -9 python') From f8df2f907d5b9ac824582d6c0d96889d0933ab54 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 21:06:13 +0530 Subject: [PATCH 27/29] Fix syntax --- .github/tg.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/tg.py b/.github/tg.py index 3cf7f45b5..8893c54dd 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -21,7 +21,7 @@ def bot(): Signed-off-by: {data['commit']['author']['name']} [inline URL](http://www.example.com/) -''', parse_mode=telegram.ParseMode.MarkdownV2) +''', parse_mode="MarkdownV2") bot.send_media_group(TG_POST_ID, [telegram.InputMediaDocument(open('app-x86-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-x86_64-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-armeabi-v7a-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-arm64-v8a-debug.apk', 'rb'))]) system('killall -9 python') From eab7a8d9ba5ec33f7f9cf5dcf1f9de29d33d581e Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 21:13:46 +0530 Subject: [PATCH 28/29] Add link to commit --- .github/tg.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/tg.py b/.github/tg.py index 8893c54dd..6324bf189 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -17,11 +17,10 @@ def bot(): bot = telegram.Bot(TG_TOKEN, base_url="http://0.0.0.0:8081/bot") bot.send_photo(TG_POST_ID, open('alpha.png', 'rb'), f'''*Libretube {data['sha'][0:7]} // Alpha* -{data['commit']['message']} +[{data['commit']['message']}]({data['commit']['url']}) Signed-off-by: {data['commit']['author']['name']} -[inline URL](http://www.example.com/) -''', parse_mode="MarkdownV2") +''', parse_mode=telegram.ParseMode.MARKDOWN) bot.send_media_group(TG_POST_ID, [telegram.InputMediaDocument(open('app-x86-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-x86_64-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-armeabi-v7a-debug.apk', 'rb')), telegram.InputMediaDocument(open('app-arm64-v8a-debug.apk', 'rb'))]) system('killall -9 python') From 25453c706629093c1d4a9f06bd73502f6da23c55 Mon Sep 17 00:00:00 2001 From: XelXen <78258352+XelXen@users.noreply.github.com> Date: Sat, 18 Jun 2022 21:18:12 +0530 Subject: [PATCH 29/29] Add html url --- .github/tg.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/tg.py b/.github/tg.py index 6324bf189..dc68d1166 100644 --- a/.github/tg.py +++ b/.github/tg.py @@ -17,7 +17,7 @@ def bot(): bot = telegram.Bot(TG_TOKEN, base_url="http://0.0.0.0:8081/bot") bot.send_photo(TG_POST_ID, open('alpha.png', 'rb'), f'''*Libretube {data['sha'][0:7]} // Alpha* -[{data['commit']['message']}]({data['commit']['url']}) +[{data['commit']['message']}]({data['html_url']}) Signed-off-by: {data['commit']['author']['name']} ''', parse_mode=telegram.ParseMode.MARKDOWN)