Commit graph

3182 commits

Author SHA1 Message Date
jesopo
59bc75988b Default !lotterybuy to 1 ticket 2018-10-12 20:20:32 +01:00
jesopo
c5b07f520e Add !nextlottery to modules/coins.py 2018-10-12 18:33:34 +01:00
jesopo
ed03279406 Correct the logic used to find the time until the next lottery 2018-10-12 18:31:28 +01:00
jesopo
0a93e76333 Use Timers.get_timers() instead of Timers.timers 2018-10-12 18:15:22 +01:00
jesopo
e901f105dd Actually pass timers to src/ModuleManager.py 2018-10-12 18:13:48 +01:00
jesopo
819f4e0680 Pass context-wrapped timers to each module, add ModuleManager.BaseModule.on_load 2018-10-12 18:07:23 +01:00
jesopo
cb94fa9ae4 Add TimersContext, to be able to purge timers when modules are unloaded 2018-10-12 17:54:15 +01:00
jesopo
278ab7d76f Use UTC in modules/coins.py 2018-10-12 17:53:57 +01:00
jesopo
d4b46360d4 Implement 4-times-daily lottery in module/coins.py and address all stderrs to
the relevent user
2018-10-12 17:40:37 +01:00
jesopo
dda60ae417 _give_from_pool/_take_from_pool take a server argument 2018-10-12 16:27:59 +01:00
jesopo
bab555207c Show cents in !bank balance in modules/coins.py 2018-10-12 16:08:22 +01:00
jesopo
54ad29cc3a Introduce a finite coin system in modules/coins.py 2018-10-12 15:55:32 +01:00
jesopo
8b03ecef21 Change modules/in.py to use bot.get_server 2018-10-12 14:04:14 +01:00
jesopo
a15a2e3444 modules/coins.py.send should be checking user_coins before the send amount is
taken away, not after
2018-10-12 13:53:15 +01:00
jesopo
8eb5c11979 ' -> " in modules/eval_python.py 2018-10-12 13:23:54 +01:00
jesopo
c66b376e7f Use compile+eval to support statements and expressions 2018-10-12 13:18:06 +01:00
jesopo
4700402db4 Add a \n between potential prints in eval() and printing the return from eval so
that bitbot will only show one of them
2018-10-12 12:46:05 +01:00
jesopo
b884b0e170 Support py2 and py3 in eval_python 2018-10-12 12:39:01 +01:00
jesopo
b2dd75d68f Use a more reliable API for evaling python 2018-10-12 11:56:13 +01:00
jesopo
d460375629 Use decimal.Decimal in utils.parse_number 2018-10-12 11:28:14 +01:00
jesopo
d427e29936 Actually pass format args to ValueErrors in utils.parse_number 2018-10-12 11:21:57 +01:00
jesopo
f096bddff4 Support unit-based bets (1k/1m/1b) in modules/coins.py 2018-10-12 11:19:41 +01:00
jesopo
a810d273d1 int(number) after we've checked .isdigit() in utils.parse_number 2018-10-12 11:19:04 +01:00
jesopo
9771fc9f7a Add utils.parse_number, to turn 1k/1m/1b in to 1_000/1_000_000/1_000_000_000 2018-10-12 11:16:39 +01:00
jesopo
e96c983dca Check a channel's automode when automode is turned on in modules/auto_mode.py 2018-10-12 10:57:47 +01:00
jesopo
787053b605 Fire an event when a user/channel/server/bot setting is set in modules/set.py 2018-10-12 10:57:11 +01:00
jesopo
6e605207e6 Add !todomove in modules/todo.py 2018-10-12 10:49:38 +01:00
jesopo
382728e83e Add ` and * to characters stripped from start/end or words in modules/words.py 2018-10-12 08:38:29 +01:00
jesopo
e6a55b2b22 Improve "non-complete line" TRACE log 2018-10-11 18:07:11 +01:00
jesopo
dceed3d439 TRACE log when we receive and buffer a non-complete line 2018-10-11 17:56:19 +01:00
jesopo
3d2acc2f61 Don't calculate user_coins(+/-)coin_bet twice 2018-10-11 14:13:37 +01:00
jesopo
a9202a6abf Add !py as an alias of !python in modules/eval_python.py 2018-10-11 13:32:28 +01:00
jesopo
df150635df Correct the way !givepermission checks if a user is identified 2018-10-11 13:16:55 +01:00
jesopo
2c815f4bbc Strip specific characters from the front of words too (and add more characters
to strip from the end) in modules/words.py
2018-10-11 13:04:54 +01:00
jesopo
0e2140b99f Also strip "." from the end of words in modules/words.py 2018-10-11 12:56:18 +01:00
jesopo
98cdfa6419 Strip common characters that mark the end of a word (":;,!?~") from the end of
words in modules/words.py
2018-10-11 12:55:19 +01:00
jesopo
1c2504ac98 Add modules/rot13.py 2018-10-11 12:44:22 +01:00
jesopo
23b7223fae Add !syncmodes in modules/auto_mode.py, fire internal.identified in
modules/permissions.py and catch it in modules/auto_mode.py to give users modes
when they identify using the internal identity mechanism
2018-10-11 11:20:53 +01:00
jesopo
41278cba81 Remove one-too-many indent in modules/coins.py 2018-10-11 10:35:41 +01:00
jesopo
f0f0abcd84
Merge pull request #25 from panicbit/patch-2
Fix column obsession
2018-10-11 10:35:07 +01:00
jesopo
8fd12affff
Merge branch 'master' into patch-2 2018-10-11 10:34:57 +01:00
panicbit
c1495e9c1f Fix column obsession 2018-10-11 01:26:16 +02:00
jesopo
4a04b1faad 80 cols! 2018-10-11 00:24:46 +01:00
jesopo
f8fb422cbd
Merge pull request #24 from panicbit/patch-1
Show new coin total after flipping a coin
2018-10-11 00:21:35 +01:00
panicbit
7fbd614909 Show new coin total after flipping a coin 2018-10-11 01:18:28 +02:00
jesopo
c655668bbe Add fallback_encoding to utils.http.get_url, in case a page has no implicit
encoding
2018-10-10 23:49:59 +01:00
jesopo
1e25990ce7 randbelow takes one argument 2018-10-10 18:12:54 +01:00
jesopo
f286f3bf48 .decode data prior to json.loads in utils.http.get_url 2018-10-10 15:25:08 +01:00
jesopo
951c315cec Fix syntax error for throwing a timeout when signal.alarm fires 2018-10-10 15:07:04 +01:00
jesopo
015fa8ddff .decode plaintext returns from utils.http.get_url 2018-10-10 15:06:30 +01:00