Skip to main content

Fast Rub

Fast Rub ⚡

سریع‌ترین کتابخانهٔ ساخت ربات روبیکا برای پایتون

PyPI Python License


✨ ویژگی‌های کلیدی

  • سرعت بالا — استفاده از httpx با HTTP/2 و معماری غیرهمزمان (async)
  • 🧠 WaitManager — مدیریت هوشمند ترافیک برای جلوگیری از برخورد با محدودیت نرخ روبیکا
  • 🔍 بیش از ۲۰۰ فیلتر — آماده برای پیام، دکمه، فرستنده، نوع چت و...
  • 💬 مکالمهٔ چندمرحله‌ای — بدون درگیری با منطق پیچیده
  • 🪶 فوق‌العاده سبک — کاملا بهینه شده
  • 🔌 Middleware و افزونه‌پذیری — معماری قابل توسعه

📥 نصب

pip install fastrub

در صورت قطع شدن میرور اصلی PyPI:

pip install -i https://mirror-pypi.runflare.com/simple fastrub

🚀 شروع سریع

دریافت پیام‌ها - پولینگ

import asyncio
from fast_rub import Client, filters
from fast_rub.types import Update

async def main():
    bot = Client("my_bot")

    await bot.start()
    
    @bot.on_message(filters.text("سلام"))
    async def say_hello(msg: Update):
        await msg.reply("**سلام** از طرف فست روب ⚡")
    
    await bot.run()

asyncio.run(main())

کلیک روی دکمه‌های inline

import asyncio
from fast_rub import Client
from fast_rub.types import UpdateButton

async def main():
    bot = Client("my_bot")

    await bot.start()
    
    @bot.on_button()
    async def button_click(msg: UpdateButton):
        await msg.send_text(f"دکمهٔ {msg.button_id} فشرده شد")
    
    await bot.run()

asyncio.run(main())

🧠 مدیریت هوشمند ترافیک (WaitManager)

یکی از قدرتمندترین بخش‌های فست روب WaitManager است. این ماژول با ردیابی تعداد درخواست‌های شما در کانال‌های جداگانه (ارسال، بن، فوروارد، آپلود و...) و در بازه‌های زمانی مشخص، به‌صورت خودکار فاصلهٔ زمانی مورد نیاز قبل از هر درخواست را محاسبه می‌کند تا ربات شما بدون برخورد با محدودیت نرخ روبیکا، با حداکثر سرعت ایمن کار کند.

یک مثال ساده

from fast_rub import WaitManager

# تنظیم پارامترهای ترافیک
wm = WaitManager(
    low_traffic=60,       # ترافیک کم: تا ۶۰ درخواست در هر پنجرهٔ زمانی
    medium_traffic=100,   # ترافیک متوسط: ۶۰ تا ۱۰۰ درخواست
    low_wait=0.0,         # بدون تأخیر در ترافیک کم
    medium_wait=1.0,      # یک ثانیه تأخیر در ترافیک متوسط
    high_wait=3.0,        # سه ثانیه تأخیر در ترافیک بالا
    time_window=60.0,     # اندازهٔ پنجرهٔ زمانی (ثانیه)
    per_chat=True,        # محاسبه به‌ازای هر چت
)

# قبل از ارسال پیام، تأخیر لازم را بگیرید
delay = wm.get_time(channel="sending", chat_id=chat_id)
await asyncio.sleep(delay)

# پس از ارسال، ترافیک را ثبت کنید
wm.add_traffic(channel="sending", chat_id=chat_id)

کانال‌های قابل ردیابی

می‌توانید برای هر نوع عملیات یک کانال جداگانه تعریف کنید:

· sending (ارسال پیام) · banning (اخراج) · forwarding (بازنشر) · uploading (آپلود) · editing (ویرایش) · deleting (حذف)


⌨️ ساختن کیبورد

کیبورد معمولی (Reply)

from fast_rub.button import KeyPad

