Skip to main content

KenarBot

PyPI version License: MIT Python Versions codecov

A Python SDK for creating and managing Kenar messaging bots. KenarpyBot provides a simple, intuitive interface inspired by teleBot's syntax, making it easy for developers familiar with Telegram bot development to create bots for the Kenar platform.

What is Kenar Divar?

Kenar Divar is Divar's official platform that provides APIs for developers to create plugins and integrations with Divar. These APIs enable functionality like sending and receiving messages, editing posts, patching add-ons on posts and etc... , you should also checkput Kenar Divar Panel

Features

  • 🚀 Simple, teleBot-inspired syntax
  • 📨 Easy message handling and routing
  • 🔄 Built-in support for Kenar's messaging endpoints
  • ⚡ Flask-based webhook handling
  • ⚙️ Straightforward bot configuration

Examples

Installation

pip install kenarbot

Quick Start Example

Here's a simple example demonstrating how to create a bot that responds to messages containing "hello":

import os

from kenarBot import KenarBot
from kenarBot.types import ChatBotMessage

# Initialize your API key from Kenar platform
DIVAR_API_KEY = os.getenv("DIVAR_API_KEY")
DIVAR_IDENTIFICATION_KEY = os.getenv("DIVAR_IDENTIFICATION_KEY")

# Create a bot instance
bot = KenarBot(DIVAR_IDENTIFICATION_KEY, "/webhook", DIVAR_API_KEY)

# Define a message handler that responds to messages containing "hello"
@bot.message_handler(regexp="hello")
def handle_hello(chatbot_message: ChatBotMessage):
    # Send a response back to the same conversation
    bot.send_message(chatbot_message.conversation_id, f"Hi, my name is AmazingKenarBot")

if __name__ == "__main__":
    # Start the bot
    bot.run()

This example shows:

  • How to initialize the bot with your API key
  • How to create a message handler using decorators
  • How to respond to specific messages using regular expressions
  • How to send messages back to conversations

Key Components:

  1. Bot Initialization:

    • Create a KenarBot instance with your app name, webhook path, and API key
    • The webhook path is where your bot will receive updates
  2. Message Handler:

    • Use the @bot.message_handler decorator to define message handlers
    • The regexp parameter allows you to filter messages based on regular expressions
    • Other handler options are available (commands, content types, etc.)
  3. Sending Messages:

    • Use bot.send_message() to send responses
    • Requires the conversation ID and the message text
  4. Running the Bot:

    • Call bot.run() to start the bot
    • This will start a Flask server to handle incoming webhook requests

Important Notes:

  • Keep your API key secure and never commit it to version control
  • Consider using environment variables for sensitive data
  • The bot runs on Flask, so it needs to be hosted on a server accessible to Kenar

Documentation

Available Methods

  • bot.send_message(conversation_id, text): Send a message to a conversation
  • bot.message_handler(regexp=""): Decorator for handling messages matching a regex pattern
  • bot.run(): Start the bot's webhook server

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

Acknowledgments

Author

Mobin Pourabedini (@Mobin-Pourabedini)


Made with ❤️ for the Kenar community

Metadata

Release files for kenarBot 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kenarBot 0.1.1
File Size Uploaded Provenance Actions
kenarbot-0.1.1.tar.gz 9.6 kB Without provenance Details for kenarbot-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for kenarBot 0.1.1
File Interpreter ABI Platform Actions
kenarbot-0.1.1-py3-none-any.whl Python 3 none any Details for kenarbot-0.1.1-py3-none-any.whl

Total release size: 18.7 kB

Release files / kenarbot-0.1.1.tar.gz

Download URL kenarbot-0.1.1.tar.gz
Size 9.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c8b0b73bbcac1ae61fb824c1f095b30c5796f771ced68aa0c8032fbe50d292c4
BLAKE2b-256 checksum
How to use checksums
ca5526322638bcd96b8bd028170ab55f8d3b6930d2dcd2ced579f5b761b1a7c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.16

Release files / kenarbot-0.1.1-py3-none-any.whl

Download URL kenarbot-0.1.1-py3-none-any.whl
Size 9.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2e9bdb864b50c8626241623ed34d77540041caba802beefe90dbffb38652baf7
BLAKE2b-256 checksum
How to use checksums
95e7cad5ed1c8a60089aadd91f79fec37f58b7556c50d8ccbdc2816f7528541d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.16

Security for kenarBot 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page