ribithon created by milad heidary
Project description
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)
✌ در آرزوی جهانی ...
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rubithon-1.1.1.tar.gz.
File metadata
- Download URL: rubithon-1.1.1.tar.gz
- Upload date:
- Size: 23.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17a830a390f2f0dd5c36306a43db9e216fd57e24dc8e7535f7f413a93dfbbeb2
|
|
| MD5 |
d3ee60e34da6bc5aa429ce3418d260e5
|
|
| BLAKE2b-256 |
acb49b4e2fbf3410875634cce5471fd72e47f89565490016b24780bd92e0897a
|
File details
Details for the file rubithon-1.1.1-py3-none-any.whl.
File metadata
- Download URL: rubithon-1.1.1-py3-none-any.whl
- Upload date:
- Size: 26.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df477a56169f1860da1f7c831e114d5cbdf4ce4eb91a47f0895da630fed743e1
|
|
| MD5 |
09f11ec72623bceacd7b37587c221951
|
|
| BLAKE2b-256 |
293084818b5921e29e111188b5e37d4e95e7deee2033bb1e96624dac31d52f52
|