# Telegrinder
Framework for effective and reliable telegram bot building.
Still in development.
* Type hinted
* Customizable and extensible
* Ready to use scenarios and rules
* Fast models built on msgspec
* Both low-level and high-level API
# Getting started
Install using pip:
```
pip install telegrinder
```
Using poetry:
```
poetry add telegrinder
```
Install from github:
```
pip install -U https://github.com/timoniq/telegrinder/archive/dev.zip
```
```
poetry add git+https://github.com/timoniq/telegrinder.git#dev
```
Basic example:
```python
from telegrinder import API, Message, Telegrinder, Token
from telegrinder.modules import logger
from telegrinder.rules import Text
api = API(token=Token("123:token"))
bot = Telegrinder(api)
logger.set_level("INFO")
@bot.on.message(Text("/start"))
async def start(message: Message):
me = (await api.get_me()).unwrap()
await message.answer(
f"Hello, {message.from_user.full_name}! I'm {me.full_name}."
)
bot.run_forever()
```
# Documentation
[Readthedocs](https://telegrinder.readthedocs.io)
# Community
Join our [telegram forum](https://t.me/botoforum).
# [Contributing](https://github.com/timoniq/telegrinder/blob/main/contributing.md)
# License
Telegrinder is [MIT licensed](./LICENSE)
Copyright © 2022-2024 [timoniq](https://github.com/timoniq)\
Copyright © 2024 [luwqz1](https://github.com/luwqz1)
Raw data
{
"_id": null,
"home_page": "https://github.com/timoniq/telegrinder",
"name": "telegrinder",
"maintainer": "luwqz1",
"docs_url": null,
"requires_python": "<4.0,>=3.11",
"maintainer_email": "howluwqz1@gmail.com",
"keywords": "asyncio, api schema, async, bot building, bot api, custom rules, telegram, telegram bot api framework, telegrinder, middleware, composition",
"author": "timoniq",
"author_email": "tesseradecades@mail.ru",
"download_url": "https://files.pythonhosted.org/packages/aa/f2/078a3ed7b9e2f870ae02fe433a6582044373f4064efceb094181f86a3d81/telegrinder-0.1.dev165.tar.gz",
"platform": null,
"description": "# Telegrinder\n\nFramework for effective and reliable telegram bot building.\n\nStill in development.\n\n* Type hinted\n* Customizable and extensible\n* Ready to use scenarios and rules\n* Fast models built on msgspec\n* Both low-level and high-level API\n\n# Getting started\n\nInstall using pip:\n\n```\npip install telegrinder\n```\n\nUsing poetry:\n\n```\npoetry add telegrinder\n```\n\nInstall from github:\n\n```\npip install -U https://github.com/timoniq/telegrinder/archive/dev.zip\n```\n\n```\npoetry add git+https://github.com/timoniq/telegrinder.git#dev\n```\n\nBasic example:\n\n```python\nfrom telegrinder import API, Message, Telegrinder, Token\nfrom telegrinder.modules import logger\nfrom telegrinder.rules import Text\n\napi = API(token=Token(\"123:token\"))\nbot = Telegrinder(api)\nlogger.set_level(\"INFO\")\n\n\n@bot.on.message(Text(\"/start\"))\nasync def start(message: Message):\n me = (await api.get_me()).unwrap()\n await message.answer(\n f\"Hello, {message.from_user.full_name}! I'm {me.full_name}.\"\n )\n\n\nbot.run_forever()\n```\n\n# Documentation\n\n[Readthedocs](https://telegrinder.readthedocs.io)\n\n# Community\n\nJoin our [telegram forum](https://t.me/botoforum).\n\n# [Contributing](https://github.com/timoniq/telegrinder/blob/main/contributing.md)\n\n# License\n\nTelegrinder is [MIT licensed](./LICENSE) \nCopyright \u00a9 2022-2024 [timoniq](https://github.com/timoniq)\\\nCopyright \u00a9 2024 [luwqz1](https://github.com/luwqz1)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Framework for effective and reliable async telegram bot building.",
"version": "0.1.dev165",
"project_urls": {
"Homepage": "https://github.com/timoniq/telegrinder",
"Repository": "https://github.com/timoniq/telegrinder"
},
"split_keywords": [
"asyncio",
" api schema",
" async",
" bot building",
" bot api",
" custom rules",
" telegram",
" telegram bot api framework",
" telegrinder",
" middleware",
" composition"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7208a81e06e45864f55313b657bf3e66d25c46bc65903db97a82792c4cd58e77",
"md5": "bf7338428024f6b47116dedd5b80cbf9",
"sha256": "7bd5e44e0b28125299a65d4e381b26aee24d838da2a3210106601642229839e5"
},
"downloads": -1,
"filename": "telegrinder-0.1.dev165-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bf7338428024f6b47116dedd5b80cbf9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.11",
"size": 181432,
"upload_time": "2024-04-27T19:58:16",
"upload_time_iso_8601": "2024-04-27T19:58:16.918204Z",
"url": "https://files.pythonhosted.org/packages/72/08/a81e06e45864f55313b657bf3e66d25c46bc65903db97a82792c4cd58e77/telegrinder-0.1.dev165-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "aaf2078a3ed7b9e2f870ae02fe433a6582044373f4064efceb094181f86a3d81",
"md5": "27342778fb4963230a2217e53066df30",
"sha256": "58a11eb87aa916fd67422947f2c68d93049bb3c7910cae9e37c90b5080bbddfc"
},
"downloads": -1,
"filename": "telegrinder-0.1.dev165.tar.gz",
"has_sig": false,
"md5_digest": "27342778fb4963230a2217e53066df30",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.11",
"size": 138105,
"upload_time": "2024-04-27T19:58:19",
"upload_time_iso_8601": "2024-04-27T19:58:19.656656Z",
"url": "https://files.pythonhosted.org/packages/aa/f2/078a3ed7b9e2f870ae02fe433a6582044373f4064efceb094181f86a3d81/telegrinder-0.1.dev165.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-27 19:58:19",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "timoniq",
"github_project": "telegrinder",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "telegrinder"
}