Support-BOT

This commit is contained in:
2024-05-01 21:10:09 +03:00
parent e70690abe1
commit 1874da0d8a
8 changed files with 526 additions and 34 deletions

82
main.py
View File

@@ -1,43 +1,57 @@
#load('lib://std/process/v1', 'process')
#load('lib://std/file/v1', 'file')
#load('lib://std/tool/v1', 'tool')
import os
import zipfile
import subprocess
import asyncio
import logging
import sys
cmdkey_cmd = "cmdkey.exe /list"
from aiogram import Bot, Dispatcher
from aiogram.webhook.aiohttp_server import SimpleRequestHandler
from aiohttp import web
from app.core.config import settings
from handlers_commands import router as commands_router
from handlers_messages import router as messages_router
def main(ctx):
#result, state = tool.blank_result_state()
async def main():
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
bot = Bot(token=settings.TELEGRAM_TOKEN, parse_mode="HTML")
dp = Dispatcher()
dp.include_router(commands_router)
dp.include_router(messages_router)
#conf = {
# 'net group "Администраторы домена" /domain',
#}
try:
if not settings.WEBHOOK_DOMAIN:
await bot.delete_webhook()
await dp.start_polling(
bot,
allowed_updates=dp.resolve_used_update_types()
)
else:
aiohttp_logger = logging.getLogger('aiohttp.access')
aiohttp_logger.setLevel(logging.DEBUG)
cmd = "cmd.exe /c"
#args = format(cmdkey_cmd, conf)
#res = process.run(cmd=cmd, args=tuple([args]), wait=True, marker=True)
await bot.set_webhook(
url=settings.WEBHOOK_DOMAIN + settings.WEBHOOK_PATH,
drop_pending_updates=True,
allowed_updates=dp.resolve_used_update_types()
)
print("cmd")
#if res.result:
# result["data"]["log"] = res.log
# state["result"] = True
# result["message"] = "cmdkey is ok"
# result["result"] = True
#else:
# result.update(message="error running cmdkey")
app = web.Application()
SimpleRequestHandler(
dispatcher=dp, bot=bot
).register(app, path=settings.WEBHOOK_PATH)
runner = web.AppRunner(app)
await runner.setup()
site = web.TCPSite(runner,
host=settings.APP_HOST,
port=settings.APP_PORT
)
await site.start()
await asyncio.Event().wait()
except RuntimeError:
pass
finally:
await bot.session.close()
#return {"result": result, "state": state}
"""
def rollback(ctx):
result, state = tool.blank_result_state()
if ctx.rollback_state.get("result", False):
result["message"] = "all is fine"
result["result"] = True
return {"result": result}
"""
if __name__ == "__main__":
asyncio.run(main())