def remove(bot, message, args):

    logger.info("remove")

    response = "<u><b>Remove from watchlist<b><u>\n\n"

    userInfo = util.crossMessengerSplit(message)
    userId = userInfo['user'] if 'user' in userInfo else None
    userName = userInfo['name'] if 'name' in userInfo else "Unknown"
    public = userInfo['public']

    dbUser = bot.database.getUser(userId)
    if not dbUser:
        logger.error("User not in db?!")
        response += messages.unexpectedError(bot.messenger)
    else:

        if len(args) != 1:
            response += messages.proposalIdRequired(bot.messenger, 'remove')
        elif not util.isInt(args[0].replace('#', '')):
            response += messages.invalidProposalId(bot.messenger, args[0])
        else:

            proposal = bot.proposals.getProposal(int(args[0].replace('#', '')))

            if not proposal:
                response += messages.proposalNotFound(bot.messenger, args[0])
            else:

                currentList = bot.database.getWatchlist(userId=userId)

                if currentList and len(currentList) and\
                   not proposal.proposalId in list(map(lambda x: x['proposal_id'],currentList)) or\
                   not currentList or not len(currentList):

                    response += messages.proposalIsNotOnWatchlist(
                        bot.messenger, proposal.title)

                else:

                    if bot.database.removeFromWatchlist(
                            userId, proposal.proposalId):
                        response += "Succesfully removed the proposal <b>{}<b> from your watchlist.".format(
                            proposal.title)
                    else:
                        logger.error("Could not remove watchlist entry?!")
                        response += messages.unexpectedError(bot.messenger)

    return messages.markdown(response, bot.messenger)
Exemple #2
0
def subscription(bot, message, state):

    logger.info("subscription")

    response = "<u><b>Subscription<b><u>\n\n"

    userInfo = util.crossMessengerSplit(message)
    userId = userInfo['user'] if 'user' in userInfo else None
    userName = userInfo['name'] if 'name' in userInfo else "Unknown"
    public = userInfo['public']

    dbUser = bot.database.getUser(userId)
    if not dbUser:
        logger.error("User not in db?!")
        response += messages.unexpectedError(bot.messenger)
    else:
        logger.info("subscription - update {}".format(state))

        bot.database.updateSubscription(userId, state)

        response += "Succesfully <b>{}subscribed<b> new/ended proposals.".format("" if state else "un")

    return messages.markdown(response, bot.messenger)