مثالها
ساخت سشن (Session)
گرفتن همه چتها
Python
from maxrubika import Messenger
with Messenger("mySession") as app:
chats = app.get_chats()
print(chats)
نمایش تعداد چتها
Python
from maxrubika import Messenger
with Messenger("mySession") as app:
chats = app.get_chats(show_chat_guids=True)
guids = chats.chat_guids
print("تعداد کل گفتگوهای شما:", chats.total)
print("تعداد کانالها:", sum(g.startswith("c0") for g in guids))
print("تعداد گروهها:", sum(g.startswith("g0") for g in guids))
print("تعداد کاربران:", sum(g.startswith("u0") for g in guids))
print("تعداد باتها:", sum(g.startswith("b0") for g in guids))
print("تعداد سرویسها:", sum(g.startswith("s0") for g in guids))
پاسخ خودکار به سلام با افکت متحرک قلب
Python
import asyncio, time
from maxrubika import Messenger
from maxrubika.client.filters import IsMe, Text
app = Messenger("mySession")
last_reply = {}
sleep = 90
@app.on_new_message(Text("^سلام") | Text("^درود") & ~IsMe())
async def i(event):
user_guid = event.author_guid
now = time.time()
if user_guid in last_reply:
if now - last_reply[user_guid] < sleep:
return
else:
del last_reply[user_guid]
last_reply[user_guid] = now
send = await event.reply("درود! ❤")
hearts = ["🩵", "💙", "💖", "🩶", "💚", "💛", "💜", "🖤", "🤍", "🤎"]
delay = 0.5
total_time = 30
steps = int(total_time / delay)
for i in range(steps):
heart = hearts[i % len(hearts)]
try:
await send.edit(f"درود! {heart}")
except Exception:
break
await asyncio.sleep(delay)
app.run()
ترکیب بات و سلفبات - دریافت لینک پست
Python
import re
from maxrubika import Bot, Messenger
from maxrubika.bot.filters import Text
bot = Bot("Token") # توکن بات خود را اینجا وارد کنید.
app = Messenger("mySession") # سشن اکانت خود را اینجا وارد کنید.
app.start()
@bot.on_message(Text(re.compile(r'https://rubika\.ir/\w+/[A-Z]+', re.IGNORECASE)))
async def get_post(bot, event):
link = event.text.strip()
try:
result = await app.get_channel_post_by_link(link)
ask_spam_link = result.ask_spam_link
if ask_spam_link:
await event.reply(f"**لینک پست مورد نظر آماده شد:\n\n>**{ask_spam_link}")
else:
await event.reply("**خطایی رخ داد.**")
except Exception as e:
print(e)
await event.reply(f"**لطفاً لینک معتبر وارد شود.**")
bot.run()
پروفایل دو تایی (Dual Avatar)
Python
from maxrubika import Messenger
with Messenger("mySession") as app: # نام سشن خود را اینجا وارد کنید
image1 = "IMG_20260711_083318_110.jpg" # عکس دور
image2 = "IMG_20260711_000458.jpg" # عکس نزدیک
target = "me" # برای گروه یا کانال، لینک یا شناسه آن را وارد کنید
result = app.upload_avatar(target, image2, image1)
print(result)
نمایش چت اکشن فیک
Python
from maxrubika import Messenger
from maxrubika.client.filters import IsMe
app= Messenger("mySession") # نام سشن اکانت خود را اینجا وارد کنید
activity = "Typing" # نوع فعالیت را اینجا وارد کنید، میتوانید کلمه Recording برای ضبط پیام صوتی یا Uploading را برای ارسال فایل، وارد کنید
@app.on_new_message(~IsMe())
async def i(event):
await event.send_activity(activity)
app.run()
بررسی عضویت کاربر (Check Join)
Python
from maxrubika import Messenger
with Messenger("mySession") as app:
target = "Link" # شناسه، لینک یا آیدی کانال/گروه
member = "@Online_User" # شناسه یا نامکاربری کاربر
result = app.check_join(target, member)
print(result)
ساعت زنده در عنوان گروه
Python
import asyncio, pytz
from datetime import datetime, timedelta
from maxrubika import Messenger
SESSION = "mySession" # نام سشن اکانت خود اینجا وارد شود
CHAT_LINK = "" # لینک گروه خود اینجا وارد شود
SHOW_SECONDS = True # اگر میخواهید ثانیه نمایش داده نشود، False وارد کنید
IRAN_TZ = pytz.timezone("Asia/Tehran")
def now_iran() -> datetime:
return datetime.now(IRAN_TZ)
async def main():
async with Messenger(SESSION) as app:
chat_guid = await app.get_guid(CHAT_LINK)
info = await app.get_group_info(chat_guid)
name = info.group_title
try:
await app.edit_group_info(chat_guid, event_messages=False)
print("✅ پیامهای شیشهای غیرفعال شد.")
except Exception as e:
print(f"⚠️ خطا در غیرفعال کردن پیام شیشهای: {e}")
print(f"⏳ ساعت زنده روی اسم گروه '{name}' فعال شد...")
while True:
current_time = now_iran()
if SHOW_SECONDS:
time_str = current_time.strftime("%H:%M:%S")
new_title = f"{name} | {time_str}"
try:
await app.edit_group_title(chat_guid, new_title)
except Exception as e:
print(f"❌ خطا در تغییر نام گروه: {e}")
await asyncio.sleep(1)
else:
time_str = current_time.strftime("%H:%M")
new_title = f"{name} | {time_str}"
try:
await app.edit_group_title(chat_guid, new_title)
except Exception as e:
print(f"❌ خطا در تغییر نام گروه: {e}")
next_minute = (current_time + timedelta(minutes=1)).replace(second=0, microsecond=0)
await asyncio.sleep((next_minute - current_time).total_seconds())
asyncio.run(main())
ساعت زنده در عنوان کانال
Python
import asyncio, pytz
from datetime import datetime, timedelta
from maxrubika import Messenger
SESSION = "mySession" # نام سشن اکانت خود اینجا وارد شود
CHAT_LINK = "" # لینک کانال خود اینجا وارد شود
IRAN_TZ = pytz.timezone("Asia/Tehran")
def now_iran() -> datetime:
return datetime.now(IRAN_TZ)
async def main():
async with Messenger(SESSION) as app:
chat_guid = await app.get_guid(CHAT_LINK)
info = await app.get_channel_info(chat_guid)
name = info.channel.channel_title
print(f"⏳ ساعت زنده روی اسم کانال '{name}' فعال شد...")
while True:
current_time = now_iran()
time_str = current_time.strftime("%H:%M")
new_title = f"{name} | {time_str}"
try:
result = await app.edit_channel_title(chat_guid, new_title)
msg_id = result.message_id
await app.delete_messages(chat_guid, [msg_id])
except Exception as e:
print(f"❌ خطا در تغییر نام کانال: {e}")
next_minute = (current_time + timedelta(minutes=1)).replace(second=0, microsecond=0)
await asyncio.sleep((next_minute - current_time).total_seconds())
asyncio.run(main())