示例#1
0
def football_start(message):
    user = User.get_user(user_id=message.chat.id)

    sent_football_message(
        user, MSG_FOOTBALL_BASE_CMD,
        get_message_keyboard(*[{
            k: v
        } for (k, v) in bot_config.buttons_football_leagues.items()]))
    DBConnector().insert_analytics(user, message.text)
示例#2
0
def test_db_user_fetching(user_chat_mock, close_db_connection):
    """Test for checking user data obtained from the DB."""

    user_from_db = User.fetch_user(user_chat_mock)

    assert_that(user_from_db.user_id, is_(user_chat_mock.id),
                "Users ID is invalid from DB.")
    assert_that(user_from_db.username, is_(user_chat_mock.username),
                "Users username is invalid from DB.")
    assert_that(user_from_db.first_name, is_(user_chat_mock.first_name),
                "Users first name is invalid from DB.")
    assert_that(user_from_db.last_name, is_(user_chat_mock.last_name),
                "Users last name is invalid from DB.")
示例#3
0
def football_country_leagues(call):
    logger().info("Button '{}'".format(call.data))
    user = User.get_user(user_id=call.from_user.id)

    actual_buttons_football = {
        **bot_config.buttons_football_country_leagues
    }  # new dict instance

    sent_football_message(
        user, MSG_FOOTBALL_BASE_CMD,
        get_message_keyboard(*[{
            k: v
        } for (k, v) in actual_buttons_football.items()]))
    DBConnector().insert_analytics(user, call.data)
示例#4
0
    def index(self, name=None, email=None, password1=None, password2=None):
        if not name:
            return template.render("register.html")
        # Server side validation
        if not userinfo.validateUsername(name):
            return "Invalid username"
        if not email:
            return "Email is missing"
        if not password1:
            return "Password is missing"
        if not userinfo.validateEmail(email):
            return "Invalid email"

        if User.query.filter_by(username=name).first():
            return template.render("register.html" \
          , user_already_exists=True, submit=True)

        if User.query.filter_by(email=email).first():
            return serve_template("register.html" \
         , user_email_exists=True, submit=True)
        authkey = userinfo.generate_auth_key()
        password = userinfo.md5pass(password1)
        # Clean the password fields - security
        password1 = None
        password2 = None
        # Insert the new user
        new_user = User(\
         username = name, \
         email = email, \
         password = password, \
         authkey = authkey, \
         auth = 0, \
         t_register = datetime.now(), \
         t_login = datetime.now(), \
         t_seen = datetime.now() )
        sender = apt_portal.get_config("mail", "register_sender")
        template.sendmail("register.mail" \
         , sender = sender \
         , destination = email \
         , username = name \
         , authkey = authkey \
         , sitename = "localhost" \
        )
        return template.render("register.html", submit=True)
示例#5
0
def cinema(message):
    user = User.get_user(user_id=message.chat.id)

    send_cinema_list(user)
    DBConnector().insert_analytics(user, message.text)
示例#6
0
def currency_alarm_rate_update(call):
    user = User.get_user(user_id=call.from_user.id)

    set_currency_alarm_rate(user, call)
示例#7
0
def currency_alarm_call(call):
    logger().info("Button '{}'".format(call.data))
    user = User.get_user(user_id=call.from_user.id)

    send_msg_alarm_currency(user)
示例#8
0
def db_log(message):
    user = User.get_user(user_id=message.chat.id)

    fetch_log_table_html()
    bot.send_document(user.user_id, open(DB_LOG_HTML, "rb"))
示例#9
0
def currency_start(message):
    user = User.get_user(user_id=getattr(message, 'message', message).chat.id)

    actual_currency = getattr(message, 'data', bot_config.currency_dollar_id)
    send_currency_rate(user, actual_currency)
    DBConnector().insert_analytics(user, BASE_CMD_CURRENCY)
示例#10
0
def start(message):
    user = User.fetch_user(chat=message.chat)

    start_step(user)
    DBConnector().insert_analytics(user, message.text)
示例#11
0
def instagram_post_content(message):
    user = User.get_user(user_id=message.chat.id)

    send_to_user_insta_post_media_content(
        InstaPost(post_url=message.text, message_id=message.message_id), user)
    DBConnector().insert_analytics(user, 'insta_link')
示例#12
0
def cinema_soon_call(call):
    logger().info("Button '{}'".format(call.data))
    user = User.get_user(user_id=call.from_user.id)

    send_cinema_soon_list(user)
    DBConnector().insert_analytics(user, call.data)
示例#13
0
def currency_graph_call(call):
    logger().info("Button '{}'".format(call.data))
    user = User.get_user(user_id=call.from_user.id)

    send_currency_graph(user, call.message)
    DBConnector().insert_analytics(user, bot_config.currency_graph)
示例#14
0
def echo_all(message):
    User.get_user(user_id=message.chat.id)
    user_message = message.text

    logger().info("User message: '{}'".format(user_message))
示例#15
0
def location(message):
    user = User.get_user(user_id=message.chat.id)

    if message.location is not None:
        send_map_location(bot, user, message)
    DBConnector().insert_analytics(user, message.text)
示例#16
0
def virus(message):
    user = User.get_user(user_id=message.chat.id)

    sent_virus_data(user)
    DBConnector().insert_analytics(user, message.text)
示例#17
0
def geo_start(message):
    user = User.get_user(user_id=message.chat.id)

    geo_request(user)
    DBConnector().insert_analytics(user, message.text)
示例#18
0
def football_calendar(call):
    logger().info("Button '{}'".format(call.data))
    user = User.get_user(user_id=call.from_user.id)

    send_football_calendar(user, call.data)
    DBConnector().insert_analytics(user, call.data)
示例#19
0
def instagram_start(message):
    user = User.get_user(user_id=message.chat.id)

    bot.send_message(user.user_id, MSG_INSTAGRAM_BOT)
    DBConnector().insert_analytics(user, message.text)