مثالها
ساخت سشن (Session)
گرفتن همه چتها
Python
from maxrubika import Messenger
with Messenger("mySession") as app:
chats = app.get_chats()
print(chats)
ترکیب سلفبات و بات (Self + Bot)
Python
import re
from maxrubika import Bot, Messenger
from maxrubika.bot.filters import Text
bot = Bot("Token") # توکن بات خود را اینجا وارد کنید
with Messenger("mySession") as app: # سشن اکانت خود را اینجا وارد کنید
@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:
await event.reply("**لطفاً لینک معتبر وارد شود.**")
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)
بررسی عضویت کاربر (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
from maxrubika import Bot, Messenger
from maxrubika.bot.filters import ChatType
bot = Bot("Token")
with Messenger("mySession") as app:
channel = "@TheMAXRubika"
guid = app.get_guid(channel)
info = app.get_channel_info(guid)
title = info.channel.channel_title
@bot.on_command("start", ChatType("user"))
async def handler(bot, event):
sender = event.author_id
chat_info = await bot.get_chat_info(event.chat_id)
username = getattr(chat_info.data.chat, 'username', None)
if username:
is_member = await app.check_join(guid, username)
if is_member:
await event.reply(f"✅ **شما در کانال {title} عضو هستید.**")
return
else:
await event.reply(f"❌ **ابتدا در کانال زیر عضو شوید و سپس مجدد دستور /start را وارد کنید:**\n{channel}")
return
members = await app.get_channel_members(guid)
sender_prefix = sender[:7]
for member in members.in_chat_members:
if member.member_guid[:7] == sender_prefix:
await event.reply(f"✅ **شما در کانال {title} عضو هستید.**")
return
await event.reply(f"❌ **ابتدا در کانال زیر عضو شوید و سپس مجدد دستور /start را وارد کنید:**\n{channel}\n\n**اگر از قبل عضو بودید، ابتدا کانال را ترک کنید و دوباره عضو کانال شوید.**")
bot.run(0)
ترکیب بات و سلفبات - بررسی عضویت گروه
Python
from maxrubika import Bot, Messenger
from maxrubika.bot.filters import ChatType
bot = Bot("Token")
with Messenger("mySession") as app:
group = "https://rubika.ir/joing/..."
guid = app.get_guid(group)
info = app.get_group_info(guid)
title = info.group.group_title
@bot.on_command("start", ChatType("user"))
async def handler(bot, event):
sender = event.author_id
chat_info = await bot.get_chat_info(event.chat_id)
username = getattr(chat_info.data.chat, 'username', None)
if username:
is_member = await app.check_join(guid, username)
if is_member:
await event.reply(f"✅ **شما در گروه {title} عضو هستید.**")
return
else:
await event.reply(f"❌ **ابتدا در گروه زیر عضو شوید و سپس مجدد دستور /start را وارد کنید:**\n{group}")
return
members = await app.get_group_members(guid)
sender_prefix = sender[:7]
for member in members.in_chat_members:
if member.member_guid[:7] == sender_prefix:
await event.reply(f"✅ **شما در گروه {title} عضو هستید.**")
return
await event.reply(f"❌ **ابتدا در گروه زیر عضو شوید و سپس مجدد دستور /start را وارد کنید:**\n{group}\n\n**اگر از قبل عضو بودید، ابتدا گروه را ترک کنید و دوباره عضو گروه شوید.**")
bot.run(0)
ساعت زنده در عنوان گروه
Python
import time
from datetime import datetime
from maxrubika import Messenger
with Messenger("mySession") as app:
GROUP = "link"
TITLE = "اسم ثابت"
GUID = app.get_guid(GROUP)
show_seconds = input("آیا میخواهید ثانیه هم نمایش داده شود؟ (y/n): ").lower() == 'y'
def update_time():
time.sleep(0.5)
while True:
app.edit_group_info(GUID, event_messages=False)
now = datetime.now()
if show_seconds:
time_str = now.strftime("%H:%M:%S")
wait = 1
else:
target = now.replace(second=0, microsecond=0)
time_str = target.strftime("%H:%M")
wait = 60 - (now - target).total_seconds()
app.edit_group_title(GUID, f"{TITLE} | {time_str}")
time.sleep(wait)
update_time()
ساعت زنده در عنوان کانال
Python
import time
from datetime import datetime
from maxrubika import Messenger
with Messenger("mySession") as app:
CHANNEL = "@CodeYaran"
TITLE = "نام ثابت"
GUID = app.get_guid(CHANNEL)
def update_time():
time.sleep(0.5)
while True:
now = datetime.now()
target = now.replace(second=0, microsecond=0)
wait = 60 - (now - target).total_seconds()
time_str = target.strftime("%H:%M")
result = app.edit_channel_title(GUID, f"{TITLE} | {time_str}")
app.delete_messages(GUID, result.message_id)
time.sleep(wait)
update_time()