جوین اجباری در کانال تلگرام

Shape Image One
Shape Image One
 Shape Image Four
 Shape Image Four
 Shape Image Four
 Shape Image Four
 Shape Image Four
 Shape Image Four

عضویت اجباری در کانال تلگرام به چه معناست؟

حتما تا به حال به رباتی در تلگرام برخورد کرده اید که برای استفاده از آن، باید در یک کانال تلگرام عضو میشدید. یا اینکه برای پیام دادن در یک گروه تلگرامی، شما مجبور به عضو شدن در یک کانال تلگرام و یا اضافه کردن تعدادی کاربر بوده اید. یعنی شرط لازم برای استفاده از یک ربات تلگرام، عضو و جوین شدن در یک کانال بوده و اصطلاحا این عمل را، جوین اجباری یا عضویت اجباری میگویند.

نمونه پیغام ربات های جوین اجباری و ادد اجباری :

  • برای استفاده از این ربات، شما باید عضو کانال rexxar_ir در تلگرام شوید.
  • برای پیام دادن در این گروه، شما باید عضو کانال rexxar_ir در تلگرام شوید.
  • برای ارسال پیام در این گروه، شما باید 3 نفر را به گروه ادد یا اضافه کنید.
  • و …

عضویت اجباری در کانال تلگرام

مزایای جوین اجباری یا عضویت اجباری :

  • افزایش تعداد ممبر و اعضا کانال تلگرام شما
  • افزایش درصد واقعی بودن اعضا و ممبر ها
  • افزایش بازدید پست های کانال تلگرام شما
  • کم شدن تعداد ممبر و اعضا خارج شده از کانال تلگرامی شما

حتما براتون این سوال پیش میاد که “چجوری یک ربات اد اجباری، جوین اجباری، عضویت اجباری” داشته باشم؟ یا اینکه اصلا چطور بخش جوین اجباری رو به ربات تلگرامی خودتون اضافه کنید!

ربات جوین اجباری برای کانال تلگرام به زبان پایتون :

قدم اول : اولین قدم ساخت ربات در تلگرام میباشد. (اگر دانشی در این زمینه ندارید، میتوانید دوره آموزشی رایگان ساخت ربات تلگرام با پایتون را ببینید.)

قدم دوم : ربات مورد نظر خود را در کانالی که میخواهید عضویت اجباری داشته باشید، ادمین کنید.

قدم سوم : بعد از اینکه ربات شما آماده شد، باید از متد getChatMember در کتابخانه python-telegram-bot استفاده کنید. این تابع و متد وظیفه بررسی عضو بودن یک کاربر داخل یک کانال یا گروه تلگرامی را دارد.

توضیح تابع getChatMember :

تابع getChatMember دو ورودی میگیرد و یک خروجی از جنس رشته (string) را بر میگرداند :

getChatMember(chat_id = [str,int] , user_id=[str,int])
  • تابع و متد getChatMember یک ورودی به نام user_id میگیرد که در واقع همان چت آیدی کاربری است که باید در کانال تلگرامی شما عضو باشد. و یک ورودی دیگر به نام chat_id میگیرد که درواقع همان آیدی کانال شماست که میخواهید کاربر ها به آن عضو شوند و جوین اجباری روی همان کانال تلگرامی صورت گیرد.
  • تابع getChatMember یک خروجی میدهد که از جنس رشته است. با استفاده از آن خروجی میتوانیم تشخیص دهیم که یک کاربر عضو کانال یا گروه خاصی میباشد یا خیر. خروجی این تابع یکی از گزینه های زیر میباشد :
  • Left
  • Member
  • Administrator
  • Creator

نمونه مثال استفاده از متد getChatMember :

بعد از توضیحات فوق که راجع به متد getChatMember داده شد، یک مثال کامل از این متد و تابع در قطعه کد های زیر قرار داده ایم. در این مثال بررسی میشود آیا یک کاربر که به ربات پیغام میدهد، عضو کانال تلگرامی rexxar_ir هست یا خیر !

