def on_message_not_spam(message): print(f"Processed message with id: {message['id']} from \"{message['sender-name']}\". Not spam") message_key = message['id'] sender_key = f"user:{message['sender-name']}" r.zincrby('sent-count', 1, sender_key) r.hincrby(sender_key, 'sent-count', 1) r.hset(message_key, 'status', MessageState.SENT)
def on_message_spam(message): print(f"Found spam message with id: {message['id']} from {message['sender-name']}") message_key = message['id'] sender_key = f"user:{message['sender-name']}" r.hset(message_key, 'status', MessageState.BLOCKED_BY_SPAM) r.hincrby(sender_key, 'spam-count', 1) r.zincrby('spam-count', 1, sender_key) r.publish('spam', message['sender-name'])
def spam_message_check(message): message_key = message['id'] r.hset(message_key, 'status', MessageState.IN_SPAM_CHECKING) sender_key = f"user:{message['sender-name']}" r.hincrby(sender_key, 'in-queue-count', -1) r.hincrby(sender_key, 'spam-checking-count', 1) spam_checking_result = is_spam(message) r.hincrby(sender_key, 'spam-checking-count', -1) return spam_checking_result