Skip to main content

Bale bot python

Build Status

Python SDK and samples for Bale bot messenger.

Register for an Access Token

You'll need to create your bot by @Bot_Father. Bot_Father gives you a Token to start.

Installation

pip install -r requirements.txt

Usage

import asyncio

from balebot.filters import *
from balebot.handlers import MessageHandler, CommandHandler
from balebot.models.messages import *
from balebot.updater import Updater

updater = Updater(token="Bot_token",
                  loop=asyncio.get_event_loop())
bot = updater.bot
dispatcher = updater.dispatcher

Note: You need to set Config.py if you want to use the logger class

Simple communication with client

Allows you to hear from client and answer.

@dispatcher.message_handler(filters=TextFilter(keywords=["hello"]))  # filter text the client enter to bot
def hear(bot, update):
    message = TextMessage('Hello')
    user_peer = update.get_effective_user()
    bot.send_message(message, user_peer, success_callback=success, failure_callback=failure)
Sending a simple voice message:

Note:You should upload the voice file first.

Allows you to send a voice message. (You can also send a document in the same way).

def send_voice(bot, update):
    user_peer = update.get_effective_user()
    v_message = VoiceMessage(file_id=file_id, access_hash=access_hash, name="Hello", file_size='259969',
                                 mime_type="audio/mpeg",
                                 duration=20, file_storage_version=1)
    bot.send_message(v_message, user_peer, success_callback=success, failure_callback=failure)
Sending a generic template message:

Note:Generic Template Messages

Allows you to add cool text buttons to a general message.

def ask_question(bot, update):
    general_message = TextMessage("a message")
    btn_list = [TemplateMessageButton(text="yes", value="yes", action=0),
                TemplateMessageButton(text="no", value="no", action=0)]
    template_message = TemplateMessage(general_message=general_message, btn_list=btn_list)
    bot.send_message(template_message, user_peer, success_callback=success, failure_callback=failure)
Sending a generic purchase message:

Allows you send a purchase message. Clients can pay the money requested by the message by pressing "pay" button.

@dispatcher.message_handler(PhotoFilter())
def purchase_message(bot, update):
    message = update.get_effective_message()
    user_peer = update.get_effective_user()
    first_purchase_message = PurchaseMessage(msg=message, account_number=6037991067471130, amount=10,
                                             money_request_type=MoneyRequestType.normal)
    bot.send_message(first_purchase_message, user_peer, success_callback=success, failure_callback=failure)
    dispatcher.finish_conversation(update)

visit bale-developers for more information

Changelog

Build Status

[1.7.14] - 2019-03-02

Added

  • exact_keywords argument to text_filter and template_response_filter
  • termination signal handling
  • sengin to channel by nickName

fixed

  • code examples
  • base_url added to updater arguments
  • set default group shield to off

[1.6.12] - 2019-01-08

Added

  • get_quoted_message and get_quoted_sender_peer_id to FatSeqUpdate for getting replied and forwarded messages
  • default photo and message type limitation for purchase message
  • get_receipt function to BankMessage for getting receipt info as a named tuple
  • get_receipt and get_quoted_message examples

fixed

  • filters problem
  • handle monitoring hash function problem
  • some code examples

[1.5.11] - 2019-01-03

Added

  • added validator parameter to filters as a callable function to validate the inputs
  • added text field among with text_message filed to template response message for unifying with other classes text field

fixed

  • state holder problem at stop

[1.4.10] - 2018-12-23

Added

  • Quoted Message Handler
  • default action and value for template_message_button
  • group_shield to config for preventing bot to handle updates from group_peer
  • saving bot state_machine to redis db through state_holder and redis configs in config
  • template_message, location_message and contact_message load_from_json

fixed

  • bot.send_document

[1.3.9] - 2018-12-05

Added

  • get_response method in response class
  • IPG payment message
  • healthy socket connection

[1.2.8] - 2018-09-30

Added

  • Send photo message easier than the past.
  • Send Document message easier than the past.

fixed

  • network connection

Release files for balebot 1.8.15

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

Source distribution (sdist)

Source distribution for balebot 1.8.15
File Size Uploaded
balebot-1.8.15.tar.gz 35.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for balebot 1.8.15
File Interpreter ABI Platform
balebot-1.8.15-py3-none-any.whl Python 3 none any Details

Total release size: 124.8 kB

Release files / balebot-1.8.15.tar.gz

Download URL balebot-1.8.15.tar.gz
Size 35.0 kB
Tags Source
SHA-256 checksum
How to use checksums
4890e3fcf9aac98a5afb297793aebf83e1a64f14fc9e02c593b866b1935714d1
BLAKE2b-256 checksum
How to use checksums
cea9d9d3add3403a100f02072dff89b93f0699108215b1f8bc1d598c446429dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.22.0 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.19.5 CPython/3.5.2

Release files / balebot-1.8.15-py3-none-any.whl

Download URL balebot-1.8.15-py3-none-any.whl
Size 89.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
436d33feba861b6ca341f8683832cb013275737c78dc594083b95989669a75f4
BLAKE2b-256 checksum
How to use checksums
5add41698e1f7f55cf7ccff0c6e9e511b3f3cdf011022dae0f5ac103649dda12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.22.0 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.19.5 CPython/3.5.2

Release history Release notifications | RSS feed

This release

1.8.15 This release

2 release files

1.4.10

2 release files

1.3.9

2 release files

1.2.8

2 release files

1.2.7

2 release files

1.2.5

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.1.3

1 release file

1.1.2

1 release file

1.1.1

1 release file

1.0.1

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

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