Rubika Bot Library
Project description
Requirements
python 3.10+
Installation
$ pip install rubika-bot
Introduction
You will receive updates in receiveUpdate and receiveInlineMessage urls
-
receiveUpdate:
You'll get a request whenever user send text or tap a keypad
-
sample request body:
{ "inline_message": { "sender_id": "u0QFtn01dd26d72abc5c77b8e116cd79", "text": "custom text", "location": null, "aux_data": { "start_id": null, "button_id": "61f674bd0abcd57b5b816a7c" }, "message_id": "204216801381244279", "chat_id": "b0QFtabc1I02214b529f1d60c9ce5b08" } }
- sender_id is the unique ID of user
- text is the text of button
- button_id is the ID that you set for the button
- message_id is the unique ID of this message
- chat_id is the unique ID of this chat with user (You should use this value when you want to send him back anything)
-
-
receiveInlineMessage:
You'll get a request whenever user tap an inline keypad
-
sample request body:
{ "update": { "type": "NewMessage", "chat_id": "b0QFtn0C1I022abcd29f1d60c9ce5b08", "new_message": { "message_id": 204215121115944300, "text": "custom text", "time": "1643122902", "is_edited": false, "sender_type": "User", "sender_id": "u0QFtn0abcded727585c77b8e116cd79", "aux_data": { "start_id": null, "button_id": "61f674bd0abcd57b5b816a7c" } } } }
- type: can be NewMessage, StartedBot, StoppedBot
- text is the text of button
- button_id is the ID that you set for the button
- message_id is the unique ID of this message
- chat_id is the unique ID of this chat with user (You should use this value when you want to send him back anything)
-
And when you get request, you can use methods below for sending request to bot.
Usage
-
Get Your Bot Information
from rubika_bot.requests import get_me
from rubika_bot.models import Bot
bot: Bot = get_me(token=...)
-
Send Start Keypad
from rubika_bot.requests import send_message
from rubika_bot.models import Keypad, KeypadRow, Button
b1 = Button(id='100', type='Simple', button_text='Add Account')
b2 = Button(id='101', type='Simple', button_text='Edit Account')
b3 = Button(id='102', type='Simple', button_text='Remove Account')
keypad = Keypad(
rows=[
KeypadRow(buttons=[b1]),
KeypadRow(buttons=[b2, b3])
],
resize_keyboard=True,
on_time_keyboard=False
)
send_message(
token=...,
chat_id=...,
text='Welcome',
chat_keypad_type='New',
chat_keypad=keypad
)
-
Send Inline Keypad
from rubika_bot.requests import send_message
from rubika_bot.models import Keypad, KeypadRow, Button
b1 = Button(id='100', type='Simple', button_text='Add Account')
b2 = Button(id='101', type='Simple', button_text='Edit Account')
b3 = Button(id='102', type='Simple', button_text='Remove Account')
keypad = Keypad(
rows=[
KeypadRow(buttons=[b1]),
KeypadRow(buttons=[b2, b3])
],
)
send_message(
token=...,
chat_id=...,
text='Welcome',
inline_keypad=keypad
)
-
Send Message
from rubika_bot.requests import send_message
send_message(
token=...,
chat_id=...,
text='Hello World',
)
-
Send Poll
from rubika_bot.requests import send_poll
send_poll(
token=...,
chat_id=...,
question='Do you have any question?',
options=['yes', 'no']
)
-
Send Location
from rubika_bot.requests import send_location
send_location(
token=...,
chat_id=...,
latitude='35.759662741892626',
longitude='51.4036344416759'
)
-
Send Sticker
from rubika_bot.requests import send_sticker
send_sticker(
token=...,
chat_id=...,
sticker_id=...,
)
-
Send Sticker
from rubika_bot.requests import send_contact
send_contact(
token=...,
chat_id=...,
first_name='Ali',
last_name='Rn',
phone_number='09038754321'
)
-
Get Chat Information
from rubika_bot.requests import get_chat
from rubika_bot.models import Chat
chat: Chat = get_chat(
token=...,
chat_id=...,
)
-
Get Last 10 Updates
from rubika_bot.requests import get_updates
from rubika_bot.models import Update
updates, _ = get_updates(
token=...,
limit=10,
)
-
Forward Message
from rubika_bot.requests import forward_message
forward_message(
token=...,
from_chat_id=...,
message_id=...,
to_chat_id=...
)
-
Edit Message Text
from rubika_bot.requests import edit_message_text
edit_message_text(
token=...,
chat_id=...,
message_id=...,
text='New Message Text'
)
-
Edit Inline Keypad
from rubika_bot.requests import edit_message_keypad
from rubika_bot.models import Button, Keypad, KeypadRow
b1 = Button(id='100', type='Simple', button_text='Add Account')
b2 = Button(id='101', type='Simple', button_text='Edit Account')
b3 = Button(id='102', type='Simple', button_text='Remove Account')
new_keypad = Keypad(
rows=[
KeypadRow(buttons=[b1]),
KeypadRow(buttons=[b2, b3])
],
)
edit_message_keypad(
token=...,
chat_id=...,
message_id=...,
inline_keypad=new_keypad
)
-
Delete Message
from rubika_bot.requests import delete_message
delete_message(
token=...,
chat_id=...,
message_id=...,
)
TODO:
- Change the required python version from 3.10 to 3.8
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
rubika-bot-1.0.5.tar.gz
(8.1 kB
view hashes)
Built Distribution
Close
Hashes for rubika_bot-1.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 175a21ff45f156bd729fb1f77b2e3ab25c18240aa700449168fcac4e3fdd519b |
|
MD5 | 25436f932a6fa7d6438f9595e4ee032e |
|
BLAKE2b-256 | 4a92a0152e141af18f0d00d9f780676d2bc60de6309eb9e499c5d21b9de31f9a |