Files
memes_bot/README.fa.md
T
2026-09-01 21:33:19 +00:00

4.1 KiB

Memes Bot

ربات شخصی تلگرام برای ذخیره و جستجوی میم (عکس، گیف، ویدیو، صدا، موزیک، استیکر، فایل) با کلیدواژه.

English


پیش‌نیازها

  • یک سرور با Docker نصب‌شده
  • توکن ربات تلگرام از @BotFather

راه‌اندازی

۱. ساخت ربات در BotFather

  • /newbot ← توکن بگیرید
  • /setinline ← حالت اینلاین را فعال کنید (مثلاً: جستجوی میم...)

۲. پیدا کردن شناسه تلگرام

برای وایت‌لیست کردن خودتان به ID عددی نیاز دارید.

  • ساده‌ترین روش: یک پیام به @userinfobot فوروارد کنید — شناسه شما را برمی‌گرداند
  • روش دیگر: تلگرام وب را باز کنید، روی پروفایل کلیک کنید، عدد داخل URL شناسه شماست
  • برای چند کاربر: ID هر نفر را با کاما جدا کنید

۳. کلون و تنظیم

git clone https://git.goyban.com/goyban/memes_bot
cd memes_bot
cp .env.example .env

فایل .env را ویرایش کنید:

BOT_TOKEN=توکن_ربات_شما
ALLOWED_USERS=123456789,987654321

۴. اجرا

docker compose up -d --build

دیتابیس در مسیر ./bot_db/media.db ذخیره می‌شود.

نحوه استفاده

افزودن میم — یک عکس، گیف، ویدیو، صدا، موزیک، استیکر یا هر فایلی برای ربات بفرستید. ربات از شما کلیدواژه می‌خواهد. کلیدواژه‌ها را یکی‌یکی یا با کاما جدا بفرستید، سپس /done بزنید.

جستجوی اینلاین — در هر چتی بنویسید @نام_ربات کلیدواژه تا نتایج نمایش داده شود.

دستورات

دستور توضیح
/list نمایش همه رسانه‌های ذخیره‌شده
/review بررسی یک‌به‌یک ارسال‌های در انتظار تأیید (فقط ادمین)
/delete <id> حذف یک مورد (ID را از /list بگیرید)
/cancel لغو عملیات جاری

پذیرش ارسال کاربران

اگر در فایل .env مقدار ACCEPT_SUBMISSIONS=true را تنظیم کنید، کاربران غیرادمین هم می‌توانند رسانه بفرستند. این موارد ذخیره می‌شوند اما تا وقتی یک ناظر تأییدشان نکند در جستجوی inline و /list دیده نمی‌شوند. رسانه‌ای که خود ادمین‌ها می‌فرستند مثل قبل مستقیم ذخیره می‌شود.

با دستور /review می‌توانید صف را بررسی کنید. هر مورد همراه با کلیدواژه‌هایش و چهار دکمه نمایش داده می‌شود: تأیید، رد، اصلاح کلیدواژه‌ها، و توقف.

صف هیچ نشانگری ذخیره نمی‌کند و /review همیشه قدیمی‌ترین مورد در انتظار را می‌آورد. برای همین می‌توانید بعد از چند مورد متوقف شوید و فردا ادامه دهید، و چند ناظر هم می‌توانند هم‌زمان کار کنند — اگر دو نفر یک مورد را باز کنند، تصمیم اولی ثبت می‌شود و به دومی گفته می‌شود که قبلاً بررسی شده است.

تا وقتی مطمئن نیستید این گزینه را خاموش بگذارید. وقتی ALLOWED_USERS خالی باشد همه کاربرِ مجاز حساب می‌شوند، پس روشن‌کردن این گزینه یعنی پذیرفتن رسانه از هر کسی که ربات را پیدا کند.

انتقال به سرور دیگر

فقط کافی است این دو فایل را منتقل کنید:

  • .env
  • bot_db/media.db