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.1.9.tar.gz (110.6 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.1.9-py3-none-any.whl (127.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for fastrub-5.1.9.tar.gz
Algorithm Hash digest
SHA256 ae4a0880154cac163d921cedee81c9abc487b06cb228485d00d4bef85239c43d
MD5 59e08f59bfed937c59b36d1408396b4d
BLAKE2b-256 79d4545ab75cf05f86d89f2f606be418cd786242bc899803b8d966ae2ac582c0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastrub-5.1.9-py3-none-any.whl
  • Upload date:
  • Size: 127.6 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.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 89735b9373cb1a29449af2e40031d9a622b552e64cdf1e6c1798fa207755a3b2
MD5 3541f39fb59b045f24115693cb79af54
BLAKE2b-256 0f9b3f59740810fd371530d0fdef407226d425724b46089edfee64ac1f99f703

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

This release

5.1.9 This release

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

5.0.5

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