예제 #1
0
def add_poll(update: Update, context: CallbackContext) -> bool:
    user_id = update.poll_answer.user.id
    user: User = current_list_users.get(user_id, None)
    if user and user.askedSkill:
        msg = []
        flag = 0
        for i in update.poll_answer.option_ids:
            Db.get_instance().add_interest(user_id, i)
            msg.append(INTEREST_LIST[i])
            flag += 1
            if flag == 3:
                break
        user.askedSkill = False
        context.bot.send_message(
            text=f'``` Selected Interest:- {",".join(msg)} ```',
            parse_mode=ParseMode.MARKDOWN,
            chat_id=user_id,
        )
        del current_list_users[user_id]
        context.bot.send_message(
            text=f'``` You are all set to go Anonymous ```',
            parse_mode=ParseMode.MARKDOWN,
            chat_id=user_id,
        )
        helper(user_id, context)
        return True
    return False
예제 #2
0
def check_batch(update: Update, context: CallbackContext) -> bool:
    user: User = current_list_users.get(update.message.chat.id, None)
    if user and user.askedBatch:
        user.set_batch(update.message.text)
        user.askedBatch = False
        delete_msg(update.message.chat.id, context)
        context.bot.send_message(
            text=f'``` Inserted Data\n'
            f'Name {user.name}\n'
            f'Instagram {user.instagram_id}\n'
            f'Gender {user.GENDER[user.gender]}\n'
            f'Year {user.batch}```',
            parse_mode=ParseMode.MARKDOWN,
            chat_id=update.message.chat.id,
        )
        Db.get_instance().write_user(user)
        Db.get_instance().read_users()
        active_commands[update.message.chat.id] = context.bot.send_poll(
            update.message.chat.id,
            ASK_FOR_INTEREST,
            INTEREST_LIST,
            allows_multiple_answers=True,
            is_anonymous=False).message_id
        return True
    return False
예제 #3
0
def accept_request(update: Update, context: CallbackContext):
    tel_to = update.callback_query.message.chat.id
    tel_id = active_requests.get(tel_to, None)
    if tel_id:
        tel_id = tel_id[0]
        active_chats[tel_id] = active_requests[tel_id][0]
        active_chats[active_chats[tel_id]] = tel_id
        del active_requests[tel_id]
        del active_requests[active_chats[tel_id]]
        delete_msg(tel_id, context)
        delete_msg(tel_to, context)
        active_commands[tel_id] = context.bot.send_message(
            text=f'``` Request Accepted ```',
            parse_mode=ParseMode.MARKDOWN,
            chat_id=tel_id).message_id
        context.bot.send_message(
            text=
            f'``` The Messages Now on (except Commands will be visible to the Anonymous '
            f'person) ```',
            parse_mode=ParseMode.MARKDOWN,
            chat_id=tel_id)
        context.bot.send_message(
            text=
            f'``` The Messages Now on (except Commands will be visible to the Anonymous '
            f'person) ```',
            parse_mode=ParseMode.MARKDOWN,
            chat_id=tel_to)
        res = Db.get_instance().get_common_interests(tel_id, tel_to)
        data = [INTEREST_LIST[x] for x in res[0].intersection(res[1])]
        if len(data) != 0:
            context.bot.send_message(
                text=f'``` Common Interest {" ".join(data)}```',
                parse_mode=ParseMode.MARKDOWN,
                chat_id=tel_id)
            context.bot.send_message(
                text=f'``` Common Interest {" ".join(data)} ```',
                parse_mode=ParseMode.MARKDOWN,
                chat_id=tel_to)
        else:
            context.bot.send_message(
                text=
                f'``` Interests the Anonymous User have:-  {" ".join([INTEREST_LIST[i] for i in res[1]])}```',
                parse_mode=ParseMode.MARKDOWN,
                chat_id=tel_id)
            context.bot.send_message(
                text=
                f'``` Interests the Anonymous User have:-  {" ".join([INTEREST_LIST[i] for i in res[0]])} ```',
                parse_mode=ParseMode.MARKDOWN,
                chat_id=tel_to)
        req = Request()
        req.make(tel_id, tel_to, 3)
        Db.get_instance().update_request(req)
    else:
        delete_msg(tel_to, context)
        active_commands[tel_to] = context.bot.send_message(
            text=f'``` Expired Request ```',
            parse_mode=ParseMode.MARKDOWN,
            chat_id=tel_to).message_id
