| Jay Campbell on Sat, 15 Nov 2008 02:06:29 -0700 (MST) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| [s-d] More automation |
I have a ruby script that grabs email for bnomic@xxxxxxxxxx Given
commands that start with 'bnomic!' it can produce a saved gamestate:
bnomic! a player exists named J
bnomic! a corporation exists named OCB LLC
bnomic! adjust j by m100
bnomic! adjust j by -5 macks
bnomic! transfer 25 macks from j to ocb LLC
bnomic! ocb llc has 3 blue socks
bnomic! transfer 10 blue socks from ocb llc to j # see below
bnomic! transfer 1 blue foowear from ocb llc to j
bnomic! j has 20 points
bnomic! adjust j by -30 points # actually just drops to zero
bnomic! adjust j by 5 points
bnomic! adjust somebody by 100 points
Interim errors produced:
FAIL: transfer 10 blue socks from ocb llc to j: insufficient funds
FAIL: adjust somebody by 100 points: Failed to adjust macks: Who is
'somebody'?
Final state:
name: OCB LLC
points: 0
type: corp
macks: 25
socks: Blue: 2
name: J
points: 20
type: player
macks: 45
socks: Blue: 1
If Ministers past and present like the idea I'll push it live.
For transparency, full history will be queryable via private mail to the
bot or via wiki or somesuch, and periodic public forum reports of
sucessful (and failed) activity is probably in order. Rather than spam
the list, it should probably send private email in case of transaction
failure.
The current regular expressions (after some normalization of the input) are:
if line =~ /transfer (m(\d+)|(\d+) macks?) from (.*) to (.*)/i
elsif line =~ /adjust (.*) (by)? (\+?-?m?\+?-?\d+)( macks?)?/i
elsif line =~ /adjust (.*) (by)? (\+?-?\d+) points?/i
elsif line =~ /(.*) has (\d+) points/i
elsif line =~ /transfer (\d+) (.*) (sock|foot?wear)s? from (.*) to
(.*)/i
elsif line =~ /(.*) has (\d+) (.*) (sock|foot?wear)s?/
elsif line =~ /a (player|corp)(oration)? exists named "?(.*)"?/i
_______________________________________________
spoon-discuss mailing list
spoon-discuss@xxxxxxxxx
http://lists.ellipsis.cx/mailman/listinfo/spoon-discuss