#!/bin/sh
#########################
# tinychat_users_
#########################
# Munin Plugin to track monitor the number of users a tinychat room gets.
# Author Phil Wray ( http://www.infjs.com )
# 
#
#
# Usage:
# 	ln -s /usr/share/munin/plugins/tinychat_users_ /etc/munin/plugins/tinychat_users_your-room
#

# Get the Tinychat Room by parsing this scripts filename.
room=${0##*tinychat_users_}

##
# autoconf
##
if [ "$1" = "autoconf" ]; then
    # Check that curl is installed
    if hash curl >/dev/null 2>&1; then
echo "yes"
    else
echo "no (no curl installed)"
    fi
exit 0
fi

##
# config
##
if [ "$1" = "config" ]; then
echo "graph_title Tinychat Users for $room"
    echo 'graph_vlabel Room Users'
    echo 'graph_args --base 1000'
    echo 'graph_scale no'
    echo 'graph_vlabel Room Users'
    echo 'graph_category Chat'
    echo 'total_count.label Room Users'
    echo 'total_count.draw AREA'
    echo 'broadcaster_count.draw STACK'
    echo 'broadcaster_count.label Broadcasting'	
    exit 0
fi

##
# Main
##
# Get current Room Users.
tinychat_users=$(curl -s http://api.tinychat.com/${room}.json | grep -Eo 'total_count":[0-9]+' | cut -d':' -f2)
broadcasting_users=$(curl -s http://api.tinychat.com/${room}.json | grep -Eo 'broadcaster_count":[0-9]+' | cut -d':' -f2)
# Output Room Users.
echo "total_count.value $tinychat_users"
echo "broadcaster_count.value $broadcasting_users"