예제 #4
0
def reveal(update: Update, context: CallbackContext) -> None:
    data = Db.get_instance().read_user_id(
        update.callback_query.message.chat_id)
    if data:
        if data.name == PLACEHOLDER:
            delete_msg(update.callback_query.message.chat.id, context)
            active_commands[
                update.callback_query.message.chat.
                id] = context.bot.send_message(
                    text="""``` You haven't provided the details```""",
                    parse_mode=ParseMode.MARKDOWN,
                    chat_id=update.callback_query.message.chat.id,
                ).message_id
            return
        else:
            data = Db.get_instance().read_user_id(
                active_chats[update.callback_query.message.chat_id])
            if data:
                if data.name == PLACEHOLDER:
                    delete_msg(update.callback_query.message.chat.id, context)
                    active_commands[
                        update.callback_query.message.chat.
                        id] = context.bot.send_message(
                            text=
                            """``` The user who's chatting with you hasn't provided the details```""",
                            parse_mode=ParseMode.MARKDOWN,
                            chat_id=update.callback_query.message.chat.id,
                        ).message_id
                    return
        keyboard = [
            [
                InlineKeyboardButton(
                    "ACCEPT", callback_data=ACCEPT_REVEAL_CALLBACK_DATA),
                InlineKeyboardButton(
                    "DECLINE", callback_data=DECLINE_REVEAL_CALLBACK_DATA),
            ],
        ]
        delete_msg(
            active_chats.get(update.callback_query.message.chat.id, None),
            context)
        delete_msg(update.callback_query.message.chat.id, context)
        active_commands[active_chats[
            update.callback_query.message.chat.id]] = context.bot.send_message(
                text="""``` Reveal Request```""",
                parse_mode=ParseMode.MARKDOWN,
                chat_id=active_chats[update.callback_query.message.chat.id],
                reply_markup=InlineKeyboardMarkup(keyboard)).message_id
        active_commands[
            update.callback_query.message.chat.id] = context.bot.send_message(
                text="""``` Reveal Request Sent```""",
                parse_mode=ParseMode.MARKDOWN,
                chat_id=update.callback_query.message.chat.id,
            ).message_id
    else:
        helper(update.callback_query.message.chat_id, context)
예제 #5
0
def questionnaire(update: Update, context: CallbackContext):
    chat_id = update.callback_query.message.chat.id
    delete_msg(chat_id, context)
    print(Db.get_instance().get_questions(chat_id))
    if Db.get_instance().get_questions(chat_id) is None:
        active_commands[chat_id] = context.bot.send_message(
            text=ASK_FOR_QN, chat_id=chat_id,
            parse_mode=ParseMode.MARKDOWN).message_id
        asked_questionnaire[update.callback_query.message.chat.id] = True
    else:
        view_questionnaire(update, context)
예제 #6
0
def report_confirmation(update: Update, context: CallbackContext):
    if update.callback_query.data == ACCEPT_REPORT_CALLBACK_DATA:
        Db.get_instance().update_block(
            active_chats[update.callback_query.message.chat.id])
        cancel_chat(update, context)
    elif update.callback_query.data == DECLINE_CALLBACK_DATA:
        delete_msg(update.callback_query.message.chat.id, context)
        active_commands[
            update.callback_query.message.chat.id] = context.bot.send_message(
                text="""``` Report Request Closed```""",
                chat_id=update.callback_query.message.chat.id,
                parse_mode=ParseMode.MARKDOWN).message_id
예제 #7
0
def cancel_chat(update: Update, context: CallbackContext):
    tel_id = active_chats.get(update.callback_query.message.chat.id, None)
    if tel_id:
        Db.get_instance().update_user_disconnected(tel_id)
        Db.get_instance().update_user_disconnected(active_chats[tel_id])
        req = Request()
        req.make(tel_id, active_chats[tel_id], 1)
        Db.get_instance().update_request(req)
        req.make(active_chats[tel_id], tel_id, 1)
        Db.get_instance().update_request(req)
        delete_msg(tel_id, context)
        delete_msg(active_chats[tel_id], context)
        active_commands[tel_id] = context.bot.send_message(
            text=f'``` Chat Cancelled ```',
            parse_mode=ParseMode.MARKDOWN,
            chat_id=tel_id).message_id
        active_commands[active_chats[tel_id]] = context.bot.send_message(
            text=f'``` Chat Cancelled ```',
            parse_mode=ParseMode.MARKDOWN,
            chat_id=active_chats[tel_id]).message_id
        context.bot.send_message(text="/chat for chat settings",
                                 parse_mode=ParseMode.MARKDOWN,
                                 chat_id=active_chats[tel_id])
        context.bot.send_message(text="/chat for chat settings",
                                 parse_mode=ParseMode.MARKDOWN,
                                 chat_id=tel_id)
        del active_chats[active_chats[tel_id]]
        del active_chats[tel_id]
