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 |
|
jesopo
|
02c3a5c336
|
Also capture stderr from scripts in modules/scripts.py
|
2018-10-07 08:22:46 +01:00 |
|
jesopo
|
dc37eb4f2f
|
I always forget about scopes in for loops
|
2018-10-07 08:10:52 +01:00 |
|
jesopo
|
fab3caa7be
|
do send.stdout event call in bot.trigger func param
|
2018-10-07 08:03:58 +01:00 |
|
Evelyn
|
9c15431925
|
Life's but a walking shadow, a poor player that struts and frets his hour upon the stage, and then is heard no more. It is a tale told by an idiot, full of sound and fury, signifying nothing
|
2018-10-06 22:30:26 +01:00 |
|
jesopo
|
69eda4bf1b
|
Allow user/channel/server/bot settings to be "hidden" from settings lists in
modules/set.py
|
2018-10-06 17:16:17 +01:00 |
|
jesopo
|
0cf7deed24
|
Slightly change format of commit messages in modules/github.py
|
2018-10-06 16:44:39 +01:00 |
|
jesopo
|
930a4bcbc2
|
Correctly scope 'filename' in modules/script.py._load_scripts
|
2018-10-06 16:18:59 +01:00 |
|
jesopo
|
79aff93b5d
|
Add a ControlSocket client to IRCBot.py, use it to trigger the epoll loop when a
github webhook has been caught!
|
2018-10-06 15:45:56 +01:00 |
|
jesopo
|
0a609ca695
|
Strip/replace \n from git commit messages in modules/github.py
|
2018-10-06 15:42:57 +01:00 |
|
jesopo
|
1fa66eebc6
|
Attempt to register servers for read/write when sending github hook notices
|
2018-10-06 10:02:02 +01:00 |
|
jesopo
|
df94020ef5
|
Add database.find_by_setting, send github commits to interested channels
|
2018-10-06 09:54:21 +01:00 |
|
jesopo
|
4296d1ee8e
|
raw.* events should be call_unsafe
|
2018-10-06 09:30:40 +01:00 |
|
jesopo
|
908edeb1e1
|
Typo in modules/github.py ('command' -> 'commit') and declare event_response
outside of try/except in modules/rest_api.py
|
2018-10-06 09:24:43 +01:00 |
|
jesopo
|
c3ace4be2e
|
Return 500 when an exception is thrown, never try to .encode None
|
2018-10-06 09:23:50 +01:00 |
|
jesopo
|
b0c27eff0b
|
Typo, add missing "
|
2018-10-05 23:32:20 +01:00 |
|
jesopo
|
d817ec9832
|
Add the basics of a github webhook in modules/github.py
|
2018-10-05 23:29:59 +01:00 |
|
jesopo
|
ff00ec1226
|
Require modules/rest_api.py has tls cert/key
|
2018-10-05 23:16:34 +01:00 |
|
jesopo
|
b3f8933f3f
|
POST shouldn't use body as 'params'
|
2018-10-05 23:14:32 +01:00 |
|
jesopo
|
95e7b9ea77
|
Support POST through modules/rest_api.py
|
2018-10-05 22:49:06 +01:00 |
|
jesopo
|
bc3c9b742e
|
Add api.server endpoint for individual server information
|
2018-10-05 09:51:17 +01:00 |
|
jesopo
|
808694c113
|
Return more info for api.servers and api.channels
|
2018-10-05 09:46:03 +01:00 |
|
jesopo
|
187220c25e
|
Remove prints
|
2018-10-05 09:45:49 +01:00 |
|
jesopo
|
e5f475cdeb
|
Allow API endpoints to not request authentication
|
2018-10-04 17:59:24 +01:00 |
|
jesopo
|
f31fdc48b3
|
Add api.modules in modules/stats.py
|
2018-10-04 17:37:47 +01:00 |
|
jesopo
|
52b7beb407
|
Provide more information for api.channels
|
2018-10-04 17:37:34 +01:00 |
|
jesopo
|
d7f4050ae8
|
Strip empty /path/arguments in modulse/rest_api.py
|
2018-10-04 17:37:03 +01:00 |
|
jesopo
|
f8170d8751
|
Use URL path for args, not get params
|
2018-10-04 17:21:40 +01:00 |
|
jesopo
|
b341320e37
|
Add api.servers endpoint
|
2018-10-04 17:18:40 +01:00 |
|
jesopo
|
7fc0359e3d
|
Make sure bot.lock is released in do_GET
|
2018-10-04 17:18:24 +01:00 |
|
jesopo
|
fdddb33f32
|
Added api.channels handler
|
2018-10-04 17:10:15 +01:00 |
|
jesopo
|
a220ff8485
|
Timeout REST API requests after 10 seconds
|
2018-10-04 17:10:05 +01:00 |
|
jesopo
|
57b72a94c5
|
Implement !botset/!botget in modules/set.py
|
2018-10-04 17:09:52 +01:00 |
|
jesopo
|
a533228112
|
Implement api keys in modules/rest_api.py
|
2018-10-04 17:09:35 +01:00 |
|
jesopo
|
82b40cc8b2
|
Add basics of (by-default disabled) REST API
|
2018-10-04 16:01:13 +01:00 |
|
jesopo
|
1c20eab9d6
|
send.stdout/send.stderr need a server kwarg
|
2018-10-04 14:44:33 +01:00 |
|
Evelyn
|
6a0dfdc663
|
NR: Slightly shorten service output
|
2018-10-04 14:13:13 +01:00 |
|
jesopo
|
6b122523c0
|
Improve(?) IPv6 regex
|
2018-10-04 13:19:59 +01:00 |
|
jesopo
|
26b653555b
|
Look back through scrollback to find ipv4/ipv6 addresses to get rDNS for
|
2018-10-04 12:15:15 +01:00 |
|
jesopo
|
18b227cbc4
|
Update modules/channel_op.py to use docstring prefix denotation
|
2018-10-04 11:05:43 +01:00 |
|
jesopo
|
b778ad2902
|
Support denoting command response [prefix] in docstring
|
2018-10-04 11:04:24 +01:00 |
|
jesopo
|
ded6ff03ce
|
Also catch gaierror in !rdns, print e.strerror instead of str(e)
|
2018-10-04 10:29:22 +01:00 |
|
jesopo
|
078891127d
|
Combile modules/dns.py and modules/geoip.py in to modules/ip_addresses.py, add
!rdns command
|
2018-10-04 10:18:44 +01:00 |
|