Beispiel #1
0
def tagg_all_button(update, context):
    query = update.callback_query
    chat = update.effective_chat  
    splitter = query.data.split('=')
    query_match = splitter[0]
    user_id = splitter[1]
    if query_match == "tagall_accept":
        if query.from_user.id == int(user_id):
            member = chat.get_member(int(user_id))
            chat_id = str(chat.id)[1:]
            REDIS.sadd(f'tagall2_{chat_id}', mention_html(member.user.id, member.user.first_name))
            query.message.edit_text(
                "{} is accepted! to add yourself {}'s tag list.".format(mention_html(member.user.id, member.user.first_name),
                                                                        chat.title),
                parse_mode=ParseMode.HTML
            )
            
        else:
            context.bot.answer_callback_query(query.id,
                                              text="You're not the user being added in tag list!"
                                              )
    elif query_match == "tagall_dicline":
        if query.from_user.id == int(user_id):
            member = chat.get_member(int(user_id))
            query.message.edit_text(
                "{} is deslined! to add yourself {}'s tag list.".format(mention_html(member.user.id, member.user.first_name),
                                                                        chat.title),
                parse_mode=ParseMode.HTML
            )
        else:
            context.bot.answer_callback_query(query.id,
                                              text="You're not the user being added in tag list!"
                                              )           
Beispiel #2
0
def untagall(update, context):
    chat = update.effective_chat 
    user = update.effective_user 
    message = update.effective_message
    chat_id = str(chat.id)[1:] 
    tagall_list = list(REDIS.sunion(f'tagall2_{chat_id}'))
    for tag_user in tagall_list:
        REDIS.srem(f'tagall2_{chat_id}', tag_user)
    message.reply_text(
        "Successully removed all users from {}'s tag list.".format(chat.title)
    )
Beispiel #3
0
def tagall(update, context):
    chat = update.effective_chat 
    user = update.effective_user 
    message = update.effective_message
    args = context.args
    query = " ".join(args)
    if not query:
        message.reply_text("Please give a reason why are you want to tag all!")
        return
    chat_id = str(chat.id)[1:] 
    tagall = list(REDIS.sunion(f'tagall2_{chat_id}'))
    tagall.sort()
    tagall = ", ".join(tagall)
    
    if tagall:
        tagall_reason = query 
        if message.reply_to_message:
            message.reply_to_message.reply_text(
                "{}"
                "\n\n<b>• Tagged Reason : </b>"
                "\n{}".format(tagall, tagall_reason),
                parse_mode=ParseMode.HTML
            )
        else:
            message.reply_text(
                "{}"
                "\n\n<b>• Tagged Reason : </b>"
                "\n{}".format(tagall, tagall_reason),
                parse_mode=ParseMode.HTML
            )
    else:
        message.reply_text(
            "Tagall list is empty!"
        )
Beispiel #4
0
def tagme(update, context): 
    chat = update.effective_chat  
    user = update.effective_user 
    message = update.effective_message 
    chat_id = str(chat.id)[1:] 
    tagall_list = list(REDIS.sunion(f'tagall2_{chat_id}'))
    match_user = mention_html(user.id, user.first_name)
    if match_user in tagall_list:
        message.reply_text(
            "You're Already Exist In {}'s Tag List!".format(chat.title)
        ) 
        return
    REDIS.sadd(f'tagall2_{chat_id}', mention_html(user.id, user.first_name))
    message.reply_text(
        "{} has been successfully added in {}'s tag list.".format(mention_html(user.id, user.first_name),
                                                         chat.title),
        parse_mode=ParseMode.HTML
    )
Beispiel #5
0
def untagme(update, context): 
    chat = update.effective_chat  
    user = update.effective_user 
    message = update.effective_message
    chat_id = str(chat.id)[1:] 
    tagall_list = list(REDIS.sunion(f'tagall2_{chat_id}'))
    match_user = mention_html(user.id, user.first_name)
    if match_user not in tagall_list: 
        message.reply_text(
            "You're already doesn't exist in {}'s tag list!".format(chat.title)
        )
        return
    REDIS.srem(f'tagall2_{chat_id}', mention_html(user.id, user.first_name))
    message.reply_text(
        "{} has been removed from {}'s tag list.".format(mention_html(user.id, user.first_name),
                                                         chat.title),
        parse_mode=ParseMode.HTML
    )
Beispiel #6
0
def removetag(update, context):
    chat = update.effective_chat  
    user = update.effective_user 
    message = update.effective_message
    args = context.args 
    user_id, reason = extract_user_and_text(message, args)
    if not user_id:
        message.reply_text("You don't seem to be referring to a user.")
        return 
    try:
        member = chat.get_member(user_id)
    except BadRequest as excp:
        if excp.message == "User not found":
            message.reply_text("I can't seem to find this user")
            return 
        raise
    if user_id == context.bot.id:
        message.reply_text("how I supposed to tag or untag myself")
        return 
    chat_id = str(chat.id)[1:] 
    tagall_list = list(REDIS.sunion(f'tagall2_{chat_id}'))
    match_user = mention_html(member.user.id, member.user.first_name)
    if match_user not in tagall_list:
        message.reply_text(
            "{} is doesn't exist in {}'s list!".format(mention_html(member.user.id, member.user.first_name),
                                                      chat.title),
            parse_mode=ParseMode.HTML
        )
        return
    member = chat.get_member(int(user_id))
    chat_id = str(chat.id)[1:]
    REDIS.srem(f'tagall2_{chat_id}', mention_html(member.user.id, member.user.first_name))
    message.reply_text(
        "{} is successfully removed from {}'s list.".format(mention_html(member.user.id, member.user.first_name),
                                                                     chat.title),
        parse_mode=ParseMode.HTML
    )
Beispiel #7
0
def addtag(update, context):
    chat = update.effective_chat  
    user = update.effective_user 
    message = update.effective_message
    args = context.args 
    user_id, reason = extract_user_and_text(message, args)
    if not user_id:
        message.reply_text("You don't seem to be referring to a user.")
        return 
    try:
        member = chat.get_member(user_id)
    except BadRequest as excp:
        if excp.message == "User not found":
            message.reply_text("I can't seem to find this user")
            return 
        raise
    if user_id == context.bot.id:
        message.reply_text("how I supposed to tag myself")
        return 
    
    chat_id = str(chat.id)[1:] 
    tagall_list = list(REDIS.sunion(f'tagall2_{chat_id}'))
    match_user = mention_html(member.user.id, member.user.first_name)
    if match_user in tagall_list:
        message.reply_text(
            "{} is already exist in {}'s tag list.".format(mention_html(member.user.id, member.user.first_name),
                                                           chat.title),
            parse_mode=ParseMode.HTML
        )
        return
    message.reply_text(
        "{} accept this, if you want to add yourself into {}'s tag list! or just simply decline this.".format(mention_html(member.user.id, member.user.first_name),
                                                                     chat.title),
        reply_markup=InlineKeyboardMarkup(
                                   [
                                       [
                                           InlineKeyboardButton(text="Accept", callback_data=f"tagall_accept={user_id}"),
                                           InlineKeyboardButton(text="Decline", callback_data=f"tagall_dicline={user_id}")  
                                        ]
                                    ]
                                   ),
        parse_mode=ParseMode.HTML
    )