예제 #8
0
def send_poll(update: Update, context: CallbackContext) -> None:
    delete_msg(update.callback_query.message.chat.id, context)
    user = Db.get_instance().read_user_id(
        update.callback_query.message.chat.id)
    user.askedSkill = True
    current_list_users[user.tel_id] = user
    Db.get_instance().delete_interest(user.tel_id)
    active_commands[
        update.callback_query.message.chat.id] = context.bot.send_poll(
            update.callback_query.message.chat.id,
            ASK_FOR_INTEREST,
            INTEREST_LIST,
            allows_multiple_answers=True,
            is_anonymous=False).message_id
예제 #9
0
def accept_reveal_request(update: Update, context: CallbackContext) -> None:
    user_id = update.callback_query.message.chat.id
    delete_msg(active_chats.get(user_id, None), context)
    delete_msg(user_id, context)
    data = Db.get_instance().read_user_id(user_id)
    if data:
        msg = f"``` Name:- {data.name}\n Instagram Id:- {data.instagram_id}\n Gender:- {data.GENDER[data.gender]}\n Year:- {data.batch}```"
        context.bot.send_message(text=msg,
                                 parse_mode=ParseMode.MARKDOWN,
                                 chat_id=active_chats[user_id])
    data = Db.get_instance().read_user_id(active_chats[user_id])
    if data:
        msg = f"``` Name:- {data.name}\n Instagram Id:- {data.instagram_id}\n Gender:- {data.GENDER[data.gender]}\n Year:- {data.batch}```"
        context.bot.send_message(text=msg,
                                 parse_mode=ParseMode.MARKDOWN,
                                 chat_id=user_id)
예제 #10
0
def status_code(chat_id: int):
    if active_chats.get(chat_id, None):
        return 1
    elif active_requests.get(chat_id, None):
        return 0
    elif Db.get_instance().read_user_id(chat_id):
        return -1
예제 #11
0
def register_user(update: Update, context: CallbackContext):
    chat_id = update.callback_query.message.chat.id
    if Db.get_instance().read_user_id(chat_id) is None:
        if current_list_users.get(chat_id, None) is None:
            delete_msg(chat_id, context)
            active_commands[chat_id] = context.bot.send_message(
                text=ASK_FOR_NAME,
                parse_mode=ParseMode.MARKDOWN,
                chat_id=chat_id).message_id
            user = User(update.callback_query.message.chat.id)
            current_list_users[update.callback_query.message.chat.id] = user
예제 #12
0
def decline_request(update: Update, context: CallbackContext):
    tel_to = update.callback_query.message.chat.id
    tel_id = active_requests.get(tel_to, None)
    if tel_id:
        tel_id = tel_id[0]
        del active_requests[tel_to]
        del active_requests[tel_id]
        delete_msg(tel_id, context)
        delete_msg(tel_to, context)
        active_commands[tel_id] = context.bot.send_message(
            text=f'``` Request Cancelled ```',
            parse_mode=ParseMode.MARKDOWN,
            chat_id=tel_id).message_id
        active_commands[tel_to] = context.bot.send_message(
            text=f'``` Request Cancelled ```',
            parse_mode=ParseMode.MARKDOWN,
            chat_id=tel_to).message_id

        Db.get_instance().update_user_disconnected(tel_id)
        Db.get_instance().update_user_disconnected(tel_to)
        req = Request()
        req.make(tel_id, tel_to, 2)
        Db.get_instance().update_request(req)
    else:
        delete_msg(tel_to, context)
        active_commands[tel_to] = context.bot.send_message(
            text=f'``` Expired Request ```',
            parse_mode=ParseMode.MARKDOWN,
            chat_id=tel_to).message_id