keypad = KeyPad()
keypad.append(keypad.simple("btn_1", "دکمه یک"))
keypad.append(keypad.simple("btn_2", "دکمه دو"), keypad.simple("btn_3", "دکمه سه"))

await msg.reply("لطفاً انتخاب کنید:", keypad=keypad.build())

کیبورد شیشه‌ای (Inline)

keypad.append(keypad.simple("callback_1", "کلیک کن"))

await msg.reply("انتخاب کنید:", inline_keypad=keypad.build())

🔍 فیلترها

فست روب با بیش از ۲۰۰ فیلتر آماده ارائه می‌شود:

from fast_rub import filters

@bot.on_message(filters.text("تست"))
async def handler(msg: Update):
    ...

ترکیب فیلترها:

· filters.and_filter(f1, f2) — هر دو شرط برقرار باشد · filters.or_filter(f1, f2) — حداقل یکی برقرار باشد · filters.not_filter(f1) — شرط برقرار نباشد

فیلتر سفارشی(اسنک و سینک)

class MyFilter(filters.Filter):
    def __call__(self, update: Update) -> bool:
        return "خاص" in update.text

@bot.on_message(MyFilter())
async def handler(msg: Update):
    ...

📁 ساختار پروژه

fast_rub/
├── core/           # هستهٔ فریم‌ورک (کلاینت، میدلور، پلاگین‌ها و...)
├── pyrubi/         # یوزر بات (fork از کتابخانهٔ pyrubi)
├── types/          # تایپ‌های Update، Message، Button و...
├── utils/          # WaitManager، فیلترها، کش، لاگر و...
├── db/             # رابط پایگاه داده
├── button/         # ابزار ساخت کیبورد
└── network/        # تنظیمات شبکه و HTTP

📚 مستندات کامل

· مستندات رسمی - سایت اصلی · مستندات رسمی - گیتهاب

· گیت‌هاب

· صفحهٔ PyPI


⚠️ نکته

بخش pyrubi در این کتابخانه، فورکی از پروژهٔ AliGanji1/pyrubi است که برای قسمت یوزر بات این پروژه استفاده شده


ساخته‌شده با ❤️ توسط سید محمد حسین موسوی رجا - OandONE

