# 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"
}