예제 #13
0
def skip_process(message, context: CallbackContext):
    chat_id = message.chat_id
    if not Db.get_instance().read_user_id(chat_id):
        if current_list_users.get(chat_id, None):
            user = current_list_users[chat_id]
            Db.get_instance().write_user(user)
            del current_list_users[chat_id]
        else:
            user = User(chat_id)
            Db.get_instance().write_user(user)
    delete_msg(message.chat.id, context)
    user = User(chat_id)
    user.askedId = False
    user.askedGender = False
    user.askedName = False
    user.askedBatch = False
    current_list_users[chat_id] = user
    active_commands[message.chat.id] = context.bot.send_poll(
        chat_id,
        ASK_FOR_INTEREST,
        INTEREST_LIST,
        allows_multiple_answers=True,
        is_anonymous=False).message_id
예제 #14
0
def parse_questions(update: Update, context: CallbackContext):
    delete_msg(update.message.chat.id, context)
    ques = update.message.text.split('/')
    if Db.get_instance().get_questions(update.message.chat_id):
        Db.get_instance().delete_questions(update.message.chat_id)

    Db.get_instance().add_questions(update.message.chat_id, ques)
    msg = "Entered Questions\n"
    for i in ques:
        msg += f"{ques.index(i) + 1} {i.strip()}\n"
    keyboard = [
        [
            InlineKeyboardButton("Edit Questionnaire",
                                 callback_data=QUESTIONNAIRE_SET),
            InlineKeyboardButton("<- Menu", callback_data=MENU),
        ],
    ]
    active_commands[update.message.chat.id] = context.bot.send_message(
        text=f"```{msg}```",
        parse_mode=ParseMode.MARKDOWN,
        chat_id=update.message.chat_id,
        reply_markup=InlineKeyboardMarkup(keyboard)).message_id
    asked_questionnaire[update.message.chat.id] = False
예제 #15
0
def send_questionnaire(update: Update, context: CallbackContext):
    delete_msg(update.callback_query.message.chat.id, context)
    ques = Db.get_instance().get_questions(
        update.callback_query.message.chat.id)
    for i in ques:
        msg = context.bot.send_poll(
            active_chats[update.callback_query.message.chat.id],
            f"{ques.index(i) + 1}) {i.strip()}",
            OPTION_LIST,
            is_anonymous=False)
        active_polls[msg.poll.id] = (msg.message_id, i)
    active_commands[
        update.callback_query.message.chat.id] = context.bot.send_message(
            update.callback_query.message.chat.id,
            "``` Poll Sent Waiting for reply```",
            parse_mode=ParseMode.MARKDOWN).message_id
예제 #16
0
def view_questionnaire(update: Update, context: CallbackContext):
    chat_id = update.callback_query.message.chat_id
    delete_msg(chat_id, context)
    data = Db.get_instance().get_questions(chat_id)
    msg = "Entered Questions\n"
    for i in data:
        msg += f"{data.index(i) + 1} {i.strip()}\n"
    keyboard = [
        [
            InlineKeyboardButton("Edit Questionnaire",
                                 callback_data=QUESTIONNAIRE_SET),
            InlineKeyboardButton("<- Menu", callback_data=MENU),
        ],
    ]
    active_commands[chat_id] = context.bot.send_message(
        text=f"```{msg}```",
        parse_mode=ParseMode.MARKDOWN,
        chat_id=chat_id,
        reply_markup=InlineKeyboardMarkup(keyboard)).message_id
    asked_questionnaire[chat_id] = False
예제 #17
0
def error_handle(update: Update, context: CallbackContext):
    logger = logging.getLogger()
    logger.error(msg="Exception while handling an update:", exc_info=context.error)
    tb_list = traceback.format_exception(None, context.error, context.error.__traceback__)
    print(context.error)
    if isinstance(context.error, error.BadRequest):
        update.message.reply_markdown("``` Kindly Repeat the process ```")
        active_commands[update.message.chat_id] = None
    elif isinstance(context.error, error.Unauthorized):
        if status_code(update.message.chat_id) == 1:
            context.bot.send_message(update.message.chat_id,
                                     "``` The Anonymous user blocked the chat bot so we are stopping the chat````",
                                     parse_mode=ParseMode.MARKDOWN, )
            Db.get_instance().delete_user(active_chats[update.message.chat_id])
            Db.get_instance().update_user_disconnected(update.message.chat_id)
            del active_chats[update.message.chat_id]
        elif status_code(update.message.chat_id) == 0:
            context.bot.send_message(update.message.chat_id,
                                     "``` The Anonymous user blocked the chat bot so make another request````",
                                     parse_mode=ParseMode.MARKDOWN, )
            cancel_request(update.message, context)
            Db.get_instance().delete_user(active_requests[update.message.chat_id])
    elif isinstance(context.error, error.TimedOut):
        context.bot.send_message(update.message.chat_id,
                                 "``` Connection Timed Out Repeat the process````",
                                 parse_mode=ParseMode.MARKDOWN, )
        helper(update.message.chat_id, context)
    tb_string = ''.join(tb_list)
    message = (
        f'An exception was raised while handling an update\n'
        f'<pre>update = {html.escape(json.dumps(update.to_dict(), indent=2, ensure_ascii=False))}'
        '</pre>\n\n'
        f'<pre>context.chat_data = {html.escape(str(context.chat_data))}</pre>\n\n'
        f'<pre>context.user_data = {html.escape(str(context.user_data))}</pre>\n\n'
        f'<pre>{html.escape(tb_string)}</pre>'
    )
    context.bot.send_message(chat_id=ADMIN_ID, text=message, parse_mode=ParseMode.HTML)
