aio1connect


Nameaio1connect JSON
Version 0.0.1 PyPI version JSON
download
home_pagehttps://github.com/LilKirill00/aio-connect
SummaryThis is a library for creating bots in the 1C-Connect environment
upload_time2024-03-02 14:25:10
maintainer
docs_urlNone
authorLilKirill00
requires_python>=3.8
license
keywords 1c-connect
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # aio-connect

**aio-connect** — библиотека предназначается для создания ботов в среде 1С-Коннект.

За основу для написания библиотеки была заимствована библиотека [aiogram](https://github.com/aiogram/aiogram).

## Установка
Вы можете установить библиотеку с помощью pip:
```python
pip install aio-connect
```

## Использование
Пример создания бота:
```python
import sys
import logging

from aiohttp import web

from config_reader import config
from aio_connect.types import HookType
from aio_connect import Bot, Dispatcher, Router, types, F
from aio_connect.webhook.aiohttp_server import SimpleRequestHandler, setup_application

SERVER_API = config.SERVER_API

# host
BASE_WEBHOOK_URL = config.BASE_WEBHOOK_URL
WEBHOOK_PATH = config.WEBHOOK_PATH

# listen
WEB_SERVER_HOST = config.WEB_SERVER_HOST
WEB_SERVER_PORT = config.WEB_SERVER_PORT

# line
LINE_ID = config.LINE_ID

bot = Bot(
    api_login=config.API_LOGIN.get_secret_value(),
    api_password=config.API_PASSSWORD.get_secret_value(),
    line_id=LINE_ID,
    base=SERVER_API
)


async def on_startup():
    await bot.set_hook(type=HookType.BOT, id=LINE_ID, url=BASE_WEBHOOK_URL + WEBHOOK_PATH + LINE_ID)


router = Router()


@router.line(F.text)
async def text_handler(line: types.TypeLine) -> None:
    if line.user_id == line.author_id:
        await bot.send_message_line(line_id=line.line_id, user_id=line.user_id, text=line.text)


def main() -> None:
    dp = Dispatcher()
    dp.include_router(router)

    dp.startup.register(on_startup)

    app = web.Application()

    webhook_requests_handler = SimpleRequestHandler(
        dispatcher=dp,
        bot=bot,
    )
    # Register webhook handler on application
    webhook_requests_handler.register(app, path=WEBHOOK_PATH + LINE_ID)

    # Mount dispatcher startup and shutdown hooks to aiohttp application
    setup_application(app, dp, bot=bot)

    # And finally start webserver
    web.run_app(app, host=WEB_SERVER_HOST, port=WEB_SERVER_PORT)


if __name__ == "__main__":
    logging.basicConfig(level=logging.INFO, stream=sys.stdout)
    main()
```

## Документация
Написание библиотеки основывалось на: [Документации для разработчиков](https://1c-connect.atlassian.net/wiki/spaces/PUBLIC/pages/975568915/4.).

## Лицензия
Библиотека распространяется под лицензией MIT. Подробности можно узнать в файле
[LICENSE](https://github.com/LilKirill00/aio-connect/blob/main/LICENSE).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/LilKirill00/aio-connect",
    "name": "aio1connect",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "1C-Connect",
    "author": "LilKirill00",
    "author_email": "pc.browsers.1@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/72/4e/8a39a57d84af08773fb3ad21015ee68dba52b2839c12f6179517294cfd4f/aio1connect-0.0.1.tar.gz",
    "platform": null,
    "description": "# aio-connect\n\n**aio-connect** \u2014 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0430\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0431\u043e\u0442\u043e\u0432 \u0432 \u0441\u0440\u0435\u0434\u0435 1\u0421-\u041a\u043e\u043d\u043d\u0435\u043a\u0442.\n\n\u0417\u0430 \u043e\u0441\u043d\u043e\u0432\u0443 \u0434\u043b\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0431\u044b\u043b\u0430 \u0437\u0430\u0438\u043c\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 [aiogram](https://github.com/aiogram/aiogram).\n\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e pip:\n```python\npip install aio-connect\n```\n\n## \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\n\u041f\u0440\u0438\u043c\u0435\u0440 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0431\u043e\u0442\u0430:\n```python\nimport sys\nimport logging\n\nfrom aiohttp import web\n\nfrom config_reader import config\nfrom aio_connect.types import HookType\nfrom aio_connect import Bot, Dispatcher, Router, types, F\nfrom aio_connect.webhook.aiohttp_server import SimpleRequestHandler, setup_application\n\nSERVER_API = config.SERVER_API\n\n# host\nBASE_WEBHOOK_URL = config.BASE_WEBHOOK_URL\nWEBHOOK_PATH = config.WEBHOOK_PATH\n\n# listen\nWEB_SERVER_HOST = config.WEB_SERVER_HOST\nWEB_SERVER_PORT = config.WEB_SERVER_PORT\n\n# line\nLINE_ID = config.LINE_ID\n\nbot = Bot(\n    api_login=config.API_LOGIN.get_secret_value(),\n    api_password=config.API_PASSSWORD.get_secret_value(),\n    line_id=LINE_ID,\n    base=SERVER_API\n)\n\n\nasync def on_startup():\n    await bot.set_hook(type=HookType.BOT, id=LINE_ID, url=BASE_WEBHOOK_URL + WEBHOOK_PATH + LINE_ID)\n\n\nrouter = Router()\n\n\n@router.line(F.text)\nasync def text_handler(line: types.TypeLine) -> None:\n    if line.user_id == line.author_id:\n        await bot.send_message_line(line_id=line.line_id, user_id=line.user_id, text=line.text)\n\n\ndef main() -> None:\n    dp = Dispatcher()\n    dp.include_router(router)\n\n    dp.startup.register(on_startup)\n\n    app = web.Application()\n\n    webhook_requests_handler = SimpleRequestHandler(\n        dispatcher=dp,\n        bot=bot,\n    )\n    # Register webhook handler on application\n    webhook_requests_handler.register(app, path=WEBHOOK_PATH + LINE_ID)\n\n    # Mount dispatcher startup and shutdown hooks to aiohttp application\n    setup_application(app, dp, bot=bot)\n\n    # And finally start webserver\n    web.run_app(app, host=WEB_SERVER_HOST, port=WEB_SERVER_PORT)\n\n\nif __name__ == \"__main__\":\n    logging.basicConfig(level=logging.INFO, stream=sys.stdout)\n    main()\n```\n\n## \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f\n\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043e\u0441\u043d\u043e\u0432\u044b\u0432\u0430\u043b\u043e\u0441\u044c \u043d\u0430: [\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432](https://1c-connect.atlassian.net/wiki/spaces/PUBLIC/pages/975568915/4.).\n\n## \u041b\u0438\u0446\u0435\u043d\u0437\u0438\u044f\n\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 MIT. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u0432 \u0444\u0430\u0439\u043b\u0435\n[LICENSE](https://github.com/LilKirill00/aio-connect/blob/main/LICENSE).\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "This is a library for creating bots in the 1C-Connect environment",
    "version": "0.0.1",
    "project_urls": {
        "GitHub": "https://github.com/LilKirill00/aio-connect",
        "Homepage": "https://github.com/LilKirill00/aio-connect"
    },
    "split_keywords": [
        "1c-connect"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ec2ef3599dca9b414bb678e9c1e9502987b549917d81b4605699750fb349300e",
                "md5": "0d20ec0e167216d8e614c36b18b279fd",
                "sha256": "624bbdd1183c879156605d20f75b0e426fbd2f8f139080badced546a612e699b"
            },
            "downloads": -1,
            "filename": "aio1connect-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0d20ec0e167216d8e614c36b18b279fd",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 107904,
            "upload_time": "2024-03-02T14:25:07",
            "upload_time_iso_8601": "2024-03-02T14:25:07.470031Z",
            "url": "https://files.pythonhosted.org/packages/ec/2e/f3599dca9b414bb678e9c1e9502987b549917d81b4605699750fb349300e/aio1connect-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "724e8a39a57d84af08773fb3ad21015ee68dba52b2839c12f6179517294cfd4f",
                "md5": "941145ff8c239951b2b72662c6e19e16",
                "sha256": "5b850af3bd30abdc661bbfb20a5b3180436f53f695052f5fda1ad6e1a9bd621c"
            },
            "downloads": -1,
            "filename": "aio1connect-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "941145ff8c239951b2b72662c6e19e16",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 56708,
            "upload_time": "2024-03-02T14:25:10",
            "upload_time_iso_8601": "2024-03-02T14:25:10.176600Z",
            "url": "https://files.pythonhosted.org/packages/72/4e/8a39a57d84af08773fb3ad21015ee68dba52b2839c12f6179517294cfd4f/aio1connect-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-02 14:25:10",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "LilKirill00",
    "github_project": "aio-connect",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "aio1connect"
}
        
Elapsed time: 0.33744s