axisbot


Nameaxisbot JSON
Version 0.1.0 PyPI version JSON
download
home_pagehttps://github.com/axismessenger/axisbot
SummaryPython библиотека для ботов AxisMessenger (официальный API)
upload_time2025-07-09 10:35:06
maintainerNone
docs_urlNone
authorAxisMessenger Team
requires_python>=3.7
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # axisbot — Python библиотека для ботов AxisMessenger

## Установка

```bash
pip install axisbot  # (после публикации на PyPI)
```

## Быстрый старт (polling)

```python
from axisbot import AxisBot

bot = AxisBot("AxisBotABCDE:12345", base_url="https://your-messenger.com/api")

@bot.on_message
def handle_message(update):
    if "ping" in update.text:
        bot.send_message(update.chat_id, "pong!")
    else:
        bot.send_message(update.chat_id, f"Вы написали: {update.text}")

bot.polling()
```

## Webhook-режим

```python
from axisbot import AxisBot
from flask import Flask, request

bot = AxisBot("AxisBotABCDE:12345", base_url="https://your-messenger.com/api")
app = Flask(__name__)

@bot.on_message
def handle(update):
    bot.send_message(update.chat_id, "Webhook OK!")

@app.route("/webhook", methods=["POST"])
def webhook():
    bot.webhook_handler(request.json)
    return "ok"

if __name__ == "__main__":
    bot.set_webhook("https://your-server.com/webhook")
    app.run(port=8080)
```

## Кнопки и вложения

```python
from axisbot import AxisBot, MessageButton

bot = AxisBot("AxisBotABCDE:12345", base_url="https://your-messenger.com/api")

@bot.on_message
def handle(update):
    if update.text == "/buttons":
        buttons = [[MessageButton("Кнопка 1", "btn1"), MessageButton("Кнопка 2", "btn2")]]
        bot.send_message(update.chat_id, "Выберите:", buttons=buttons)
    elif update.button_data:
        bot.send_message(update.chat_id, f"Вы нажали: {update.button_data}")
    elif update.attachments:
        for att in update.attachments:
            bot.send_message(update.chat_id, f"Получен файл: {att.filename}")

bot.polling()
```

## Документация

- [Полная документация по AxisMessenger Bot API](../docs/bot_api.md)

