diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 1c2c9b1..830f446 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." @@ -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 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/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 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