Commit graph

227 commits

Author SHA1 Message Date
moneromooo
9d104183fb Add bookie module 2015-01-27 14:43:00 +00:00
moneromooo
1d3f650bba Starting networks is now via command line, and parameterized 2015-01-26 22:59:23 +00:00
moneromooo
50455a0d08 Keep track of funds awaiting confirmation 2015-01-26 18:01:21 +00:00
moneromooo
d270ca14f9 payment: handle unlock time properly
Hopefully (untested). A high unlock time increases the number of
confirmations required to match.
2015-01-25 23:14:52 +00:00
moneromooo
eac4dad075 redis: add a trampoline for sismember 2015-01-25 23:14:36 +00:00
moneromooo
5774f1ca90 blackjack: fix basic strategy claiming split with more than two cards 2015-01-25 22:09:33 +00:00
moneromooo
9f5992c1ea Allow forcing refresh of the tipbot balance 2015-01-25 21:35:34 +00:00
moneromooo
0ab24f9e86 payment: mention the number of confirmations needed for deposit 2015-01-25 21:25:46 +00:00
moneromooo
ee7fa9172b Cache tipbot balance for a time to avoid bottleneck 2015-01-25 21:16:30 +00:00
moneromooo
69582695f6 Save stats/zstats per network 2015-01-25 20:53:35 +00:00
moneromooo
fc45df4a8c payment: rejig received payment logs to be more useful 2015-01-25 20:15:53 +00:00
moneromooo
55ec6907d3 Wait for some number of confirmations before acting on a deposit 2015-01-25 18:36:17 +00:00
moneromooo
1ad4474315 Remove stray extra space in message 2015-01-25 18:31:22 +00:00
moneromooo
099981b832 Make another JSON reply log on a single line 2015-01-25 18:31:02 +00:00
moneromooo
c096f9d6e3 irc: remove ping log 2015-01-25 17:16:21 +00:00
moneromooo
4b0d855eb0 Log received JSON as a single line to avoid spamming logs too much 2015-01-25 17:13:03 +00:00
moneromooo
fb465b70cc payment: remove an uninteresting periodic log 2015-01-25 17:12:21 +00:00
moneromooo
fb02c61653 dice: min/max multipliers are now configurable 2015-01-25 12:36:04 +00:00
moneromooo
dea535dd17 Link: cache identity 2015-01-25 12:29:50 +00:00
moneromooo
08bfb84183 RetrieveHouseBalance: Don't hit redis for data we already have 2015-01-25 12:26:41 +00:00
moneromooo
32ab6a3127 blackjack: fix splitting on different 10 valued card
It was using the first card twice, which wasn't quite correct,
tough only cosmetic
2015-01-24 21:52:24 +00:00
moneromooo
a6d4f07eec dice, blackjack: use the configured coin name in help 2015-01-24 16:58:14 +00:00
moneromooo
15c5d31dc7 payment: GetTipbotAddress now returns None when it fails
The display function will turn it into "ERROR"
2015-01-24 11:37:19 +00:00
moneromooo
d5ab3b88f5 Split GetBalance to a core RetrieveBalance and the user command 2015-01-24 11:37:18 +00:00
moneromooo
2cb01954d4 Fix report mixing up win/loss, and make it a bit more compact 2015-01-23 11:37:26 +00:00
moneromooo
bb7d4c9f2c blackjack: fix double doubling the wrong bet amount
It would double the current full amount bet, rather than the
original bet of the current hand only.