```

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastrub-5.0.5.tar.gz (110.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastrub-5.0.5-py3-none-any.whl (127.7 kB view details)

Uploaded Python 3

File details

Details for the file fastrub-5.0.5.tar.gz.

File metadata

  • Download URL: fastrub-5.0.5.tar.gz
  • Upload date:
  • Size: 110.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for fastrub-5.0.5.tar.gz
Algorithm Hash digest
SHA256 8b4f435dede237bab358972de4e9a6960cf2796491c9e8909f3779d48028d9ec
MD5 465ed8e0f5f482cf855190ce68f2fdb7
BLAKE2b-256 054e546d86bfb7f1df8a7f688591bfcbe26e2bbd99b7be89f7565e5c382e28d4

See more details on using hashes here.

File details

Details for the file fastrub-5.0.5-py3-none-any.whl.

File metadata

  • Download URL: fastrub-5.0.5-py3-none-any.whl
  • Upload date:
  • Size: 127.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for fastrub-5.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 307de7cde420eba263cd06602627aa37edc594e698b02f0a1b634f1fd71aea3b
MD5 e28b3588e95b90365c08fa1fcc272f23
BLAKE2b-256 a7c4f0c8c38bdee982d35ea64cf73460b860a0951e5f0dfa8b7c4c681b982772

See more details on using hashes here.

Release history Release notifications | RSS feed

6.6.6

2 files

6.6.5

2 files

6.6.4

2 files

6.6.3

2 files

6.6.2

2 files

6.6.1

2 files

6.6.0

2 files

6.5.3

2 files

6.5.2

2 files

6.5.1

2 files

6.5.0

2 files

6.4.2

2 files

6.4.1

2 files

6.4.0

2 files

6.3.0

2 files

6.2.5

2 files

6.2.4

2 files

6.2.3

2 files

6.2.2

2 files

6.2.1

2 files

6.2.0

2 files

6.1.21

2 files

6.1.20

2 files

6.1.19

2 files

6.1.18

2 files

6.1.17

2 files

6.1.16

2 files

6.1.15

2 files

6.1.14

2 files

6.1.13

2 files

6.1.12

2 files

6.1.11

2 files

6.1.10

2 files

6.1.9

2 files

6.1.8

2 files

6.1.7

2 files

6.1.6

2 files

6.1.5

2 files

6.1.4

2 files

6.1.3

2 files

6.1.2

2 files

6.1.1

2 files

6.1.0

2 files

6.0.5

2 files

6.0.4

2 files

6.0.3

2 files

6.0.2

2 files

6.0.1

2 files

6.0.0

2 files

5.6.15

2 files

5.6.14

2 files

5.6.13

2 files

5.6.12

2 files

5.6.11

2 files

5.6.10

2 files

5.6.9

2 files

5.6.8

2 files

5.6.7

2 files

5.6.6

2 files

5.6.5

2 files

5.6.4

2 files

5.6.3

2 files

5.6.2

2 files

5.6.1

2 files

5.6.0

2 files

5.5.3

2 files

5.5.2

2 files

5.5.1

2 files

5.5.0

2 files

5.4.3

2 files

5.4.2

2 files

5.4.1

2 files

5.4.0

2 files

5.3.2

2 files

5.3.1

2 files

5.3.0

2 files

5.2.31

2 files

5.2.30

2 files

5.2.29

2 files

5.2.28

2 files

5.2.27

2 files

5.2.26

2 files

5.2.25

2 files

5.2.24

2 files

5.2.23

2 files

5.2.22

2 files

5.2.21

2 files

5.2.20

2 files

5.2.19

2 files

5.2.18

2 files

5.2.17

2 files

5.2.16

2 files

5.2.15

2 files

5.2.14

2 files

5.2.13

2 files

5.2.12

2 files

5.2.11

2 files

5.2.10

2 files

5.2.9

2 files

5.2.8

2 files

5.2.7

2 files

5.2.6

2 files

5.2.5

2 files

5.2.4

2 files

5.2.3

2 files

5.2.2

2 files

5.2.1

2 files

5.2.0

2 files

5.1.10

2 files

5.1.9

2 files

5.1.8

2 files

5.1.7

2 files

5.1.6

2 files

5.1.5

2 files

5.1.4

2 files

5.1.3

2 files

5.1.2

2 files

5.1.1

2 files

5.1.0

2 files

5.0.8

2 files

5.0.7

2 files

5.0.6

2 files

This release

5.0.5 This release

2 files

5.0.4

2 files

5.0.3

2 files

5.0.2

2 files

5.0.1

2 files

5.0.0

2 files

4.6.5

2 files

4.6.4

2 files

4.6.3

2 files

4.6.2

2 files

4.6.1

2 files

4.6.0

2 files

4.5.3

2 files

4.5.2

2 files

4.5.1

2 files

4.5.0

2 files

4.4.18

2 files

4.4.17

2 files

4.4.16

2 files

4.4.15

2 files

4.4.14

2 files

4.4.13

2 files

4.4.12

2 files

4.4.11

2 files

4.4.10

2 files

4.4.9

2 files

4.4.8

2 files

4.4.6

2 files

4.4.5

2 files

4.4.4

2 files

4.4.3

2 files

4.4.2

2 files

4.4.1

2 files

4.4.0

2 files

4.3.4

2 files

4.3.3

2 files

4.3.2

2 files

4.3.1

2 files

4.3.0

2 files

4.2.3

2 files

4.2.2

2 files

4.2.1

2 files

4.2.0

2 files

4.1.1

2 files

4.1.0

1 file

4.0.9

2 files

4.0.8

2 files

4.0.6

2 files

4.0.5

2 files

4.0.3

1 file

3.9.0

2 files

3.8.9

2 files

3.8.8

1 file

3.8.7

2 files

3.8.6

2 files

3.8.5

2 files

3.8.4

2 files

3.8.3

2 files

3.8.2

2 files

3.8.1

2 files

3.8.0

2 files

3.7.9

2 files

3.7.8

2 files

3.7.7

2 files

3.7.6

2 files

3.7.5

2 files

3.7.4

2 files

3.7.3

2 files

3.7.2

2 files

3.7.1

2 files

3.7.0

2 files

3.6.9

2 files

3.6.8

2 files

3.6.7

2 files

3.6.6

2 files

3.6.5

2 files

3.6.4

2 files

3.6.3

2 files

3.6.2

2 files

3.6.1

2 files

3.6.0

2 files

3.5.9

2 files

3.5.8

2 files

3.5.7

2 files

3.5.6

2 files

3.5.5

2 files

3.5.4

2 files

3.5.3

2 files

3.5.2

2 files

3.5.1

2 files

3.5.0

2 files

3.4.9

2 files

3.4.8

2 files

3.4.7

2 files

3.4.6

2 files

3.4.5

2 files

3.4.4

2 files

3.4.3

2 files

3.4.2

2 files

3.4.1

2 files

3.4.0

2 files

3.3.9

2 files

3.3.8

2 files

3.3.7

2 files

3.3.6

2 files

3.3.5

2 files

3.3.4

2 files

3.3.3

2 files

3.3.2

2 files

3.3.1

2 files

3.3.0

2 files

3.2.9

2 files

3.2.8

2 files

3.2.7

2 files

3.2.6

2 files

3.2.5

2 files

3.2.4

2 files

3.2.3

2 files

3.2.2

2 files

3.2.1

2 files

3.2.0

2 files

3.1.9

2 files

3.1.8

2 files

3.1.7

2 files

3.1.6

2 files

3.1.5

2 files

3.1.4

2 files

3.1.3

2 files

3.1.2

2 files

3.1.1

2 files

3.1.0

2 files

3.0.9

2 files

3.0.8

2 files

3.0.7

2 files

3.0.6

2 files

3.0.5

2 files

3.0.4

2 files

3.0.3

2 files

3.0.2

2 files

3.0.1

2 files

3.0.0

2 files

2.9.9

2 files

2.9.8

2 files

2.9.7

2 files

2.9.6

2 files

2.9.5

2 files

2.9.4

2 files

2.9.3

2 files

2.9.2

2 files

2.9.1

2 files

2.9.0

2 files

2.8.9

2 files

2.8.8

2 files

2.8.7

2 files

2.8.6

2 files

2.8.3

2 files

2.8.2

2 files

2.8.1

2 files

2.8.0

2 files

2.7.9

1 file

2.7.8

2 files

2.7.7

2 files

2.7.5

2 files

2.7.4

2 files

2.7.3

2 files

2.7.2

2 files

2.7.1

2 files

2.7.0

2 files

2.6.9

2 files

2.6.8

2 files

2.6.7

2 files

2.6.6

2 files

2.6.5

2 files

2.6.4

2 files

2.6.3

2 files

2.6.2

2 files

2.6.1

2 files

2.6.0

2 files

2.5.9

2 files

2.5.8

2 files

2.5.7

2 files

2.5.6

2 files

2.5.5

2 files

2.5.4

2 files

2.5.3

2 files

2.5.2

2 files

2.5.1

2 files

2.5.0

2 files

2.4.9

2 files

2.4.8

2 files

2.4.7

2 files

2.4.6

2 files

2.4.4

2 files

2.4.3

2 files

2.3

2 files

2.2

2 files

2.1

2 files

2.0

2 files

1.9

2 files

1.8

2 files

1.7

2 files

1.6

2 files

1.5

2 files

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