Skip to main content

Iranian rubx library - rubika client module

Project description

RuBx
Rubika Client API Framework | Python 3
Document Telegram Rubika

Rubx | Rubika Client

Messenger Methods:

from rb import RubikaClient # rb: is main package

with RubikaClient('session', platform='rubx',) as client: # set the proxy, api client, api version, ...
   client.send_message('Hey There!', 'username') # username, chat id, prviate links

Or

from rb import RubikaClient

def respond(callable, params) -> dict:
    return callable(**params)

with RubikaClient(...) as client:
    print(
        respond(
            client.send_message,
            dict(
                chat_id=...,
                text='**Hey** @User@  __My__ ``Friend`` ~~How r u?~~'
                mention_user_ids=['u0...']),
            )
        )

    # for emoji
    # print(respond(client.send_message, dict(chat_id=..., sticker=True, emoji_character='😜', sticker_id=..., )))

Or

# shorcuts

from rb import RubikaClient
from rb.responses import Self

with RubikaClient(...) as client:
    print(client == Self.Text(text='Hey', chat_id='chat-guid')) # to send a message
    
    # print(client * 'chat-guid') # to get chat info
    # print(client['chat-guid']) # to get a message from chat
    # client['send_message'] = dict(text='Hey there', chat_id='chat-guid') # example to usage methods with setitem
    # use the all operators

if you forget the method name

from rb import RubikaClient

with RubikaClient('session') as client:
    print(client.getChatInfo(client, 'chat-guid')) # GetChatInfo, GETchatINFO, or ...
    # normally: client.get_chat_info('chat-guid')

Rubino Methods:

from rb import RubinoClient

with RubinoClient('session') as app:
    app.create_page(...)

Handler Methods:

Handler Examples

from rb import Handler, EventBuilder, Filters

client = Handler(...)

# handlers: HandShake, ChatsUpdates, MessagesUpdates
client.add_event_handling(func='ChatsUpdates', events=dict(get_chats=True, get_messages=True, pattern=('/start', 'Hey from rubx lib.')))

@client.handler
def hello(app, message: EventBuilder, event):
    # to print message: print(message) or print(event)
    # to use all methods: app.create_objcet_voice_chat(...)
    message.respond(message.pattern, Filters.author) # filters: chat, group, channel, author

Or

from rb import Handler, Filters, Performers

client = Handler('session')

def event(message):
    message.respond(message.pattern, Filters.author)
        
client.add_event_handling(func=Performers.hand_shake, events=dict(get_chats=True, get_messages=True, pattern=('/start', 'Hi from rubx lib.')))
client.starting = True
client.command_handler(event)

To using HandShake(WebSocket):

from rb import Handler, EventBuilder, Filters, Performers

client = Handler('abc...', 'u0...')
client.add_event_handling(func=Performers.hand_shake, events=dict(get_messages=True, get_chats=False))
@client.handler
def update(app, update, event):
    if update.message.text == '/start':
        message.reply(text='Hello my dear', chat_id=update.message.author_object_guid, reply_to_message_id=update.message.message_id)
        # or using repond: message.respond('Hey!', Filters.author)

Async Methods:

from rb import Client # Client: asycn reader

async def run(*args):
    async with Client(...) as client:
        result = await client.start(client.send_message, 'Hey! from rubx', 'chat-guid')
        print(result)

Client.run(run)

Bot API Methods:

example for api methods send message text

from rb import BotAPI

with BotAPI(__name__, 'token') as app:
    app.send_message('chat-id', 'Hey!')

Handler the Bot API

from rb import BotAPI

with BotAPI(__name__, 'token') as app:
    app.add_event_handling((r'\w{1}start .+', 'Hello'))
    
    @app.handler
    def update(methods, update, event):
        ...

Rubx - ⚡

  • Now the best ‍sync‍ and asycn library for Rubika's was developed
  • ⭐️ Thanks everyone who has starred the project, it means a lot!

Rubx is an sync Python 3 rubika library to interact with Rubika's API as a user or through a bot account (self API alternative).

🔴 If you have code using Rubx before its 8.0.5 version, you must
read docs to learn how to migrate. 💡

What is this?

🇮🇷 - Rubika is a popular messaging application. This library is meant to make it easy for you to write Python programs that can interact with Rubika. Think of it as a wrapper that has already done the heavy job for you, so you can focus on developing an application. This module provides all the desired methods with a very simple and beautiful user interface and has a very high speed. Give your employer the best experience of a project.

Updates - 🌀 :

- Complete documentation and optimization.

INSTALLING

pip install rubx

UPGRADE

pip install rubx --upgrade

self rubika client with python3 RUBX module


Python 3|2.7|3.x

License

Creator

Telegram


issues forks version stars license icon


special:

  • [RUBX] > a library 'official' for rubika messnger with client server.
  • [RUBX] > use api's rubika, and full methods.

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

rubx-10.6.9.tar.gz (69.4 kB view hashes)

Uploaded Source

Built Distribution

rubx-10.6.9-py3-none-any.whl (74.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page