Also fix an error message using a variable before it's initialized
when telling the player his/her balance is not enough when doing so.
2015-01-23 10:52:32 +00:00
moneromooo
1a6476d2f0 Make idle and cleanup functions fields of the module object 2015-01-22 19:30:28 +00:00
moneromooo
9ab5db39e4 betutils: move "does not have enough balance" from error to warning 2015-01-22 18:46:23 +00:00
moneromooo
cf122d032b Factor player balance check into IsBetValid and make min/max bets optional 2015-01-22 18:46:15 +00:00
moneromooo
6d1136b459 betutils: add a report command for a games activity overview 2015-01-22 18:20:51 +00:00
moneromooo
c4fbd04532 redis: add trampolines for a few z* functions 2015-01-22 18:20:35 +00:00
moneromooo
4b6f08d2a1 blackjack: avoid deleting player state twice when winning insurance 2015-01-22 10:50:53 +00:00
moneromooo
e0da99eb63 blackjack: fix syntax error in error log on missing basic strategy combination 2015-01-22 10:02:46 +00:00
moneromooo
ab26278828 blackjack: add missing 21 basic strategy score
It was only implied in the tables
2015-01-22 10:02:10 +00:00
moneromooo
e0cd953dd4 Fix a few s/identity/nick/ in user facing messages 2015-01-21 22:00:22 +00:00
moneromooo
c48428b0ab blackjack: fix balance check with side bets 2015-01-21 19:44:54 +00:00
moneromooo
b040600947 Blackjack is now not admin only 2015-01-21 19:18:56 +00:00
moneromooo
84f550a355 Add ban/unban commands 2015-01-21 18:26:48 +00:00
moneromooo
efcfc84c69 Add blackjack module 2015-01-21 16:38:59 +00:00
moneromooo
19e8aa1b1c Add the ability for games to earmark part of the house balance
This allows games to take bets from players (so the players aren't
in control of them anymore) while still not counting these as part
of the house balance (and thus the house can't spend them on some
other payment).
2015-01-21 14:32:13 +00:00
moneromooo
69d0f89549 Add the tipbot's personal balance when querying house balance
It's not part of the "spendable" house balance, so must be
accounted for separately.
2015-01-21 14:32:12 +00:00
moneromooo
1726d85d5c Add a list of invalid commands to ignore
To avoid the botspam when someone's using another bot
2015-01-21 13:50:31 +00:00
moneromooo
e893d293f0 Silence the log spam from RetrieveHouseBalance 2015-01-21 10:49:06 +00:00
moneromooo
590b9ef9c5 Bypass potential loss checking code if potential loss is 0 2015-01-20 19:52:10 +00:00
moneromooo
b06520e1ea dice: fix typo in message 2015-01-20 18:00:02 +00:00
moneromooo
54531fdc3b Make sure to send help/etc in PM 2015-01-20 17:18:15 +00:00
moneromooo
d5d0801807 Fix another issue with IPv6 users - commands being ignored 2015-01-20 17:11:56 +00:00
moneromooo
92bf49a4c4 RainActive: aesthetic message fixes 2015-01-20 14:56:41 +00:00
moneromooo
1925f1e704 RainActive: fix format string error 2015-01-20 14:52:20 +00:00
moneromooo
866c1f485c Time based stats are now daily and (all time) hourly
Cuts down on unnecessary detail/storage
2015-01-20 08:41:18 +00:00
moneromooo
5d56c82cad Keep track of game stats against time 2015-01-19 23:46:45 +00:00
moneromooo
826902213c Add trampoline for zincrby 2015-01-19 23:46:31 +00:00
moneromooo
75ebebc757 Move house_balance to betutils 2015-01-19 20:54:54 +00:00
moneromooo
7347480a86 dice: change the multiplier semantics to be hopefully more intuitive
x2 now means even odds - you pay your bet, and get a x2 payout back,
which leaves you with a profit equal to your original bet.

