core: bot qoshildi

This commit is contained in:
behruz
2025-12-10 17:53:23 +05:00
parent b924442631
commit 445ae78095
4 changed files with 81 additions and 3 deletions

58
core/bot/main.py Normal file
View File

@@ -0,0 +1,58 @@
# python
import asyncio, logging, sys, os
import django
sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.base')
django.setup()
# aiogram
from aiogram import Bot, Dispatcher, types, filters
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton, WebAppInfo
# django
from django.conf import settings
TOKEN = settings.BOT_TOKEN
bot = Bot(token=TOKEN)
dp = Dispatcher()
@dp.message(filters.CommandStart)
async def start_handler(message: types.Message):
keyboard = InlineKeyboardMarkup(
inline_keyboard=[
[InlineKeyboardButton(
text="Tizimga kirish",
web_app=WebAppInfo(url="https://bot.meridynpharma.com")
)]
],
)
text = """
🔐 MeridynPharma ish tizimiga kirish
Hurmatli xodim,
MeridynPharmaning ichki ish jarayonlarini avtomatlashtirish va kunlik faoliyatni samarali boshqarish uchun moljallangan Rasmiy Xodimlar Mini-Ilovasiga xush kelibsiz.
Ushbu platforma orqali sizga biriktirilgan vazifalar, hisobotlar, inventarizatsiya jarayonlari va ichki eslatmalar yagona tizim orqali boshqariladi.
▶️ Tizimga kirish tartibi
Ish faoliyatini boshlash uchun quyidagi bosqichni bajaring:
1. Quyida joylashgan “Tizimga kirish” tugmasini bosing.
yoki
2. Mini-Ilova ochilgandan song, mini ilova pastki qismida joylashgan tizimga kirish degan tugmani bosing
Agar mini-app avtomatik ochilmasa, iltimos, tugmani yana bir bor bosing.
"""
await message.answer(text, reply_markup=keyboard)
async def main():
await dp.start_polling(bot)
if __name__ == "__main__":
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
asyncio.run(main())

View File

@@ -1,3 +1,9 @@
aiofiles==25.1.0
aiogram==3.23.0
aiohappyeyeballs==2.6.1
aiohttp==3.13.2
aiosignal==1.4.0
annotated-types==0.7.0
asgiref==3.11.0 asgiref==3.11.0
attrs==25.4.0 attrs==25.4.0
autobahn==25.11.1 autobahn==25.11.1
@@ -22,20 +28,26 @@ djangorestframework==3.16.1
djangorestframework_simplejwt==5.5.1 djangorestframework_simplejwt==5.5.1
drf-yasg==1.21.11 drf-yasg==1.21.11
fonttools==4.60.1 fonttools==4.60.1
frozenlist==1.8.0
gunicorn==23.0.0 gunicorn==23.0.0
h11==0.16.0 h11==0.16.0
hyperlink==21.0.0 hyperlink==21.0.0
idna==3.11 idna==3.11
Incremental==24.11.0 Incremental==24.11.0
inflection==0.5.1 inflection==0.5.1
magic-filter==1.0.12
msgpack==1.1.2 msgpack==1.1.2
multidict==6.7.0
packaging==25.0 packaging==25.0
pillow==12.0.0 pillow==12.0.0
propcache==0.4.1
psycopg2-binary==2.9.11 psycopg2-binary==2.9.11
py-ubjson==0.16.1 py-ubjson==0.16.1
pyasn1==0.6.1 pyasn1==0.6.1
pyasn1_modules==0.4.2 pyasn1_modules==0.4.2
pycparser==2.23 pycparser==2.23
pydantic==2.12.5
pydantic_core==2.41.5
pydyf==0.11.0 pydyf==0.11.0
PyJWT==2.10.1 PyJWT==2.10.1
pyOpenSSL==25.3.0 pyOpenSSL==25.3.0
@@ -51,6 +63,7 @@ tinycss2==1.5.1
tinyhtml5==2.0.0 tinyhtml5==2.0.0
Twisted==25.5.0 Twisted==25.5.0
txaio==25.9.2 txaio==25.9.2
typing-inspection==0.4.2
typing_extensions==4.15.0 typing_extensions==4.15.0
ujson==5.11.0 ujson==5.11.0
uritemplate==4.2.0 uritemplate==4.2.0
@@ -58,6 +71,6 @@ urllib3==2.5.0
uvicorn==0.38.0 uvicorn==0.38.0
weasyprint==66.0 weasyprint==66.0
webencodings==0.5.1 webencodings==0.5.1
yarl==1.22.0
zope.interface==8.1.1 zope.interface==8.1.1
zopfli==0.4.0 zopfli==0.4.0
websockets

View File

@@ -2,7 +2,10 @@
python3 manage.py collectstatic --noinput python3 manage.py collectstatic --noinput
python3 manage.py migrate --noinput python3 manage.py migrate --noinput
gunicorn config.wsgi:application -b 0.0.0.0:8000 --workers $(($(nproc) * 2 + 1)) gunicorn config.wsgi:application -b 0.0.0.0:8000 --workers $(($(nproc) * 2 + 1)) &
python3 core/bot/main.py &
wait
exit $? exit $?

View File

@@ -2,6 +2,10 @@
python3 manage.py collectstatic --noinput python3 manage.py collectstatic --noinput
python3 manage.py migrate --noinput python3 manage.py migrate --noinput
uvicorn config.asgi:application --host 0.0.0.0 --port 8000 --reload --reload-dir core --reload-dir config uvicorn config.asgi:application --host 0.0.0.0 --port 8000 --reload --reload-dir core --reload-dir config &
python3 core/bot/main.py &
wait
exit $? exit $?