jesopo
|
77cf1a6afe
|
Dict are immutable, duh.
|
2018-10-22 13:14:08 +01:00 |
|
jesopo
|
c6b8e4487d
|
Typo in help string in modules/coins.py, 'By' -> 'Buy'
|
2018-10-22 13:13:54 +01:00 |
|
jesopo
|
ec96eda1a3
|
_default_wallet is not _default_wallet_for
|
2018-10-22 13:13:30 +01:00 |
|
jesopo
|
8e2a3be90d
|
_default_wallets takes a user param
|
2018-10-22 13:13:13 +01:00 |
|
jesopo
|
d4aef86f7e
|
_default_wallet_for is for find the default type of a given wallet, not the
wallet for a given default type
|
2018-10-21 12:16:05 +01:00 |
|
jesopo
|
da5a53c9e0
|
Add missing .items() to dict iteration in modules/coins.py
|
2018-10-21 12:14:09 +01:00 |
|
jesopo
|
dd99460390
|
Show default wallet for wallet types when you don't specify 2 args to
!defaultwallet
|
2018-10-21 12:13:08 +01:00 |
|
jesopo
|
e614eb8e75
|
'DEFAULT_WALLETS' -> 'WALLETS_DEFAULTS'
|
2018-10-21 12:10:44 +01:00 |
|
jesopo
|
42123442dc
|
Add missing "," in modules/coins.py
|
2018-10-21 12:09:35 +01:00 |
|
jesopo
|
4dbad92f3b
|
use default "interest" wallet for interest and default "lottery" wallet for
lottery winnings
|
2018-10-21 12:08:29 +01:00 |
|
jesopo
|
30a1631edc
|
'WALLET_DEFAULT' -> 'WALLET_DEFAULT_NAME'
|
2018-10-21 12:00:19 +01:00 |
|
jesopo
|
87b3c47bcb
|
prevent !removewallet on any wallet that's configured as a default
|
2018-10-21 11:57:06 +01:00 |
|
jesopo
|
733d954dc8
|
Add configurable default wallets for different actions!
|
2018-10-21 11:52:12 +01:00 |
|
jesopo
|
b69e334ad0
|
wallet args in !roulette need to have their position calculated!
|
2018-10-21 08:21:58 +01:00 |
|
jesopo
|
8ea6db9422
|
Standardise "Failed to load results" errors!
|
2018-10-20 20:53:24 +01:00 |
|
jesopo
|
90c730979a
|
Typo in modules/coins.py, 'nickanme' -> 'nickname'
|
2018-10-20 19:08:46 +01:00 |
|
jesopo
|
7a94c1efff
|
_take takes a server param
|
2018-10-20 14:07:24 +01:00 |
|
jesopo
|
a47542bb5b
|
Add wallets to usage strings and add missing help in modules/coins.py
|
2018-10-20 14:00:28 +01:00 |
|
jesopo
|
e7bece4621
|
Use the correct arg_split index for parsing wallet in !givecoins
|
2018-10-20 13:55:47 +01:00 |
|
jesopo
|
44c67ad5d9
|
Typo in modules/channel_op, 'this' -> 'self'
|
2018-10-19 14:37:24 +01:00 |
|
jesopo
|
94a3461d39
|
Parse in/out wallet in the context of their relevant users
|
2018-10-19 13:03:21 +01:00 |
|
jesopo
|
b9d5db821e
|
We should be using _take, not _set_user_coins in !roulette
|
2018-10-19 12:12:27 +01:00 |
|
jesopo
|
ae07ea9da1
|
Actually by-default give people the default wallet
|
2018-10-19 11:50:11 +01:00 |
|
jesopo
|
093ff298ec
|
Use genexprs for sum() throughout modules/coins.py
|
2018-10-19 11:48:21 +01:00 |
|
jesopo
|
a5c9568d23
|
send() should check all user coins when checking for redeem-amount
|
2018-10-19 11:47:34 +01:00 |
|
jesopo
|
71da117060
|
_default_wallets takes a user param
|
2018-10-19 11:44:59 +01:00 |
|
jesopo
|
b930f3c0cf
|
Dangerous typo in modules/coins.py - 'wallet' -> 'wallets'
|
2018-10-19 11:38:23 +01:00 |
|
jesopo
|
303640844d
|
Typo in modules/coins.py, 'DEFAUT' -> 'DEFAULT'
|
2018-10-19 11:35:25 +01:00 |
|
jesopo
|
ba1079d661
|
Protect against unknown wallets, show "new total" of output wallet when a coin
flip is won
|
2018-10-19 11:34:18 +01:00 |
|
jesopo
|
ab4f65f8de
|
Correctly pass wallet through in _give/_take/_move
|
2018-10-19 11:24:44 +01:00 |
|
jesopo
|
3e65983fbc
|
_user_has_wallet takes a user param!
|
2018-10-19 11:21:37 +01:00 |
|
jesopo
|
472c4fb1f3
|
Typo in modules/coins.py, "len(list > 2)" -> "len(list) > 2"
|
2018-10-19 11:15:41 +01:00 |
|
jesopo
|
74330f5dee
|
Add another missing ")" in modules/coins.py
|
2018-10-19 11:00:57 +01:00 |
|
jesopo
|
43bf2b9935
|
Add missing ")" in modules/coins.py
|
2018-10-19 11:00:02 +01:00 |
|
jesopo
|
8fae2394cb
|
Allow users to add/remove wallets and specify which wallets to use with
commands that effect coins!
|
2018-10-19 10:58:36 +01:00 |
|
jesopo
|
87fc3cda55
|
Catch exceptions in modules/title.py
|
2018-10-19 10:31:45 +01:00 |
|
jesopo
|
fc36e5bbeb
|
Typo in modules/coins.py, 'user' -> 'event["user"]'
|
2018-10-18 15:26:28 +01:00 |
|
jesopo
|
f5ac44f1c6
|
_user_has_wallet takes a user arg
|
2018-10-18 15:25:42 +01:00 |
|
jesopo
|
d2557cbc4f
|
Show the coins a user has in a specified wallet when a wallet is specified to
!wallet
|
2018-10-18 15:24:33 +01:00 |
|
jesopo
|
79c4a357d7
|
Typo in modules/coins.py, 'commands' -> 'command'
|
2018-10-18 15:20:05 +01:00 |
|
jesopo
|
07903c15ff
|
put "default" wallet in to a const, pass wallet arg through function calls, add
!wallet
|
2018-10-18 15:18:16 +01:00 |
|
jesopo
|
79837fe6a4
|
Remove debug print in modules/coins.py
|
2018-10-18 14:31:51 +01:00 |
|
jesopo
|
3ab30ad6d8
|
Change interest rates to use wallets
|
2018-10-18 14:28:48 +01:00 |
|
jesopo
|
8388c6e05a
|
Remove now-unneeded code, change _total_coins to use _all_coins
|
2018-10-18 13:49:32 +01:00 |
|
jesopo
|
c3fb63e03c
|
Typo in modules/coins.py, 'wallet' -> 'user_coins'
|
2018-10-18 13:45:38 +01:00 |
|
jesopo
|
ebdbc75a7e
|
coins should be (nickname, coins) not just coins
|
2018-10-18 13:43:26 +01:00 |
|
jesopo
|
7f8acf58c7
|
Typo in modules/coins.py, "coin_settings" -> "coins"
|
2018-10-18 13:40:36 +01:00 |
|
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 |
|
jesopo
|
0b975b72de
|
Add !rust in modules/rust_eval.py
|
2018-10-08 12:43:47 +01:00 |
|
jesopo
|
fdccba9bf0
|
Change modules/signals.py to use bot.trigger(), add a !serverset @utils.export
for quit-quote
|
2018-10-07 11:28:51 +01:00 |
|
jesopo
|
af39136f83
|
Pass $HOME and $PATH through to scripts in modules/scripts.py
|
2018-10-07 11:24:00 +01:00 |
|