Commit graph

761 commits

Author SHA1 Message Date
jesopo
1300310669 Use "wallets" for !richest, not "coins" 2018-10-18 13:38:54 +01:00
jesopo
b799f543a9 Internally use "wallets" to track users coins 2018-10-18 13:19:16 +01:00
jesopo
bd52297885 "," -> ", " in modules/words.py 2018-10-18 12:54:37 +01:00
jesopo
226d835374 Add !trackedwords in modules/words.py 2018-10-18 12:53:27 +01:00
jesopo
c1e5fd9a52 Coin amount is the second arg to !givecoins 2018-10-17 19:39:43 +01:00
jesopo
dd93a84f80 Put .strip("\n") call in the right place in modules/eval_python.py 2018-10-17 17:31:59 +01:00
jesopo
69f9aab4b9 Refer to out["out"], not just out, to get the output from eval 2018-10-17 15:11:05 +01:00
jesopo
10d403d24a Import json in modules/eval_python.py 2018-10-17 15:09:59 +01:00
jesopo
cfb9fa1c2e import json in EVAL_TEMPLATE and json parse response from eval api 2018-10-17 15:08:48 +01:00
jesopo
ecb2b1331a 'import StringIO' -> 'import io' in modules/eval_python.py 2018-10-17 15:06:54 +01:00
jesopo
f08624ddbd Escape \n in EVAL_TEMPLATE in modules/eval_python.py 2018-10-17 15:04:38 +01:00
jesopo
baa039e86d Add missing ":"s in EVAL_TEMPLATE in modules/eval_python.py 2018-10-17 15:03:41 +01:00
jesopo
3d34896beb Better handling of eval errors in modules/eval_python.py 2018-10-17 15:02:04 +01:00
jesopo
11944e348b Remove additional ")"s in modules/eval_python.py 2018-10-17 14:32:01 +01:00
jesopo
34c13c7916 html.unescape output in modules/eval_python.py 2018-10-17 14:30:59 +01:00
jesopo
2e54284fed Re-add new_coins variable in modules/coins.py.lottery, used for telling a user
what their balance is after winning the lottery
2018-10-17 14:18:14 +01:00
jesopo
c22d5a348f We should be changing bet_amounts instead of parsing a bet amount and doing
nothing with it :l
2018-10-17 08:40:23 +01:00
jesopo
95e98563d5 Typo on modules/set.py; 'events.call' -> 'events.on' 2018-10-16 23:13:19 +01:00
jesopo
b467220400 Typo in modules/coins.py; 'utils._parse_coins' -> 'self._parse_coins' 2018-10-16 17:17:10 +01:00
jesopo
547c57c8b8 str(utils.EventError) should be written to stderr, not stdout 2018-10-16 15:15:20 +01:00
jesopo
d07f9422f7 all_coins is a dictionary, thus needs .items() to turn it in to nickname, coins 2018-10-16 15:10:21 +01:00
jesopo
773d11f6cb Change all instances of stdout.write+return to raise utils.EventError in
modules
2018-10-16 15:09:58 +01:00
jesopo
42a1cda92c 'EventManager.EventError' -> 'utils.EventError' in modules/commands.py 2018-10-16 14:49:01 +01:00
jesopo
ba3cd00c78 Add utils.EventError, utilise it for stderr in commands.py/coins.py 2018-10-16 14:47:01 +01:00
jesopo
7a54076de1 Typo in modules/coins.py.send(), 'target' -> 'target_user' 2018-10-16 14:46:08 +01:00
jesopo
0c7c48d752 Move redeem-amount/redeem-delay logic to their own functions in modules/coins.py 2018-10-16 14:06:38 +01:00
jesopo
5d6a7a60eb Move logic to get all coins to it's own function in modules/coins.py 2018-10-16 13:58:02 +01:00
jesopo
ff7ac9fe89 Add missing help strings to commands in modules/coins.py 2018-10-16 13:53:32 +01:00
jesopo
7411c493f9 Move some more str(coins) calls to _coin_str(coins) in modules/coins.py 2018-10-16 13:46:25 +01:00
jesopo
1eab3178b3 Remove unneeded complexity in modules/coins.py.reset_coins 2018-10-16 13:43:45 +01:00
jesopo
7eb65ac1da modules/coins.py._take should have a server param 2018-10-16 13:41:02 +01:00
jesopo
5fc57ca143 Move logic for "take from user, give to pool" (and visa-versa) it's own
function, put user-to-user sending it's own function too
2018-10-16 13:39:45 +01:00
jesopo
955716c482 Remove more code duplication in modules/coins.py; move parsing amounts of coins
in to it's own function
2018-10-16 13:26:29 +01:00
jesopo
8aafa219ec Remove a large amount of code duplication in modules/coins.py 2018-10-16 13:05:55 +01:00
jesopo
743b3bc754 event["args"] is an array already, args_split does not exist. Also send raw
events from src/IRCServer.py as call_unsafe to make errors like that more
apparent.
2018-10-15 14:29:16 +01:00
jesopo
131ae4b40d Correctly check if someone's logged in to an account with extended-join 2018-10-15 14:16:11 +01:00
jesopo
be95fb8a6d event["server"] -> server in modules/coins.py 2018-10-14 19:43:46 +01:00
jesopo
54ba3c888c Catch ValueError from utils.parse_number, to allow other code to deal with
complaining about invalid numbers
2018-10-14 15:27:49 +01:00
jesopo
0ed0b235e9 Work directly from users in modules/coins.py.interest(), so as to not give
double-interest to two "users" online at the same time sharing the same identity
2018-10-14 14:30:19 +01:00
jesopo
a43d1cbb91 Add !lotterywinner in modules/coins.py, to show who last won the lottery 2018-10-14 13:51:32 +01:00
jesopo
104e1ab185 Actually return in modules/coins.py._total_coins 2018-10-14 08:38:58 +01:00
jesopo
403227b6df Check automode when BitBot joins a channel 2018-10-13 22:21:51 +01:00
jesopo
f40db7c9d2 Add missing ) in modules/coins.py 2018-10-13 22:20:40 +01:00
jesopo
c6f8754716 Move functionality of finding total in-circulation coins out to it's own
function
2018-10-13 16:57:18 +01:00
jesopo
b2f948a73b Add !totalcoins in modules/coins.py, to check what the total coins in
circulation is
2018-10-13 16:47:46 +01:00
jesopo
381b00f2cd Only get list of github-hook channels once 2018-10-13 09:16:22 +01:00
jesopo
912c693fcd !lotterybuy should require authentication because it uses coins 2018-10-13 01:16:18 +01:00
jesopo
bb531a6104 'redude' -> 'reduce' (my redudes), import random because i forgot to, don't
try to do lottery for networks that have no lottery tickets purchased
2018-10-13 01:14:07 +01:00
jesopo
00e5890a92 Fixed incorrect comment about what counts as high/low for roulette in
modules/coins.py
2018-10-13 00:44:04 +01:00
jesopo
95b398c422 Give coins lost to the house in roulette to the Bank 2018-10-13 00:32:27 +01:00
jesopo
4fc0ee09b6 Typo in modules/coins.py, 'redcude' -> 'reduce' 2018-10-12 20:20:47 +01:00
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
819f4e0680 Pass context-wrapped timers to each module, add ModuleManager.BaseModule.on_load 2018-10-12 18:07:23 +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
f096bddff4 Support unit-based bets (1k/1m/1b) in modules/coins.py 2018-10-12 11:19:41 +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
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
panicbit
c1495e9c1f Fix column obsession 2018-10-11 01:26:16 +02:00
panicbit
7fbd614909 Show new coin total after flipping a coin 2018-10-11 01:18:28 +02:00
jesopo
1e25990ce7 randbelow takes one argument 2018-10-10 18:12:54 +01:00
jesopo
796c3832b6 We're supposed to support passwords with spaces! 2018-10-10 14:27:07 +01:00
jesopo
68f5626189 Change utils.http to use requests 2018-10-10 13:41:58 +01:00
jesopo
0b44788ac5 Support coin bets without a whole number (e.g. '0.1' can be '.1') 2018-10-10 12:10:53 +01:00
jesopo
11d1e5c0e0 Only .strip '\n' from output in modules/eval_lua.py 2018-10-10 12:03:09 +01:00
jesopo
bcd123fc4f Use a better RNG in modules/coins.py (secrets.choice/secrets/randbelow) 2018-10-10 12:02:41 +01:00
jesopo
376825ea96 Mark command hooks that are aliases ('g' vs 'google') 2018-10-10 10:42:41 +01:00
jesopo
8842979205 Add "GTIN" to modules/upc.py error message, to better denote that we support
UPC.
2018-10-09 22:15:40 +01:00
jesopo
88e523c3de Add modules/eval_lua.py 2018-10-09 22:15:27 +01:00
jesopo
fa336d6023 .kill() a process when it times out 2018-10-08 23:35:37 +01:00
jesopo
3016916087 Typo on modules/google.py, 'html' -> 'http' 2018-10-08 23:34:22 +01:00
jesopo
639b21f145 Make git commit "add/mod/del" more concise 2018-10-08 15:09:28 +01:00
jesopo
6b42494b92 .strip("\n") from !rust API call return 2018-10-08 14:00:33 +01:00
jesopo
52405cbd9d Prefix !rust out/err with the requesting user's nickname 2018-10-08 12:55:10 +01:00
jesopo
de2a390d92 !eval -> !python in modules/eval_python.py 2018-10-08 12:51:04 +01:00
jesopo
19ffcacd4d We don't need to use \" inside a """ """ 2018-10-08 12:49:36 +01:00
jesopo
b462ac265e eval.py -> eval_python.py, rust_eval.py -> eval_rust.py 2018-10-08 12:47:48 +01:00