LibSL - The ruby SecondLife client framework

LibSL is a framework for building SecondLife client applications in ruby. The most basic client application can be written in three lines of ruby code:

require 'libsl'
setup "firstname", "lastname", "password"
when_ready { shutdown }

This simple example will login to SecondLife and shutdown once we are connected. LibSL is all about interacting with the SecondLife servers. The DSL makes this very easy. Handle events:

# Handle one specific event
handle :event_name do |type, *args|
	# do something
end

# Handle multiple events
handle [:event1, :event2] do |type, *args|
	# do something
end

# Handle all events
handle :all do |type, *args|
	# do something
end

Use the client API to interact with the SecondLife world:

# Send a chat message
client.agent_manager.chat("Hello!")
# Send an instant message
client.agent_manager.im("Hello!", uuid)

Or build raw packets and send them to the server:

# Request money balance
packet = MoneyBalanceRequestPacket.new({
	:AgentData => {
		:AgentID => client.network_manager.agent_id,
		:SessionID => client.network_manager.session_id
	},
	:MoneyData => {
		:TransactionID => LLUUID.null
	}
})
send_packet packet