This commit is contained in:
mihalin 2021-09-09 10:58:33 +03:00
parent 56b9528338
commit 68e60bb0c7
8 changed files with 89 additions and 17 deletions

3
.flake8 Normal file
View File

@ -0,0 +1,3 @@
[flake8]
exclude = .git,__pycache__,venv
max-line-length = 120

23
.github/workflows/lint.yaml vendored Normal file
View File

@ -0,0 +1,23 @@
name: Linter
on: push
env:
PYTHONUNBUFFERED: 1
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install flake8
- name: Check flake8
run: python -m flake8 .

43
.github/workflows/push.yaml vendored Normal file
View File

@ -0,0 +1,43 @@
name: Publish Docker image
on:
push:
branches:
- stable
env:
IMAGE_NAME: bot
USERNAME: mihalin
jobs:
# Push image to GitHub Packages.
# See also https://docs.docker.com/docker-hub/builds/
ghr_push:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build image
run: docker build . --tag $IMAGE_NAME
- name: Log into GitHub Container Registry
run: echo "${{ secrets.CR_PAT }}" | docker login https://ghcr.io -u $USERNAME --password-stdin
- name: Push poi image to GitHub Container Registry
run: |
IMAGE_ID=ghcr.io/${{ github.repository }}/$IMAGE_NAME
# Change all uppercase to lowercase
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
# Strip git ref prefix from version
VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,')
# Strip "v" prefix from tag name
[[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//')
# Use Docker `latest` tag convention
[ "$VERSION" == "main" ] && VERSION=latest
echo IMAGE_ID=$IMAGE_ID
echo VERSION=$VERSION
docker tag $IMAGE_NAME $IMAGE_ID:$VERSION
docker push $IMAGE_ID:$VERSION

View File

@ -27,7 +27,7 @@ class BotInstance(ABC):
@abstractmethod @abstractmethod
async def _properties(self) -> BotProperties: async def _properties(self) -> BotProperties:
raise NotImplemented() raise NotImplementedError()
def stop_polling(self): def stop_polling(self):
print("stop polling") print("stop polling")
@ -113,7 +113,7 @@ if __name__ == '__main__':
""" """
Режим single-instance. В этом режиме не работает olgram. На сервере запускается только один feedback (instance) Режим single-instance. В этом режиме не работает olgram. На сервере запускается только один feedback (instance)
бот для пересылки сообщений. Все настройки этого бота задаются в переменных окружения на сервере. Бот работает бот для пересылки сообщений. Все настройки этого бота задаются в переменных окружения на сервере. Бот работает
в режиме polling в режиме polling
""" """
bot = FreezeBotInstance( bot = FreezeBotInstance(
InstanceSettings.token(), InstanceSettings.token(),

View File

@ -4,10 +4,10 @@ from tortoise import Tortoise
from olgram.router import dp from olgram.router import dp
from olgram.settings import TORTOISE_ORM from olgram.settings import TORTOISE_ORM
import olgram.commands.bots import olgram.commands.bots # noqa: F401
import olgram.commands.start import olgram.commands.start # noqa: F401
import olgram.commands.menu import olgram.commands.menu # noqa: F401
import olgram.commands.bot_actions import olgram.commands.bot_actions # noqa: F401
async def init_database(): async def init_database():

View File

@ -92,15 +92,18 @@ async def send_bot_menu(bot: Bot, call: types.CallbackQuery):
keyboard = types.InlineKeyboardMarkup(row_width=2) keyboard = types.InlineKeyboardMarkup(row_width=2)
keyboard.insert( keyboard.insert(
types.InlineKeyboardButton(text="Текст", types.InlineKeyboardButton(text="Текст",
callback_data=menu_callback.new(level=2, bot_id=bot.id, operation="text", chat=empty)) callback_data=menu_callback.new(level=2, bot_id=bot.id, operation="text",
chat=empty))
) )
keyboard.insert( keyboard.insert(
types.InlineKeyboardButton(text="Чат", types.InlineKeyboardButton(text="Чат",
callback_data=menu_callback.new(level=2, bot_id=bot.id, operation="chat", chat=empty)) callback_data=menu_callback.new(level=2, bot_id=bot.id, operation="chat",
chat=empty))
) )
keyboard.insert( keyboard.insert(
types.InlineKeyboardButton(text="Удалить бот", types.InlineKeyboardButton(text="Удалить бот",
callback_data=menu_callback.new(level=2, bot_id=bot.id, operation="delete", chat=empty)) callback_data=menu_callback.new(level=2, bot_id=bot.id, operation="delete",
chat=empty))
) )
keyboard.insert( keyboard.insert(
types.InlineKeyboardButton(text="<< Назад", types.InlineKeyboardButton(text="<< Назад",