예제 #18
0
def helper(chat_id, context):
    if chat_id in black_list:
        return
    if active_chats.get(chat_id, None):
        if Db.get_instance().get_questions(chat_id):
            menu = [[
                InlineKeyboardButton("Reveal Identity Request",
                                     callback_data=REVEAL_IDENTITY_REQUEST),
            ],
                    [
                        InlineKeyboardButton("Send Questionnaire",
                                             callback_data=QUESTIONNAIRE_SENT),
                    ],
                    [
                        InlineKeyboardButton("Report Chat",
                                             callback_data=REPORT_CHAT),
                        InlineKeyboardButton("View/ Edit Questionnaire",
                                             callback_data=QUESTIONNAIRE)
                    ],
                    [
                        InlineKeyboardButton("Close Chat Portal",
                                             callback_data=CLOSE_CHAT),
                    ]]
        else:
            menu = [[
                InlineKeyboardButton("Reveal Identity Request",
                                     callback_data=REVEAL_IDENTITY_REQUEST),
            ],
                    [
                        InlineKeyboardButton("Report Chat",
                                             callback_data=REPORT_CHAT),
                        InlineKeyboardButton("View/ Edit Questionnaire",
                                             callback_data=QUESTIONNAIRE)
                    ],
                    [
                        InlineKeyboardButton("Close Chat Portal",
                                             callback_data=CLOSE_CHAT),
                    ]]
        delete_msg(chat_id, context)
        active_commands[chat_id] = context.bot.send_message(
            text=WELCOME_TEXT,
            parse_mode=ParseMode.MARKDOWN,
            chat_id=chat_id,
            reply_markup=InlineKeyboardMarkup(menu)).message_id
    elif Db.get_instance().read_user_id(chat_id):
        menu = [[
            InlineKeyboardButton("Random Chat",
                                 callback_data=RANDOM_CHAT_CALLBACK_DATA),
        ],
                [
                    InlineKeyboardButton("Questionnaire",
                                         callback_data=QUESTIONNAIRE),
                ],
                [
                    InlineKeyboardButton("Alter Interest",
                                         callback_data=RESET_CALLBACK_DATA),
                ],
                [
                    InlineKeyboardButton(
                        "How This Works",
                        callback_data=WALKABOUT_CALLBACK_DATA),
                    InlineKeyboardButton("Commands",
                                         callback_data=COMMAND_CALLBACK_DATA)
                ]]

        delete_msg(chat_id, context)
        active_commands[chat_id] = context.bot.send_message(
            text=WELCOME_TEXT,
            parse_mode=ParseMode.MARKDOWN,
            chat_id=chat_id,
            reply_markup=InlineKeyboardMarkup(menu)).message_id
    else:
        welcome(chat_id, context)
