mirror of
https://github.com/Balshgit/mosgortrans.git
synced 2025-09-11 13:00:40 +03:00
app with uvicorn
This commit is contained in:
parent
585b9b221d
commit
94bef74996
@ -5,7 +5,6 @@ from aiogram.contrib.middlewares.logging import LoggingMiddleware
|
||||
from aiogram.dispatcher import Dispatcher
|
||||
from aiogram.dispatcher.webhook import SendMessage
|
||||
from aiogram.utils.callback_data import CallbackData
|
||||
from app.core.logger import logger
|
||||
from app.core.parse_web import (
|
||||
configure_firefox_driver,
|
||||
download_gecko_driver,
|
||||
@ -71,7 +70,6 @@ async def office_home(
|
||||
|
||||
@dispatcher.message_handler(commands=['chatid'])
|
||||
async def chat_id(message: types.Message) -> SendMessage:
|
||||
logger.info('Hello World')
|
||||
return SendMessage(message.chat.id, message.chat.id)
|
||||
|
||||
|
||||
|
20
app/main.py
20
app/main.py
@ -57,7 +57,7 @@ def bot_webhook() -> None:
|
||||
)
|
||||
|
||||
|
||||
async def index(request: web.Request) -> web.Response:
|
||||
async def webhook(request: web.Request) -> web.Response:
|
||||
data = await request.json()
|
||||
Bot.set_current(dispatcher.bot)
|
||||
Dispatcher.set_current(dispatcher)
|
||||
@ -66,17 +66,19 @@ async def index(request: web.Request) -> web.Response:
|
||||
return web.Response(status=HTTPStatus.OK)
|
||||
|
||||
|
||||
async def create_app() -> web.Application:
|
||||
app = web.Application()
|
||||
app.router.add_post('/', index)
|
||||
return app
|
||||
def create_app() -> web.Application:
|
||||
application = web.Application()
|
||||
application.router.add_post('/', webhook)
|
||||
return application
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
import uvicorn
|
||||
|
||||
if START_WITH_WEBHOOK:
|
||||
bot_webhook()
|
||||
else:
|
||||
# bot_polling() # type: ignore
|
||||
# bot_webhook() # type: ignore
|
||||
app = create_app()
|
||||
web.run_app(app=app, host='localhost', port=8084)
|
||||
uvicorn.run(app=app, host=WEBAPP_HOST, port=WEBAPP_PORT)
|
||||
else:
|
||||
bot_polling()
|
||||
|
||||
|
@ -23,7 +23,7 @@ WEBHOOK_PATH = config('WEBHOOK_PATH', default='')
|
||||
WEBHOOK_URL = f"{WEBHOOK_HOST}{WEBHOOK_PATH}"
|
||||
|
||||
# webserver settings
|
||||
WEBAPP_HOST = config('WEBAPP_HOST', default='localhost') # or ip
|
||||
WEBAPP_HOST = config('WEBAPP_HOST', default='127.0.0.1') # or ip
|
||||
WEBAPP_PORT = config('WEBAPP_PORT', cast=int, default=8084)
|
||||
|
||||
START_WITH_WEBHOOK = config('START_WITH_WEBHOOK', cast=bool, default=False)
|
||||
|
46
poetry.lock
generated
46
poetry.lock
generated
@ -1,6 +1,6 @@
|
||||
[[package]]
|
||||
name = "aiogram"
|
||||
version = "2.22"
|
||||
version = "2.22.1"
|
||||
description = "Is a pretty simple and fully asynchronous framework for Telegram Bot API"
|
||||
category = "main"
|
||||
optional = false
|
||||
@ -12,8 +12,8 @@ Babel = ">=2.9.1,<2.10.0"
|
||||
certifi = ">=2021.10.8"
|
||||
|
||||
[package.extras]
|
||||
fast = ["uvloop (>=0.16.0,<0.17.0)", "ujson (>=1.35)"]
|
||||
proxy = ["aiohttp-socks (>=0.5.3,<0.6.0)"]
|
||||
fast = ["ujson (>=1.35)", "uvloop (>=0.16.0,<0.17.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "aiohttp"
|
||||
@ -127,7 +127,7 @@ python-versions = ">=3.8"
|
||||
|
||||
[[package]]
|
||||
name = "asttokens"
|
||||
version = "2.0.7"
|
||||
version = "2.0.8"
|
||||
description = "Annotate AST trees with source code positions"
|
||||
category = "dev"
|
||||
optional = false
|
||||
@ -289,7 +289,7 @@ unicode_backport = ["unicodedata2"]
|
||||
name = "click"
|
||||
version = "8.1.3"
|
||||
description = "Composable command line interface toolkit"
|
||||
category = "dev"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
|
||||
@ -1052,12 +1052,15 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
|
||||
[[package]]
|
||||
name = "pygments"
|
||||
version = "2.12.0"
|
||||
version = "2.13.0"
|
||||
description = "Pygments is a syntax highlighting package written in Python."
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
|
||||
[package.extras]
|
||||
plugins = ["importlib-metadata"]
|
||||
|
||||
[[package]]
|
||||
name = "pyopenssl"
|
||||
version = "22.0.0"
|
||||
@ -1612,6 +1615,21 @@ brotli = ["brotlicffi (>=0.8.0)", "brotli (>=1.0.9)", "brotlipy (>=0.6.0)"]
|
||||
secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"]
|
||||
socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "uvicorn"
|
||||
version = "0.18.2"
|
||||
description = "The lightning-fast ASGI server."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
|
||||
[package.dependencies]
|
||||
click = ">=7.0"
|
||||
h11 = ">=0.8"
|
||||
|
||||
[package.extras]
|
||||
standard = ["websockets (>=10.0)", "httptools (>=0.4.0)", "watchfiles (>=0.13)", "python-dotenv (>=0.13)", "PyYAML (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "colorama (>=0.4)"]
|
||||
|
||||
[[package]]
|
||||
name = "virtualenv"
|
||||
version = "20.16.3"
|
||||
@ -1694,12 +1712,12 @@ multidict = ">=4.0"
|
||||
[metadata]
|
||||
lock-version = "1.1"
|
||||
python-versions = "^3.10"
|
||||
content-hash = "f6a0f7174a72427f856464538c02eb4b909b78d3ed94afda1f44ae996749c210"
|
||||
content-hash = "ab6bb9d94e7eaa3b95756c2f584db33ba1635cca6646f9a00ef437a0142743bc"
|
||||
|
||||
[metadata.files]
|
||||
aiogram = [
|
||||
{file = "aiogram-2.22-py3-none-any.whl", hash = "sha256:af5eda881f72d9ad378d93e7c084c11daf6d20834a1799eb7a656b516420b734"},
|
||||
{file = "aiogram-2.22.tar.gz", hash = "sha256:92bef502b2f14b58fef2b534bc90319e0789fcfbd63e8d91c719236f1f33a3f7"},
|
||||
{file = "aiogram-2.22.1-py3-none-any.whl", hash = "sha256:46b38f7e3c3057ed1eb6c46225f50f0a74e3285937a61cb02d708ec200672f34"},
|
||||
{file = "aiogram-2.22.1.tar.gz", hash = "sha256:38bc3fa59b797e444c576d927650abff845620a579b9579ec85cd0a4e19b90a8"},
|
||||
]
|
||||
aiohttp = [
|
||||
{file = "aiohttp-3.8.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1ed0b6477896559f17b9eaeb6d38e07f7f9ffe40b9f0f9627ae8b9926ae260a8"},
|
||||
@ -1804,8 +1822,8 @@ astpretty = [
|
||||
{file = "astpretty-3.0.0.tar.gz", hash = "sha256:b08c95f32e5994454ea99882ff3c4a0afc8254c38998a0ed4b479dba448dc581"},
|
||||
]
|
||||
asttokens = [
|
||||
{file = "asttokens-2.0.7-py2.py3-none-any.whl", hash = "sha256:f5589ef8518f73dd82c15e1c19f795d8a62c133485e557c04443d4a1a730cf9f"},
|
||||
{file = "asttokens-2.0.7.tar.gz", hash = "sha256:8444353e4e2a99661c8dfb85ec9c02eedded08f0006234bff7db44a06840acc2"},
|
||||
{file = "asttokens-2.0.8-py2.py3-none-any.whl", hash = "sha256:e3305297c744ae53ffa032c45dc347286165e4ffce6875dc662b205db0623d86"},
|
||||
{file = "asttokens-2.0.8.tar.gz", hash = "sha256:c61e16246ecfb2cde2958406b4c8ebc043c9e6d73aaa83c941673b35e5d3a76b"},
|
||||
]
|
||||
async-generator = [
|
||||
{file = "async_generator-1.10-py3-none-any.whl", hash = "sha256:01c7bf666359b4967d2cda0000cc2e4af16a0ae098cbffcb8472fb9e8ad6585b"},
|
||||
@ -2448,8 +2466,8 @@ pyflakes = [
|
||||
{file = "pyflakes-2.3.1.tar.gz", hash = "sha256:f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db"},
|
||||
]
|
||||
pygments = [
|
||||
{file = "Pygments-2.12.0-py3-none-any.whl", hash = "sha256:dc9c10fb40944260f6ed4c688ece0cd2048414940f1cea51b8b226318411c519"},
|
||||
{file = "Pygments-2.12.0.tar.gz", hash = "sha256:5eb116118f9612ff1ee89ac96437bb6b49e8f04d8a13b514ba26f620208e26eb"},
|
||||
{file = "Pygments-2.13.0-py3-none-any.whl", hash = "sha256:f643f331ab57ba3c9d89212ee4a2dabc6e94f117cf4eefde99a0574720d14c42"},
|
||||
{file = "Pygments-2.13.0.tar.gz", hash = "sha256:56a8508ae95f98e2b9bdf93a6be5ae3f7d8af858b43e02c5a2ff083726be40c1"},
|
||||
]
|
||||
pyopenssl = [
|
||||
{file = "pyOpenSSL-22.0.0-py2.py3-none-any.whl", hash = "sha256:ea252b38c87425b64116f808355e8da644ef9b07e429398bfece610f893ee2e0"},
|
||||
@ -2687,6 +2705,10 @@ urllib3 = [
|
||||
{file = "urllib3-1.26.11-py2.py3-none-any.whl", hash = "sha256:c33ccba33c819596124764c23a97d25f32b28433ba0dedeb77d873a38722c9bc"},
|
||||
{file = "urllib3-1.26.11.tar.gz", hash = "sha256:ea6e8fb210b19d950fab93b60c9009226c63a28808bc8386e05301e25883ac0a"},
|
||||
]
|
||||
uvicorn = [
|
||||
{file = "uvicorn-0.18.2-py3-none-any.whl", hash = "sha256:c19a057deb1c5bb060946e2e5c262fc01590c6529c0af2c3d9ce941e89bc30e0"},
|
||||
{file = "uvicorn-0.18.2.tar.gz", hash = "sha256:cade07c403c397f9fe275492a48c1b869efd175d5d8a692df649e6e7e2ed8f4e"},
|
||||
]
|
||||
virtualenv = [
|
||||
{file = "virtualenv-20.16.3-py2.py3-none-any.whl", hash = "sha256:4193b7bc8a6cd23e4eb251ac64f29b4398ab2c233531e66e40b19a6b7b0d30c1"},
|
||||
{file = "virtualenv-20.16.3.tar.gz", hash = "sha256:d86ea0bb50e06252d79e6c241507cb904fcd66090c3271381372d6221a3970f9"},
|
||||
|
@ -14,6 +14,7 @@ loguru = "^0.6.0"
|
||||
python-decouple = "^3.6"
|
||||
apscheduler = "^3.9.1"
|
||||
SQLAlchemy = {version = "^1.4", extras = ["mypy", "asyncio"]}
|
||||
uvicorn = "^0.18"
|
||||
|
||||
factory-boy = "^3.2.1"
|
||||
Faker = "^14.0.0"
|
||||
|
Loading…
x
Reference in New Issue
Block a user