From ac16c265f2d7270cf725af3ffb146c7d3750539a Mon Sep 17 00:00:00 2001 From: Alex Borisov <79996669747@ya.ru> Date: Sun, 11 Feb 2024 14:39:27 +0300 Subject: [PATCH 1/3] requirements fix, gpt2 prompt helper works now! + actions stage renamed --- .gitea/workflows/build.yaml | 2 +- bot.py | 111 +++++++++++++++++++++--------------- requirements.txt | 2 +- 3 files changed, 66 insertions(+), 49 deletions(-) diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 1c2c9b1..fcd04ea 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -3,7 +3,7 @@ run-name: ${{ gitea.actor }} is building new image 🚀 on: [push] jobs: - Explore-Gitea-Actions: + Build-Docker: runs-on: soaska steps: - run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event." diff --git a/bot.py b/bot.py index fc7b494..c843002 100644 --- a/bot.py +++ b/bot.py @@ -282,12 +282,14 @@ async def getProgress(msgTime): # TODO aiogram.utils.exceptions.MessageToEditNotFound: Message to edit not found proc = round(api.get_progress()['progress']*100) points = '.' * (proc % 9) - await bot.edit_message_text( - chat_id=msgTime.chat.id, - message_id=msgTime.message_id, - text=str(proc)+'% ' + points - ) - await asyncio.sleep(1) + try: + await bot.edit_message_text( + chat_id=msgTime.chat.id, + message_id=msgTime.message_id, + text=str(proc)+'% ' + points + ) + finally: + await asyncio.sleep(1) #TODO async def getProgress2(msgTime): points = '.' @@ -365,21 +367,24 @@ def getKeyboard(keysArr, returnAll): # Стандартное меню async def getKeyboardUnion(txt, message, keyboard, parse_mode = 'Markdown'): # Если команда с слешем - if hasattr(message, "content_type"): - await bot.send_message( - chat_id=message.from_user.id, - text=txt, - reply_markup=keyboard, - parse_mode=parse_mode - ) - else: - await bot.edit_message_text( - chat_id=message.message.chat.id, - message_id=message.message.message_id, - text=txt, - reply_markup=keyboard, - parse_mode=parse_mode - ) + try: + if hasattr(message, "content_type"): + await bot.send_message( + chat_id=message.from_user.id, + text=txt, + reply_markup=keyboard, + parse_mode=parse_mode + ) + else: + await bot.edit_message_text( + chat_id=message.message.chat.id, + message_id=message.message.message_id, + text=txt, + reply_markup=keyboard, + parse_mode=parse_mode + ) + except: + pass def getStart(returnAll = 1) -> InlineKeyboardMarkup: keysArr = [ @@ -664,12 +669,15 @@ async def inl_save_prompt(callback: types.CallbackQuery) -> None: global data, chatHistoryPrompt data['prompt'] = chatHistoryPrompt keyboard = InlineKeyboardMarkup(inline_keyboard=[getPromptFromJson(0), getStart(0)]) - await bot.edit_message_text( - chat_id=callback.message.chat.id, - message_id=callback.message.message_id, - text='Промпт сохранён: ' + chatHistoryPrompt, - reply_markup=keyboard - ) + try: + await bot.edit_message_text( + chat_id=callback.message.chat.id, + message_id=callback.message.message_id, + text='Промпт сохранён: ' + chatHistoryPrompt, + reply_markup=keyboard + ) + except: + pass # upload result.json from chat history @dp.callback_query_handler(text="uplchat") @@ -691,13 +699,16 @@ async def inl_uplchat(callback: types.CallbackQuery) -> None: chatHistoryPrompt = t#translateRuToEng(t) keyboard = InlineKeyboardMarkup(inline_keyboard=[getPromptFromJson(0), getStart(0)]) - await bot.edit_message_text( - chat_id=callback.message.chat.id, - message_id=callback.message.message_id, - text=t.replace('<', '<').replace('>', '>'),#translateRuToEng(t).replace('<', '<').replace('>', '>'), - reply_markup=keyboard, - parse_mode = types.ParseMode.HTML - ) + try: + await bot.edit_message_text( + chat_id=callback.message.chat.id, + message_id=callback.message.message_id, + text=t.replace('<', '<').replace('>', '>'),#translateRuToEng(t).replace('<', '<').replace('>', '>'), + reply_markup=keyboard, + parse_mode = types.ParseMode.HTML + ) + except: + pass # upload Lora/Model @@ -778,7 +789,7 @@ async def inl_fp(message: Union[types.Message, types.CallbackQuery]) -> None: data['hr_second_pass_steps'] = '10' data['cfg_scale'] = '6' data['width'] = '512' - data['height'] = '768' + data['height'] = '512' data['restore_faces'] = 'false' data['do_not_save_grid'] = 'true' data['negative_prompt'] = 'easynegative, bad-hands-5, bad-picture-chill-75v, bad-artist, bad_prompt_version2, rmadanegative4_sd15-neg, bad-image-v2-39000, illustration, painting, cartoons, sketch, (worst quality:2), (low quality:2), (normal quality:2), lowres, bad anatomy, bad hands, ((monochrome)), ((grayscale)), collapsed eyeshadow, multiple eyeblows, vaginas in breasts, (cropped), oversaturated, extra limb, missing limbs, deformed hands, long neck, long body, imperfect, (bad hands), signature, watermark, username, artist name, conjoined fingers, deformed fingers, ugly eyes, imperfect eyes, skewed eyes, unnatural face, unnatural body, error, asian, obese, tatoo, stacked torsos, totem pole, watermark, black and white, close up, cartoon, 3d, denim, (disfigured), (deformed), (poorly drawn), (extra limbs), blurry, boring, sketch, lackluster, signature, letters' @@ -892,12 +903,15 @@ async def inl_skip(message: Union[types.Message, types.CallbackQuery]) -> None: if hasattr(message, "content_type"): await message.answer("skip") else: - await bot.edit_message_text( - chat_id=message.message.chat.id, - message_id=message.message.message_id, - text="Пропущено", - reply_markup=getStart(), - ) + try: + await bot.edit_message_text( + chat_id=message.message.chat.id, + message_id=message.message.message_id, + text="Пропущено", + reply_markup=getStart(), + ) + except: + pass @dp.message_handler(lambda message: message.from_user.id in ALLOWED_USERS or len(ALLOWED_USERS) == 0, commands=["gen"]) @dp.callback_query_handler(text="gen") @@ -1332,12 +1346,15 @@ async def inl_yes_no(callback: types.CallbackQuery) -> None: if callback.data[1:] in dataParams.keys(): dataParams[callback.data[1:]] = 'False' #await bot.delete_message(chat_id=callback.message.chat.id, message_id=callback.message.message_id) - await bot.edit_message_text( - chat_id=callback.message.chat.id, - message_id=callback.message.message_id, - text=f"JSON параметры:\n{getJson()}\n{getJson(1)}", - reply_markup=keyboard, - ) + try: + await bot.edit_message_text( + chat_id=callback.message.chat.id, + message_id=callback.message.message_id, + text=f"JSON параметры:\n{getJson()}\n{getJson(1)}", + reply_markup=keyboard, + ) + except: + pass # отлов поста с канала и мгновенная генерация если включен just_gen @dp.channel_post_handler() diff --git a/requirements.txt b/requirements.txt index 7455ccf..59b777a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ aiogram==2.22.2 webuiapi translate -tensorflow +torch transformers vk_api ok_api From 4ba3f3aef3bf0713246c3d97ab18d82c62f6da39 Mon Sep 17 00:00:00 2001 From: Alex Borisov <79996669747@ya.ru> Date: Sun, 11 Feb 2024 14:42:11 +0300 Subject: [PATCH 2/3] =?UTF-8?q?=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=BD=D1=83=D0=BC=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D1=8F?= =?UTF-8?q?=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=B9=20=D0=BA=D0=BE=D0=BD?= =?UTF-8?q?=D1=82=D0=B5=D0=B9=D0=BD=D0=B5=D1=80=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/build.yaml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index fcd04ea..830f446 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -27,17 +27,13 @@ jobs: - name: Build Dockerfile run: | docker build -t sd_telegram . - - name: Add new variables - run: | - package_name=$(basename ${{ github.repository }}) - commit_date=$(git log -1 --format=%cd --date=format:'%Y%m%d%H%M%S') - echo "package_name=$package_name, commit_date=$commit_date" - name: Upload Docker image to soaska.ru run: | package_name=$(basename ${{ github.repository }}) - commit_date=$(git log -1 --format=%cd --date=format:'%Y%m%d%H%M%S') + branch_name=$(git rev-parse --abbrev-ref HEAD | tr '[:upper:]' '[:lower:]') + docker login -u ${{ secrets.username }} -p ${{ secrets.password }} soaska.ru - docker tag sd_telegram soaska.ru/${{ secrets.username }}/$package_name:$commit_date + docker tag sd_telegram soaska.ru/${{ secrets.username }}/$package_name:$branch_name docker tag sd_telegram soaska.ru/${{ secrets.username }}/$package_name:latest - docker push soaska.ru/${{ secrets.username }}/$package_name:$commit_date + docker push soaska.ru/${{ secrets.username }}/$package_name:$branch_name docker push soaska.ru/${{ secrets.username }}/$package_name:latest \ No newline at end of file From 71dadc83f6fac97a53daac1e2817d13d999927b3 Mon Sep 17 00:00:00 2001 From: Alex Borisov <79996669747@ya.ru> Date: Sun, 11 Feb 2024 17:52:34 +0300 Subject: [PATCH 3/3] Separated pytorch image and sd_telegram docker image --- dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockerfile b/dockerfile index 4f3d2e5..85784d7 100644 --- a/dockerfile +++ b/dockerfile @@ -1,4 +1,4 @@ -FROM python:3.11 +FROM soaska.ru/soaska/pytorch:latest LABEL maintainer="info@borisov-ab.ru" WORKDIR /bot