def start(update:Update):
    rexxarChannel = "@rexxar_ir" #آیدی کانال رکسار برای اضافه کردن جوین اجباری
    user = update.message
    userChatid = user.chat_id    # گرفتن چت آیدی کاربری که به ربات پیام میدهد
                                 #استفاده از تابع getChatmember
    status = bot.getChatMember(chat_id=rexxarChannel, user_id=userChatid)       
                                                   
    if status=="member":        #بررسی عضویت یک کاربر 
        print("کاربر در کانال عضو است .")
    elif status=="left":
        print("کاربر در کانال عضو نیست .")
    elif status=="administrator":
        print("کاربر در کانال ، ادمین است .")
    elif status=="creator":
        print("کاربر ، سازنده اصلی کانال است .")
    else:
        print("error")

 

اگر در رابطه با این آموزش احتیاج به داشتن فیلم آموزشی داشتید، کلیک کنید!

5 Comments

  1. سلام، بنده با این مواجه میشم

    telegram.error.NetworkError: urllib3 HTTPError HTTPSConnectionPool(host=’api.telegram.org’, port=443): Max retries exceeded with url: /bot1913137206:AAE94qKoiw5zAM1P0Z1DA4GyGytKUkS0Qzs/getMe (Caused by ConnectTimeoutError(, ‘Connection to api.telegram.org timed out. (connect timeout=5.0)’))

    Process finished with exit code 1

      1. با تشکر از پساخ گویی شما
        بنده آموزش رو هم مشاهده کردم و کدی که تا الان نوشتم

        from telegram import *
        from telegram.ext import *

        API_KEY = “********************************”
        bot = Bot(API_KEY)
        updater = Updater(API_KEY, use_context=True)
        dispatcher: Dispatcher = updater.dispatcher

        print(“Bot Started…”)

        def start_command(update: Update):
        rexxarChannel = “************************”
        user = update.message
        userChatid = user.chat_id
        status = bot.getChatMember(chat_id=userChatid, user_id=rexxarChannel)

        if status == “member”:
        print(“کاربر در کانال عضو است .”)
        elif status == “left”:
        print(“کاربر در کانال عضو نیست .”)
        elif status == “administrator”:
        print(“کاربر در کانال ، ادمین است .”)
        elif status == “creator”:
        print(“کاربر ، سازنده اصلی کانال است .”)
        else:
        print(“error”)

        def error(update, context):
        print(f”Update {update} caused error {context.error}”)

        dispatcher.add_error_handler(error)
        dispatcher.add_handler(CommandHandler(“start”, start_command))
        updater.start_polling()

        هستش، اما بجای “” یا “”

        Update {‘update_id’: 942532428, ‘message’: {‘new_chat_photo’: [], ‘channel_chat_created’: False, ‘chat’: {‘id’: 113969817, ‘last_name’: ‘J’, ‘first_name’: ‘Mani’, ‘type’: ‘private’, ‘username’: ‘Mani_Jn’}, ‘new_chat_members’: [], ‘group_chat_created’: False, ‘supergroup_chat_created’: False, ‘entities’: [{‘type’: ‘bot_command’, ‘length’: 6, ‘offset’: 0}], ‘text’: ‘/start’, ‘caption_entities’: [], ‘date’: 1626878171, ‘photo’: [], ‘message_id’: 263, ‘delete_chat_photo’: False, ‘from’: {‘id’: 113969817, ‘is_bot’: False, ‘username’: ‘Mani_Jn’, ‘last_name’: ‘J’, ‘language_code’: ‘en’, ‘first_name’: ‘Mani’}}} caused error start_command() takes 1 positional argument but 2 were given

        میاد و چندین تلاش ناموفق هم برای رسیدن به نتیجه ی مطلوب داشتم، نظری دارید؟

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

نشانی ایمیل شما منتشر نخواهد شد.

*

code