## Лицензия
MIT 

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/axismessenger/axisbot",
    "name": "axisbot",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": null,
    "author": "AxisMessenger Team",
    "author_email": "support@axismessenger.app",
    "download_url": "https://files.pythonhosted.org/packages/60/3d/213a66a86814abbaafce46222a1ccb34f6a9bb4103822c64d49bcb51b0f2/axisbot-0.1.0.tar.gz",
    "platform": null,
    "description": "# axisbot \u2014 Python \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0431\u043e\u0442\u043e\u0432 AxisMessenger\r\n\r\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\r\n\r\n```bash\r\npip install axisbot  # (\u043f\u043e\u0441\u043b\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043d\u0430 PyPI)\r\n```\r\n\r\n## \u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u0442\u0430\u0440\u0442 (polling)\r\n\r\n```python\r\nfrom axisbot import AxisBot\r\n\r\nbot = AxisBot(\"AxisBotABCDE:12345\", base_url=\"https://your-messenger.com/api\")\r\n\r\n@bot.on_message\r\ndef handle_message(update):\r\n    if \"ping\" in update.text:\r\n        bot.send_message(update.chat_id, \"pong!\")\r\n    else:\r\n        bot.send_message(update.chat_id, f\"\u0412\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438: {update.text}\")\r\n\r\nbot.polling()\r\n```\r\n\r\n## Webhook-\u0440\u0435\u0436\u0438\u043c\r\n\r\n```python\r\nfrom axisbot import AxisBot\r\nfrom flask import Flask, request\r\n\r\nbot = AxisBot(\"AxisBotABCDE:12345\", base_url=\"https://your-messenger.com/api\")\r\napp = Flask(__name__)\r\n\r\n@bot.on_message\r\ndef handle(update):\r\n    bot.send_message(update.chat_id, \"Webhook OK!\")\r\n\r\n@app.route(\"/webhook\", methods=[\"POST\"])\r\ndef webhook():\r\n    bot.webhook_handler(request.json)\r\n    return \"ok\"\r\n\r\nif __name__ == \"__main__\":\r\n    bot.set_webhook(\"https://your-server.com/webhook\")\r\n    app.run(port=8080)\r\n```\r\n\r\n## \u041a\u043d\u043e\u043f\u043a\u0438 \u0438 \u0432\u043b\u043e\u0436\u0435\u043d\u0438\u044f\r\n\r\n```python\r\nfrom axisbot import AxisBot, MessageButton\r\n\r\nbot = AxisBot(\"AxisBotABCDE:12345\", base_url=\"https://your-messenger.com/api\")\r\n\r\n@bot.on_message\r\ndef handle(update):\r\n    if update.text == \"/buttons\":\r\n        buttons = [[MessageButton(\"\u041a\u043d\u043e\u043f\u043a\u0430 1\", \"btn1\"), MessageButton(\"\u041a\u043d\u043e\u043f\u043a\u0430 2\", \"btn2\")]]\r\n        bot.send_message(update.chat_id, \"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435:\", buttons=buttons)\r\n    elif update.button_data:\r\n        bot.send_message(update.chat_id, f\"\u0412\u044b \u043d\u0430\u0436\u0430\u043b\u0438: {update.button_data}\")\r\n    elif update.attachments:\r\n        for att in update.attachments:\r\n            bot.send_message(update.chat_id, f\"\u041f\u043e\u043b\u0443\u0447\u0435\u043d \u0444\u0430\u0439\u043b: {att.filename}\")\r\n\r\nbot.polling()\r\n```\r\n\r\n## \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f\r\n\r\n- [\u041f\u043e\u043b\u043d\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e AxisMessenger Bot API](../docs/bot_api.md)\r\n\r\n## \u041b\u0438\u0446\u0435\u043d\u0437\u0438\u044f\r\nMIT \r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Python \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0431\u043e\u0442\u043e\u0432 AxisMessenger (\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 API)",
    "version": "0.1.0",
    "project_urls": {
        "Homepage": "https://github.com/axismessenger/axisbot"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6a696d9775a761de5b1f87d92126ddd0a9a96b854d503c045d42fdf36411e2e7",
                "md5": "2022f683d1aafc3a412d50ea6e8f1181",
                "sha256": "ec8a75dccd62bfbf312f10b247a69396d5794eca8a99cbf28e959c201324cbbf"
            },
            "downloads": -1,
            "filename": "axisbot-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2022f683d1aafc3a412d50ea6e8f1181",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 1992,
            "upload_time": "2025-07-09T10:35:05",
            "upload_time_iso_8601": "2025-07-09T10:35:05.451670Z",
            "url": "https://files.pythonhosted.org/packages/6a/69/6d9775a761de5b1f87d92126ddd0a9a96b854d503c045d42fdf36411e2e7/axisbot-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "603d213a66a86814abbaafce46222a1ccb34f6a9bb4103822c64d49bcb51b0f2",
                "md5": "3da1de7828740dbb8d8a4777272ef02e",
                "sha256": "2e949bac14505f38dc57a04bfcb7d17e0c85b7cfee0cbb0640ae17299b6dad3e"
            },
            "downloads": -1,
            "filename": "axisbot-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "3da1de7828740dbb8d8a4777272ef02e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 2070,
            "upload_time": "2025-07-09T10:35:06",
            "upload_time_iso_8601": "2025-07-09T10:35:06.869250Z",
            "url": "https://files.pythonhosted.org/packages/60/3d/213a66a86814abbaafce46222a1ccb34f6a9bb4103822c64d49bcb51b0f2/axisbot-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-09 10:35:06",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "axismessenger",
    "github_project": "axisbot",
    "github_not_found": true,
    "lcname": "axisbot"
}
        
Elapsed time: 1.29415s