Minimum multiplier is bumped from 0.1 to 1.1 to reflect this change.
2015-01-19 19:39:43 +00:00
moneromooo
ea25e9d41b Abstract away communications networks 2015-01-19 08:45:56 +00:00
moneromooo
62c2adbaf6 Be conservative about which ! are really commands
This should fix pastes triggering commands
2015-01-18 22:51:34 +00:00
moneromooo
5ce0d1da50 Print meaningful time spans on rainactive 2015-01-18 22:18:46 +00:00
moneromooo
74c01f9bce Add a reserve_balance admin command
And move RetrieveHouseBalance to betutils as a side effect
2015-01-18 11:41:32 +00:00
moneromooo
7a4506a9e6 dice: invert target too when playing over
I'm an idiot :/
2015-01-18 09:05:59 +00:00
moneromooo
e3eaff5fc1 Do not write the server seed to the log file 2015-01-17 19:46:04 +00:00
moneromooo
41e00ad742 dice: clarify the amount is in monero 2015-01-17 15:53:46 +00:00
moneromooo
75bf15a321 dice: catch typos in recipients and ask for confirmation 2015-01-17 15:43:50 +00:00
moneromooo
9d6308b0b9 dice: allow over/under rolls 2015-01-17 09:02:37 +00:00
moneromooo
206dcbebec Add rpush/lpop/lindex trampolines 2015-01-17 00:06:01 +00:00
moneromooo
68ca830b05 Send dice game result to the channel if appropriate 2015-01-16 10:30:08 +00:00
moneromooo
a3de014d0a Dice game commands are now public 2015-01-16 09:40:11 +00:00
moneromooo
5b89cbdad3 Add dice module 2015-01-15 14:50:07 +00:00
moneromooo
cc3e34ac0b Add betutils - betting games related functions 2015-01-15 14:50:07 +00:00
moneromooo
1771e7879f Make daemon/wallet connections timeout at 20 seconds 2015-01-15 11:35:21 +00:00
moneromooo
cf05473c2c Handle IRC input without a channel (eg, QUIT) 2015-01-15 11:21:16 +00:00
moneromooo
14af9b3eb2 Add a trampoline for hdel 2015-01-13 23:20:24 +00:00
moneromooo
8dbb075a4a More robust field splitting
In particular, this should be resistant against shortened IPv6 addresses
2015-01-13 12:58:25 +00:00
moneromooo
2028230f82 Remove some unused code 2015-01-13 12:54:17 +00:00
moneromooo
a0d2f3725f Add sadd and smembers redis trampolines 2015-01-12 21:35:24 +00:00
moneromooo
762c7650a7 Send the "you must be registered/admin" to the channel if appropriate
It seems many people miss the /msg
2015-01-12 17:12:46 +00:00
moneromooo
566631bc38 Fix rename handling with IPv6 ident 2015-01-11 22:32:42 +00:00
moneromooo
9c21b43ba5 Add exists and delete redis trampolines 2015-01-11 22:32:18 +00:00
moneromooo
4631dca7b6 Do not enumerate users when raining on more than 16 nicks 2015-01-11 18:45:59 +00:00
moneromooo
107e36cf32 import config in withdrawl module 2015-01-11 16:48:36 +00:00
moneromooo
a2d760dcdb Make mixin configurable 2015-01-11 16:28:20 +00:00
moneromooo
0dc90676c8 Move IsValidAddress to utils 2015-01-11 14:08:12 +00:00
moneromooo
6823e0f926 Show a list of modules in help 2015-01-11 09:47:24 +00:00
moneromooo
5a6c3bd379 Fix Paymend/Payment typo 2015-01-10 20:35:10 +00:00
moneromooo
114c67799d withdraw: fix error being sent to wrong variable 2015-01-10 20:34:31 +00:00
moneromooo
09b1ee2f07 Fix rainactive synopsis, and error on usage when missing amount/hours 2015-01-10 14:03:07 +00:00
moneromooo
75d9c4de8e Don't try to update last active time on direct chats to the bot 2015-01-10 00:07:55 +00:00
moneromooo
e24389d5b4 Add a compatibility check test at startup 2015-01-09 23:15:31 +00:00
moneromooo
3c363ea084 Handle IPv6 addresses in message origin 2015-01-09 22:33:45 +00:00
moneromooo
13f68a1760 Move IRC logging functions to ircutils 2015-01-09 21:46:42 +00:00
moneromooo
9755e7a825 Add simple SASL PLAIN authentication 2015-01-09 17:53:41 +00:00
moneromooo
1c549df3d9 Add redis_incrby 2015-01-09 14:43:01 +00:00
moneromooo
8b72544edb Make deposit not an admin command 2015-01-08 15:20:33 +00:00
moneromooo
209eb76b27 Add a deposit command to the payment module
It makes it easier to find out how to deposit, since the payment
had no commands, and thus was not included in the modules list
when !commands was used
2015-01-08 15:09:10 +00:00
moneromooo
0ddf3c5595 Reword some help for clarity 2015-01-08 15:08:07 +00:00
moneromooo
f81a7a8b20 Add a missing error log 2015-01-08 09:02:21 +00:00
moneromooo
fe3571e603 Update copyright to 2015 2015-01-08 09:02:05 +00:00
moneromooo
819dd6ec67 Keep track of amount of tips 2015-01-08 09:02:05 +00:00
moneromooo
9be5047823 Fix registered/admin checks not reporting errors to the user 2015-01-06 20:54:19 +00:00
moneromooo
65581f980f Fix IRC reconnection failsafe using a wrong nick 2015-01-06 20:53:46 +00:00
moneromooo
78b5bc4162 Decrease max IRC send delay to a lowish value that seems to work 2015-01-03 22:07:10 +00:00
moneromooo
e1c881860f Module improvements
Register modules, along with their optional help function
Allow running ambiguous commands by prefixing with "modulename:"
2015-01-03 18:36:37 +00:00
moneromooo
d7f3ee7f3f Avoid splitting PRIVMSG payload on : 2015-01-03 18:34:08 +00:00
moneromooo
e1cd8042c1 Warn when a command is redefined 2015-01-01 17:43:01 +00:00
moneromooo
cb9a2fccae Factor RetrieveTipbotBalance to utils and add RetrieveHouseBalance 2015-01-01 17:34:48 +00:00
moneromooo
f24dbd3813 Remove AmountToString debug log 2015-01-01 15:21:48 +00:00
moneromooo
4c76c9f616 Fix rainactive minfrac formula 2015-01-01 15:18:42 +00:00
moneromooo
44d6f01378 Move module specific help to modules 2015-01-01 14:23:34 +00:00
moneromooo
ce3c69b339 Some more tweaking of the flood protection code 2015-01-01 12:45:59 +00:00
moneromooo
abb67ef06f Make clear one can use !commands <module> 2015-01-01 12:16:44 +00:00
moneromooo
83d64251af Move irc to ircutils to not conflict with new irc module 2015-01-01 11:42:06 +00:00
moneromooo
852e75dc16 Add a quit command 2015-01-01 11:41:04 +00:00
moneromooo
8d115438a3 Add an IRC module with join/part commands 2015-01-01 11:14:29 +00:00
moneromooo
27117ae53e The bot can now be in several channels at once 2015-01-01 10:59:56 +00:00
moneromooo
e4b403cc31 Use __name__ as module name 2015-01-01 10:12:03 +00:00
moneromooo
a59e883626 Modules can now be reloaded 2015-01-01 10:06:09 +00:00
moneromooo
800e1d754c Update channel users when a nick is kicked 2014-12-31 17:51:05 +00:00
moneromooo
e5d9a20b76 Add SSL support for IRC 2014-12-31 17:18:50 +00:00
moneromooo
4ac5dc07dc Remove some old code in rainactive 2014-12-31 15:06:40 +00:00
moneromooo
9d4895c8d4 Warn when we get flood protection notices 2014-12-31 11:56:37 +00:00
moneromooo
2c8ff697bd Rejig !commands to be less spammy
Commands are now organized per module, and full command sysnopsis
is only given for a module at a time
2014-12-31 10:32:50 +00:00
moneromooo
85a7348571 Fixup some import issues 2014-12-31 10:30:07 +00:00
moneromooo
a10b98eeba Better flood protection 2014-12-31 10:06:26 +00:00
moneromooo
997173f1c6 Move some config from the IRC module to the config module 2014-12-31 09:59:17 +00:00
moneromooo
92bd13fdcd Add hexists to redisdb 2014-12-30 22:48:44 +00:00
moneromooo
34d73d6460 Make modules freestanding
Remove __init__.py from tipbot/modules, allowing loading them
without having to declare them first
2014-12-30 13:12:13 +00:00
moneromooo
449ef1e594 Log the issuer when a command is found 2014-12-30 13:05:40 +00:00
moneromooo
6b6a1a67e7 Structural overhaul
Split the tipbot in modules:
- main modules to contain base functions by theme
- coin specs, to define a coin's specifics
- optional modules, defining commands/behaviors
2014-12-29 17:39:17 +00:00