ربات تلگرام برای ارسال گزارش کاربران به مدیران گروه

تِندایو محصول جدید وب سایت پلتفرم بوی است که به میلیون ها پرسش دسته های مختلف حوزه فناوری دیجیتال پاسخ داده است. اعلامیه حریم خصوصی تِندایو - همچنین در انتهای همین صفحه از میزان رضایت خود از پاسخ ربات هوش مصنوعی تندایو را اعلام بفرمایید.

برای شروع پرسش جدید از این لینک اقدام کنید.

💬سوال: ارسال گزارش کاربران به مدیران گروه

پرسش کامل : نوشتن یک ربات تلگرام با استفاده از زبان پایتون و کتابخانه telebot که قادر به ارسال گزارش کاربران به مدیران گروه است. به عنوان مثال، ربات به پیام خاص کاربر پاسخ می‌دهد و دستور (گزارش) را ارسال می‌کند و سپس پیام مربوط به گزارش را به مدیران گروه ارسال می‌کند. همچنین، این ربات قابلیت دارد هر بیست دقیقه یک بار به پیام‌های کاربران پاسخ دهد (فقط 20 دقیقه یک بار)، تا جلوگیری از اسپم و اختلال در عملکرد ربات توسط کاربران.

برای نوشتن یک ربات تلگرام با استفاده از زبان پایتون و کتابخانه telebot، ابتدا باید کتابخانه telebot را نصب کنیم. برای این کار، در ترمینال دستور زیر را اجرا می‌کنیم:

pip install telebot

سپس، یک فایل Python ایجاد می‌کنیم و کد زیر را در آن می‌نویسیم:

import telebot

# تعریف ربات
bot = telebot.TeleBot('YOUR_BOT_TOKEN')

# تعریف تابع برای ارسال گزارش
def send_report(message):
    # دریافت نام کاربری و پیام
    username = message.from_user.username
    text = message.text

    # ارسال گزارش به مدیران گروه
    for admin in bot.get_chat_administrators(message.chat.id):
        bot.send_message(admin.id, f'گزارش از کاربر {username}: {text}')

# تعریف تابع برای پاسخ به پیام‌های کاربران
@bot.message_handler(commands=['گزارش'])
def report(message):
    # ارسال گزارش
    send_report(message)

# شروع ربات
bot.polling()

در این کد، ابتدا کتابخانه telebot را import می‌کنیم. سپس، یک ربات تلگرام با استفاده از توکن ربات ایجاد می‌کنیم. در تابع send_report، نام کاربری و پیام ارسالی کاربر را دریافت می‌کنیم و سپس آن‌ها را به مدیران گروه ارسال می‌کنیم. در تابع report، که به پیام‌های کاربران با دستور «گزارش» پاسخ می‌دهد، تابع send_report را فراخوانی می‌کنیم.

برای جلوگیری از اسپم و اختلال در عملکرد ربات توسط کاربران، می‌توانیم از یک تایمر استفاده کنیم. برای این کار، کد زیر را به تابع report اضافه می‌کنیم:

# تعریف تایمر
timer = Timer(20 * 60, lambda: None)

# فعال کردن تایمر
timer.start()

# بررسی تایمر
def check_timer(message):
    global timer

    # اگر تایمر فعال است
    if timer.is_alive():
        # ارسال پیام خطای اسپم
        bot.send_message(message.chat.id, 'لطفاً برای ارسال گزارش، 20 دقیقه صبر کنید.')
        return

    # اگر تایمر غیرفعال است
    else:
        # ارسال گزارش
        send_report(message)

# اضافه کردن تابع check_timer به تابع report
report = check_timer(report)

در این کد، یک تایمر با زمان 20 دقیقه ایجاد می‌کنیم. سپس، تابع check_timer را تعریف می‌کنیم که تایمر را بررسی می‌کند. اگر تایمر فعال است، پیام خطای اسپم ارسال می‌کند. در غیر این صورت، تابع send_report را فراخوانی می‌کند.

برای اجرا کردن این ربات، فایل Python را با دستور زیر اجرا می‌کنیم:

python bot.py

پس از اجرای ربات، می‌توانید آن را با استفاده از دستور زیر در Telegram اجرا کنید:

/start

برای ارسال گزارش، می‌توانید دستور «گزارش» را به همراه پیام مورد نظر ارسال کنید. به عنوان مثال:

/گزارش این کاربر اسپم می‌کند.

در این صورت، پیام گزارش به مدیران گروه ارسال می‌شود.

هرچه بیشتر بدانید بهتر است🔸⚡❔❕

tendaiwo

تِندایو، پرسش از دنیای آی تی

خیلی سوالات زیادی داریم که باید به همه آنها پاسخ داده شود.سوالاتی بسیاری در زمینه نرم افزار، سخت افزار،سایت، سئو، برنامه نویسی و ... که تِندایو جوابشان را میداند.

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

شما هم میتوانید سوالتان را بپرسید تا پس از پاسخ دهی توسط تندایو در دسته موردنظر ثبت شود.برای ورود به بخش اصلی میتوانید بر روی دکمه زیر کلیک کنید.

تِندایو، پرسش از دنیای آی تی

آیا این مطلب برای شما مفید بود؟

بله
نه اصلا
از اینکه بازخورد خود را در اختیار ما گذاشته اید متشکریم. تا بعد 🙂

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *