async-icq


Nameasync-icq JSON
Version 1.4.9 PyPI version JSON
download
home_pagehttps://github.com/dasshit/async-icq
SummaryICQ/VK Teams Bot API interface
upload_time2025-11-09 10:32:51
maintainerNone
docs_urlNone
authorValerii Korobov
requires_python>=3.5
licenseNone
keywords mailru im bot api
VCS
bugtrack_url
requirements aiohttp aiologger aiosignal async-timeout attrs charset-normalizer frozenlist idna multidict yarl uvloop ujson
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Async VK Teams bot API wrapper

[![PyPi Package Version](https://img.shields.io/pypi/v/async_icq)](https://pypi.org/project/async-icq/)
[![PyPi Package Status](https://img.shields.io/pypi/status/async_icq?color=green&label=stable)](https://pypi.org/project/async-icq/)
[![Supported Python versions](https://img.shields.io/pypi/pyversions/async_icq)](https://pypi.org/project/async-icq/)
[![Package dwn stats](https://img.shields.io/pypi/dm/async_icq)](https://pypi.org/project/async-icq/)
[![License](https://img.shields.io/github/license/dasshit/async-icq)](https://pypi.org/project/async-icq/)
[![Repo size](https://img.shields.io/github/repo-size/dasshit/async-icq)](https://pypi.org/project/async-icq/)
[![Author stars count](https://img.shields.io/github/stars/dasshit?style=social)](https://pypi.org/project/async-icq/)

<img src="https://myteam.mail.ru/botapi/res/logo_myteam.png" width="40%">

Pure Async Python interface for Bot API.

# Table of contents
- [Introduction](#introduction)
- [Quick start](#quick-start)
- [Installing](#installing)
- [Examples](#examples) 
- [API description](#api-description)

# Introduction


This library provides complete VK Teams Bot API 1.0 interface and requires Python 3.5+

# Quick start

* Create your own bot by sending the /newbot command to @Metabot and follow the instructions.
    >Note: a bot can only reply after the user has added it to his contact list, or if the user was the first to start a dialogue.
* You can configure the domain that hosts your VK Teams server. When instantiating the Bot class, add the address of your domain.
    > Example: Bot(token=TOKEN, url="https://myteam.mail.ru"), by default we use the domain: http://myteam.mail.ru (VK Teams)

# Installing

Install using pip:
```bash
pip install -U async-icq
```

Install from sources:
```bash
git clone https://github.com/dasshit/async-icq.git
cd async-icq
python setup.py install
```

# Examples

Basic example of using this library will look like this

```python
from async_icq.bot import AsyncBot
from async_icq.events import Event

# Creating bot
example = AsyncBot(
  token='TOKEN',
  url='https://api.icq.net',
)


# Adding some basic event handler by decorators (handler must accept 2 arguments: bot and event)
# Diffent decorators will set it up for diffent types of events
@example.message_handler()
async def hello(event: Event):
  
  await event.answer(
    text=f'Hi, {event.from_.userId}'
  )

  await event.log(
    f'Answered to {event.chat.chatId} to {event.from_.userId}')


# Starting to poll new events and sending them to middleware and handlers
example.start_poll()
```

Example of how to use this library could be found in async-icq/examples

# API description
<ul>
    <li><a href="https://teams.vk.com/botapi/#/">teams.vk.com/botapi</a></li>
</ul>

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/dasshit/async-icq",
    "name": "async-icq",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.5",
    "maintainer_email": null,
    "keywords": "mailru im bot api",
    "author": "Valerii Korobov",
    "author_email": "dasshit@yandex.ru",
    "download_url": "https://files.pythonhosted.org/packages/c0/58/70d8765243fc16d2540f51f531a07eeba6a620ed21e3e652fd51bc75c747/async_icq-1.4.9.tar.gz",
    "platform": null,
    "description": "# Async VK Teams bot API wrapper\n\n[![PyPi Package Version](https://img.shields.io/pypi/v/async_icq)](https://pypi.org/project/async-icq/)\n[![PyPi Package Status](https://img.shields.io/pypi/status/async_icq?color=green&label=stable)](https://pypi.org/project/async-icq/)\n[![Supported Python versions](https://img.shields.io/pypi/pyversions/async_icq)](https://pypi.org/project/async-icq/)\n[![Package dwn stats](https://img.shields.io/pypi/dm/async_icq)](https://pypi.org/project/async-icq/)\n[![License](https://img.shields.io/github/license/dasshit/async-icq)](https://pypi.org/project/async-icq/)\n[![Repo size](https://img.shields.io/github/repo-size/dasshit/async-icq)](https://pypi.org/project/async-icq/)\n[![Author stars count](https://img.shields.io/github/stars/dasshit?style=social)](https://pypi.org/project/async-icq/)\n\n<img src=\"https://myteam.mail.ru/botapi/res/logo_myteam.png\" width=\"40%\">\n\nPure Async Python interface for Bot API.\n\n# Table of contents\n- [Introduction](#introduction)\n- [Quick start](#quick-start)\n- [Installing](#installing)\n- [Examples](#examples) \n- [API description](#api-description)\n\n# Introduction\n\n\nThis library provides complete VK Teams Bot API 1.0 interface and requires Python 3.5+\n\n# Quick start\n\n* Create your own bot by sending the /newbot command to @Metabot and follow the instructions.\n    >Note: a bot can only reply after the user has added it to his contact list, or if the user was the first to start a dialogue.\n* You can configure the domain that hosts your VK Teams server. When instantiating the Bot class, add the address of your domain.\n    > Example: Bot(token=TOKEN, url=\"https://myteam.mail.ru\"), by default we use the domain: http://myteam.mail.ru (VK Teams)\n\n# Installing\n\nInstall using pip:\n```bash\npip install -U async-icq\n```\n\nInstall from sources:\n```bash\ngit clone https://github.com/dasshit/async-icq.git\ncd async-icq\npython setup.py install\n```\n\n# Examples\n\nBasic example of using this library will look like this\n\n```python\nfrom async_icq.bot import AsyncBot\nfrom async_icq.events import Event\n\n# Creating bot\nexample = AsyncBot(\n  token='TOKEN',\n  url='https://api.icq.net',\n)\n\n\n# Adding some basic event handler by decorators (handler must accept 2 arguments: bot and event)\n# Diffent decorators will set it up for diffent types of events\n@example.message_handler()\nasync def hello(event: Event):\n  \n  await event.answer(\n    text=f'Hi, {event.from_.userId}'\n  )\n\n  await event.log(\n    f'Answered to {event.chat.chatId} to {event.from_.userId}')\n\n\n# Starting to poll new events and sending them to middleware and handlers\nexample.start_poll()\n```\n\nExample of how to use this library could be found in async-icq/examples\n\n# API description\n<ul>\n    <li><a href=\"https://teams.vk.com/botapi/#/\">teams.vk.com/botapi</a></li>\n</ul>\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "ICQ/VK Teams Bot API interface",
    "version": "1.4.9",
    "project_urls": {
        "Homepage": "https://github.com/dasshit/async-icq"
    },
    "split_keywords": [
        "mailru",
        "im",
        "bot",
        "api"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "928f0f65b3b700282ae0a2e3ba970e1a39cc226b185e9573bcb394ce0db1938e",
                "md5": "49e6dd671ee4b4d8cf2052c80961fb34",
                "sha256": "330ef45751e50133f0fea51227a0bf74f64b646919e738b2ec8eceacda4359a0"
            },
            "downloads": -1,
            "filename": "async_icq-1.4.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "49e6dd671ee4b4d8cf2052c80961fb34",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.5",
            "size": 16808,
            "upload_time": "2025-11-09T10:32:50",
            "upload_time_iso_8601": "2025-11-09T10:32:50.781085Z",
            "url": "https://files.pythonhosted.org/packages/92/8f/0f65b3b700282ae0a2e3ba970e1a39cc226b185e9573bcb394ce0db1938e/async_icq-1.4.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c05870d8765243fc16d2540f51f531a07eeba6a620ed21e3e652fd51bc75c747",
                "md5": "c603a1a3e42aaa879b5c0c94406bdd79",
                "sha256": "1a7c83097accd25b8144527669b810c552af8d5970e058e4dd95200f5f51bd8d"
            },
            "downloads": -1,
            "filename": "async_icq-1.4.9.tar.gz",
            "has_sig": false,
            "md5_digest": "c603a1a3e42aaa879b5c0c94406bdd79",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.5",
            "size": 19612,
            "upload_time": "2025-11-09T10:32:51",
            "upload_time_iso_8601": "2025-11-09T10:32:51.670224Z",
            "url": "https://files.pythonhosted.org/packages/c0/58/70d8765243fc16d2540f51f531a07eeba6a620ed21e3e652fd51bc75c747/async_icq-1.4.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-11-09 10:32:51",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "dasshit",
    "github_project": "async-icq",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "aiohttp",
            "specs": [
                [
                    ">=",
                    "3.8.1"
                ]
            ]
        },
        {
            "name": "aiologger",
            "specs": [
                [
                    ">=",
                    "0.6.1"
                ]
            ]
        },
        {
            "name": "aiosignal",
            "specs": [
                [
                    ">=",
                    "1.2.0"
                ]
            ]
        },
        {
            "name": "async-timeout",
            "specs": [
                [
                    ">=",
                    "4.0.2"
                ]
            ]
        },
        {
            "name": "attrs",
            "specs": [
                [
                    ">=",
                    "21.4.0"
                ]
            ]
        },
        {
            "name": "charset-normalizer",
            "specs": [
                [
                    ">=",
                    "2.0.10"
                ]
            ]
        },
        {
            "name": "frozenlist",
            "specs": [
                [
                    ">=",
                    "1.2.0"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    ">=",
                    "3.3"
                ]
            ]
        },
        {
            "name": "multidict",
            "specs": [
                [
                    ">=",
                    "5.2.0"
                ]
            ]
        },
        {
            "name": "yarl",
            "specs": [
                [
                    ">=",
                    "1.7.2"
                ]
            ]
        },
        {
            "name": "uvloop",
            "specs": [
                [
                    "==",
                    "0.16.0"
                ]
            ]
        },
        {
            "name": "ujson",
            "specs": [
                [
                    "==",
                    "5.1.0"
                ]
            ]
        }
    ],
    "test_requirements": [
        {
            "name": "aiohttp",
            "specs": [
                [
                    "==",
                    "3.12.14"
                ]
            ]
        },
        {
            "name": "aiologger",
            "specs": [
                [
                    "==",
                    "0.6.1"
                ]
            ]
        },
        {
            "name": "aiosignal",
            "specs": [
                [
                    "==",
                    "1.2.0"
                ]
            ]
        },
        {
            "name": "async-timeout",
            "specs": [
                [
                    "==",
                    "4.0.2"
                ]
            ]
        },
        {
            "name": "attrs",
            "specs": [
                [
                    "==",
                    "21.4.0"
                ]
            ]
        },
        {
            "name": "bleach",
            "specs": [
                [
                    "==",
                    "4.1.0"
                ]
            ]
        },
        {
            "name": "certifi",
            "specs": [
                [
                    "==",
                    "2024.7.4"
                ]
            ]
        },
        {
            "name": "charset-normalizer",
            "specs": [
                [
                    "==",
                    "2.0.10"
                ]
            ]
        },
        {
            "name": "colorama",
            "specs": [
                [
                    "==",
                    "0.4.4"
                ]
            ]
        },
        {
            "name": "docutils",
            "specs": [
                [
                    "==",
                    "0.18.1"
                ]
            ]
        },
        {
            "name": "frozenlist",
            "specs": [
                [
                    "==",
                    "1.2.0"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    "==",
                    "3.7"
                ]
            ]
        },
        {
            "name": "importlib-metadata",
            "specs": [
                [
                    "==",
                    "4.10.1"
                ]
            ]
        },
        {
            "name": "iniconfig",
            "specs": [
                [
                    "==",
                    "1.1.1"
                ]
            ]
        },
        {
            "name": "keyring",
            "specs": [
                [
                    "==",
                    "23.5.0"
                ]
            ]
        },
        {
            "name": "memory-profiler",
            "specs": [
                [
                    "==",
                    "0.60.0"
                ]
            ]
        },
        {
            "name": "multidict",
            "specs": [
                [
                    "==",
                    "5.2.0"
                ]
            ]
        },
        {
            "name": "packaging",
            "specs": [
                [
                    "==",
                    "21.3"
                ]
            ]
        },
        {
            "name": "pkginfo",
            "specs": [
                [
                    "==",
                    "1.8.2"
                ]
            ]
        },
        {
            "name": "pluggy",
            "specs": [
                [
                    "==",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "psutil",
            "specs": [
                [
                    "==",
                    "5.9.0"
                ]
            ]
        },
        {
            "name": "py",
            "specs": [
                [
                    "==",
                    "1.11.0"
                ]
            ]
        },
        {
            "name": "Pygments",
            "specs": [
                [
                    "==",
                    "2.15.0"
                ]
            ]
        },
        {
            "name": "pyparsing",
            "specs": [
                [
                    "==",
                    "3.0.7"
                ]
            ]
        },
        {
            "name": "pytest",
            "specs": [
                [
                    "==",
                    "6.2.5"
                ]
            ]
        },
        {
            "name": "pytest-asyncio",
            "specs": [
                [
                    "==",
                    "0.17.2"
                ]
            ]
        },
        {
            "name": "pytest-xdist",
            "specs": [
                [
                    "==",
                    "2.5.0"
                ]
            ]
        },
        {
            "name": "readme-renderer",
            "specs": [
                [
                    "==",
                    "32.0"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.32.4"
                ]
            ]
        },
        {
            "name": "requests-toolbelt",
            "specs": [
                [
                    "==",
                    "0.9.1"
                ]
            ]
        },
        {
            "name": "rfc3986",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "six",
            "specs": [
                [
                    "==",
                    "1.16.0"
                ]
            ]
        },
        {
            "name": "toml",
            "specs": [
                [
                    "==",
                    "0.10.2"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    "==",
                    "4.66.3"
                ]
            ]
        },
        {
            "name": "twine",
            "specs": [
                [
                    "==",
                    "3.7.1"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "==",
                    "2.5.0"
                ]
            ]
        },
        {
            "name": "webencodings",
            "specs": [
                [
                    "==",
                    "0.5.1"
                ]
            ]
        },
        {
            "name": "yarl",
            "specs": [
                [
                    "==",
                    "1.7.2"
                ]
            ]
        },
        {
            "name": "zipp",
            "specs": [
                [
                    "==",
                    "3.19.1"
                ]
            ]
        },
        {
            "name": "uvloop",
            "specs": [
                [
                    "==",
                    "0.16.0"
                ]
            ]
        },
        {
            "name": "ujson",
            "specs": [
                [
                    "==",
                    "5.1.0"
                ]
            ]
        }
    ],
    "lcname": "async-icq"
}
        
Elapsed time: 3.91799s