0 purchases
rubithon 1.1.1
home
rubithon for rubika client, python 3 | milad heidari
document
•
github
Rubika Client for python 3
install
pip install rubithon
exmaple
import asyncio
from rubithon import Client, models, handlers
async def main():
async with Client(session='rubika') as client:
@client.on(handlers.MessageUpdates(models.author_guid() == client._guid))
async def updates(update):
await update.reply('`hello` __from__ **rubika**')
await client.run_until_disconnected()
asyncio.run(main())
methods class
You can find the list of methods in the methods.json
The list of methods is divided into 9 groups, which are:
users,
chats,
extras,
groups,
messages,
channels,
conracts,
settings,
stickers,
authorisations
The output of all methods is a dictionary that you must give to the call method
Example
from rubithon import Client, methods
client = Client(...)
result = await Client(methods.users.GetUserInfo(user_guid='...'))
Example to get the list of methods of a group
from rubithon import methods
print(dir(methods.users))
Example of getting the list of arguments of a method
from rubithon import methods
print(methods.users.SetBlockUser)
Raises
TypeError: if the data type is inconsistent with the allowed values types
ValueError: if the value does not exist in the allowed list
handlers class
Including 5 classes (may be increased) which are:
ChatUpdates,
MessageUpdates,
ShowActivities,
ShowNotifications,
RemoveNotifications
These are used to filter updates, whose names indicate what type of update they receive.
The inputs of these classes are models, If __any is true, OR operator is placed between the filters, otherwise AND
Filters can be functions Example
from rubithon import handlers
async def custom_filter(update, result):
return update.raw_text
handlers.MessageUpdates(custom_filter)
Tips
Filters can be functions
Between the filters you can use the operators |, &, !=, ==, >, >=, <, <= use
To use the operators, the filter (model) must be called
models class
Including 3 classes, which are:
Operator,
BaseModels,
RegexModel
You can use all the attributes of the update, the most important of which have already been written
Examples
async def custom_filter(update, result):
return result
handlers.MessageUpdates('hi' != models.raw_text())
handlers.MessageUpdates(custom_filter != models.raw_text())
handlers.MessageUpdates(custom_filter == models.time(func=int))
handlers.MessageUpdates(models.RegexModel(pattern=r'hi'))
Multiple Filters (AND)
handlers.MessageUpdates(
(15 < models.time(func=int) > 10)
&
models.RegexModel(pattern=r'hi')
&
models.is_private
)
# or
handlers.MessageUpdates(
15 < models.time(func=int) > 10,
models.RegexModel(pattern=r'hi'),
models.is_private
)
Multiple Filters (OR)
handlers.MessageUpdates(
models.is_private
|
(models.author_guid() == 'GUID')
)
# or
handlers.MessageUpdates(
models.is_private,
models.author_guid() == 'GUID',
__any=True
)
Get updates (add handler)
async with Client(session='rubika') as client:
@client.on(handler)
async def updates(update):
pass
# or
async with Client(session='rubika') as client:
async def updates(update):
pass
client.add_handler(updates, handler)
✌ در آرزوی جهانی ...
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.