예제 #19
0
if __name__ == '__main__':
    # TOKEN  = HERE
    updater = Updater(TOKEN, use_context=True,
                      request_kwargs={'read_timeout': 6, 'connect_timeout': 7})
    dp = updater.dispatcher

    if os.path.isfile('active_chats'):
        data.deserialize()

    dp.add_handler(CommandHandler('start', help_menu))
    dp.add_handler(CommandHandler('status', status))
    dp.add_handler(CommandHandler('menu', store))
    dp.add_handler(CommandHandler('help', help_menu))
    dp.add_handler(CommandHandler('chat', help_menu))
    dp.add_handler(CommandHandler('cancel', cancel))
    dp.add_handler(CommandHandler('skip', skip))
    dp.add_handler(CommandHandler('chat_id', chat_id))
    dp.add_handler(CallbackQueryHandler(callback_query_handler))
    dp.add_handler(MessageHandler(Filters.text & ~Filters.command, message_handler))
    dp.add_handler(MessageHandler(Filters.sticker, sticker_handler))
    dp.add_handler(MessageHandler(Filters.all, message_all_handler))
    dp.add_handler(PollHandler(poll_handler))
    dp.add_handler(PollAnswerHandler(poll_answer_handler))
    dp.add_error_handler(error_handle)

    Db.get_instance().create_black_list()
    Db.get_instance().create_active_command_list()

    updater.start_polling()
    updater.idle()
예제 #20
0
def set_up_random_chat(update: Update, context: CallbackContext) -> None:
    data = status_code(update.callback_query.message.chat_id)
    if data == 1:
        context.bot.send_message(
            text=f'``` Close the current chat portal to start a new one ```',
            parse_mode=ParseMode.MARKDOWN,
            chat_id=update.callback_query.message.chat.id,
        )
        return
    if data == 0:
        data = active_requests.get(update.callback_query.message.chat.id, None)
        delete_msg(update.callback_query.message.chat_id, context)
        print(data)
        if data[1] == 1:
            keyboard = [[
                InlineKeyboardButton(
                    "CANCEL REQUEST",
                    callback_data=CANCEL_REQUEST_CALLBACK_DATA)
            ]]
            msg_id = context.bot.send_message(
                update.callback_query.message.chat.id,
                """``` You are in request phase Waiting for Accepting```""",
                parse_mode=ParseMode.MARKDOWN,
                reply_markup=InlineKeyboardMarkup(keyboard)).message_id
            active_commands[update.callback_query.message.chat.id] = msg_id
        elif data[1] == -1:
            keyboard = [
                [
                    InlineKeyboardButton("ACCEPT",
                                         callback_data=ACCEPT_CALLBACK_DATA),
                    InlineKeyboardButton("DECLINE",
                                         callback_data=DECLINE_CALLBACK_DATA),
                ],
            ]
            msg_id = context.bot.send_message(
                update.callback_query.message.chat.id,
                """``` You are in request phase```""",
                parse_mode=ParseMode.MARKDOWN,
                reply_markup=InlineKeyboardMarkup(keyboard)).message_id
            active_commands[update.callback_query.message.chat.id] = msg_id
        return

    data = Db.get_instance().read_available_users(
        update.callback_query.message.chat.id)
    if len(data) == 0:
        context.bot.send_message(
            text=f'``` Oops! No Users Available try after some time ```',
            parse_mode=ParseMode.MARKDOWN,
            chat_id=update.callback_query.message.chat.id,
        )
    else:
        user = sample(data, 1)[0]
        request = Request()
        request.make(update.callback_query.message.chat.id, user.tel_id, 0)
        Db.get_instance().write_request(request)
        active_requests[request.tel_id] = (request.tel_to, 1)
        active_requests[request.tel_to] = (request.tel_id, -1)
        delete_msg(request.tel_id, context)
        keyboard = [[
            InlineKeyboardButton("CANCEL REQUEST",
                                 callback_data=CANCEL_REQUEST_CALLBACK_DATA)
        ]]
        active_commands[request.tel_id] = context.bot.send_message(
            text=f'``` Waiting for Confirmation ```',
            parse_mode=ParseMode.MARKDOWN,
            chat_id=request.tel_id,
            reply_markup=InlineKeyboardMarkup(keyboard)).message_id
        keyboard = [
            [
                InlineKeyboardButton("ACCEPT",
                                     callback_data=ACCEPT_CALLBACK_DATA),
                InlineKeyboardButton("DECLINE",
                                     callback_data=DECLINE_CALLBACK_DATA),
            ],
        ]
        delete_msg(request.tel_to, context)
        active_commands[request.tel_to] = context.bot.send_message(
            text=f'``` Anonymous Chat Request ```',
            parse_mode=ParseMode.MARKDOWN,
            chat_id=request.tel_to,
            reply_markup=InlineKeyboardMarkup(keyboard)).message_id
        Db.get_instance().update_user_connected(request.tel_id)
        Db.get_instance().update_user_connected(request.tel_to)