jesopo
|
73077b9bbf
|
'continue' -> 'return' in moules/badwords.py
|
2018-10-28 14:02:43 +00:00 |
|
jesopo
|
82f8a23503
|
badwords shouldn't effect users with +v or above
|
2018-10-28 14:01:54 +00:00 |
|
jesopo
|
85f86f9d8a
|
Pretend badwords list is zero-indexed
|
2018-10-28 12:44:48 +00:00 |
|
jesopo
|
73a33633e2
|
Fix wording for !badwordsdel (copypaste fail!)
|
2018-10-28 12:41:01 +00:00 |
|
jesopo
|
996df4dc5e
|
Correctly use enumerate() in modules/badwords.py.badwords_list
|
2018-10-28 12:40:39 +00:00 |
|
jesopo
|
53f027bea1
|
'pattern' -> 'badword'
|
2018-10-28 12:37:32 +00:00 |
|
jesopo
|
0ff934d5b9
|
'received.message.channel' uses 'channel' not 'target' as event kwarg
|
2018-10-28 12:36:28 +00:00 |
|
jesopo
|
7472079f60
|
'badowrds' -> 'badwords'
|
2018-10-28 12:35:35 +00:00 |
|
jesopo
|
27bfe2e23d
|
Yet another typo in modules/badwords.py, 'get_getting' -> 'get_setting'
|
2018-10-28 12:34:18 +00:00 |
|
jesopo
|
09779ca570
|
'channel' -> 'target' in modules/badwords.py
|
2018-10-28 12:33:26 +00:00 |
|
jesopo
|
60421382d4
|
Fix typo in modules/badwords.py, 'events' -> 'event'
|
2018-10-28 12:32:24 +00:00 |
|
jesopo
|
c28c85cdd6
|
Add missing ":" in modules/badwords.py
|
2018-10-28 12:31:42 +00:00 |
|
jesopo
|
d3563eea69
|
Add missing ")" in modules/badwords.py
|
2018-10-28 12:30:53 +00:00 |
|
jesopo
|
c577f9d1ad
|
Add first version of modules/badwords.py
|
2018-10-28 12:29:35 +00:00 |
|
jesopo
|
b34f4d70a5
|
Remove extra ) in modules/commands.py
|
2018-10-28 11:54:55 +00:00 |
|
jesopo
|
5553ac9e49
|
Typo in modules/command.py, 'is' -> 'if'
|
2018-10-28 11:53:31 +00:00 |
|
jesopo
|
ec72787f86
|
Support multiple "usage" values in commands.py
|
2018-10-28 11:50:56 +00:00 |
|
jesopo
|
c5e1fafeb1
|
Put a dash between commit message and commit url
|
2018-10-26 11:28:01 +01:00 |
|
jesopo
|
e9ed153aa3
|
Put commit urls on github webhook notices in modules/github.py
|
2018-10-26 11:25:28 +01:00 |
|
jesopo
|
fd9778bd25
|
Redo lottery timer in modules/coins.py
|
2018-10-24 16:03:28 +01:00 |
|
jesopo
|
a1e77c40e8
|
Give page an initial value of None, in case the get_url call fails in
modules/eval_python.py
|
2018-10-24 13:54:22 +01:00 |
|
jesopo
|
f89b96f373
|
Move taking a reference to sys.stdout above fail() in modules/eval_python.py
|
2018-10-24 13:54:03 +01:00 |
|
jesopo
|
46179d2f38
|
There's no self in eval_python's template!
|
2018-10-24 13:50:50 +01:00 |
|
jesopo
|
7f9399a925
|
Specifically catch SyntaxError in modules/eval_python.py
|
2018-10-24 13:43:34 +01:00 |
|
jesopo
|
99f896ebdd
|
Catch syntax errors with .py/.py2
|
2018-10-24 13:40:56 +01:00 |
|
jesopo
|
ae0825650e
|
.items() -> .values()
|
2018-10-23 13:39:40 +01:00 |
|
jesopo
|
1794da1f66
|
Typo in modules/coins.py, 'amount_amount_total' -> 'bet_amount_total'
|
2018-10-23 13:38:04 +01:00 |
|
jesopo
|
e9fcd0c5e2
|
Re-move taking payin to before payout, better logic around win/odds to show it
correctly but still give back your bet amount
|
2018-10-23 13:36:33 +01:00 |
|
jesopo
|
7508b0f5e7
|
Switch back to only taking losses when they're losses, instead of taking payin
and then giving it back after the roulette spin
|
2018-10-23 13:20:13 +01:00 |
|
jesopo
|
db5d9fdb42
|
_take already gives back to pool
|
2018-10-23 13:19:51 +01:00 |
|
jesopo
|
7c04ff2e89
|
Don't try to parse wallet args as a bet amount in modules/coins.py
|
2018-10-23 00:36:02 +01:00 |
|
jesopo
|
69ebba27bb
|
Roulette wins should include the payin
|
2018-10-22 20:23:28 +01:00 |
|
jesopo
|
046e8935df
|
When deleting a wallet, shift funds to default 'in' wallet instead of assuming a
user has a 'default' named wallet
|
2018-10-22 16:49:20 +01:00 |
|
jesopo
|
e4be2cf339
|
Fix indication of optionalness of wallet param of !defaultwallet
|
2018-10-22 16:23:56 +01:00 |
|
jesopo
|
2e6db95574
|
Copypaste fail in modules/coins.py, 'row' -> 'i'
|
2018-10-22 14:23:09 +01:00 |
|
jesopo
|
1614ad9c48
|
Add lcorner/rcorner bets to !roulette in modules/coins.py
|
2018-10-22 14:22:10 +01:00 |
|
jesopo
|
84b4a064b8
|
Add double streets to !roulette in modules/coins.py
|
2018-10-22 14:11:32 +01:00 |
|
jesopo
|
399e20acc7
|
Fix copypaste fail in modules/coins.py.move_coins
|
2018-10-22 14:01:34 +01:00 |
|
jesopo
|
ddcd99405a
|
Add !movecoins in modules/coins.py
|
2018-10-22 13:59:25 +01:00 |
|
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 |
|
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 |
|
jesopo
|
d89c984d95
|
'ModuleWarning' -> 'ModuleManager.ModuleWarning' in modules/modules.py
|
2018-10-04 10:18:17 +01:00 |
|
jesopo
|
75f25db4cd
|
Move 'top 10' logic to utils, add !wordiest to modules/words.py
|
2018-10-04 05:33:15 +01:00 |
|
jesopo
|
17caaa08dd
|
Actually use the sorted mode list in print_activity
|
2018-10-04 04:46:32 +01:00 |
|
jesopo
|
75f8f4d955
|
Fix order of user status symbols in modules/print_activity.py
|
2018-10-03 17:11:01 +01:00 |
|
jesopo
|
09b6f52d8e
|
Fix showing usage when a user doesn't provide enough args to a command
|
2018-10-03 17:01:26 +01:00 |
|
jesopo
|
02e76444d1
|
Add 'remove_empty' kwarg for commands, to strip out empty space
|
2018-10-03 17:01:10 +01:00 |
|
jesopo
|
04ab018048
|
Correctly get BitBot's own modes in modules/print_activity.py
|
2018-10-03 16:47:52 +01:00 |
|
jesopo
|
84ebe5351b
|
Replace ' ' with '+' in modules/define.py's URL-getting
|
2018-10-03 16:45:19 +01:00 |
|
jesopo
|
ce2231900d
|
Print user status symbols in modules/print_activity.py
|
2018-10-03 16:44:44 +01:00 |
|
jesopo
|
98207be7b1
|
'mode_prefixes' -> prefix_modes and prefix_symbols
|
2018-10-03 16:44:00 +01:00 |
|
jesopo
|
27c191a668
|
Remove unneeded \n
|
2018-10-03 16:00:07 +01:00 |
|
jesopo
|
cf397c395d
|
Update old usage/help method
|
2018-10-03 15:59:49 +01:00 |
|
jesopo
|
89951aace5
|
Add !connect in modules/admin.py
|
2018-10-03 15:59:36 +01:00 |
|
jesopo
|
69d58eede2
|
Move src/Utils.py in to src/utils/, splitting functionality out in to modules of
related functionality
|
2018-10-03 13:22:37 +01:00 |
|
jesopo
|
489d508997
|
Fix BATCH parsing
|
2018-10-03 11:32:20 +01:00 |
|
jesopo
|
2b349105aa
|
Move parsing IRC lines to src/Utils.py, added base support for parsing outgoing
messages
|
2018-10-03 11:31:51 +01:00 |
|
Evelyn
|
92477e0fba
|
NR: Fix message colouring
|
2018-10-03 07:19:59 +01:00 |
|
jesopo
|
9118af5e9c
|
Support changing command responses from PRIVMSG to NOTICE
|
2018-10-02 21:40:34 +01:00 |
|
jesopo
|
22740e2faa
|
Re-add lost "!" prefix on stderr prefix
|
2018-10-02 17:48:07 +01:00 |
|
jesopo
|
e27c0e0a0c
|
Simplify modules/line_handler.handle
|
2018-10-02 17:47:45 +01:00 |
|
jesopo
|
8f05f66a03
|
.strip() target name in !karma
|
2018-10-02 15:14:42 +01:00 |
|
jesopo
|
a9b0dd331b
|
Correctly set nickname-only karma
|
2018-10-02 15:14:34 +01:00 |
|
jesopo
|
c7e4ae6e12
|
use Utils.irc_lower, not .lower()
|
2018-10-02 15:14:06 +01:00 |
|
jesopo
|
150788c6c6
|
Add !leave to modules/channel_op.py
|
2018-10-02 14:55:12 +01:00 |
|
jesopo
|
16474dacef
|
Don't complain when modules/karma.py can't find a user when it's in
karma-nickname-only mode
|
2018-10-02 14:35:35 +01:00 |
|
jesopo
|
67c22416cc
|
Use PRIORITY_MONITOR for keeping count of words (to avoid seeing commands)
|
2018-10-02 14:29:51 +01:00 |
|
jesopo
|
64733eb37f
|
Implement karma-nickname-only, to only allow karma for users in the current
channel
|
2018-10-02 14:29:32 +01:00 |
|
jesopo
|
a7563c9653
|
Pass msgid in send_stdout/send_stdin in modules/commands.py
|
2018-10-02 14:22:42 +01:00 |
|
jesopo
|
a76f206551
|
It's 'draft/msgid' not just 'msgid', also actually store 'msgid' in self._msgid
|
2018-10-01 17:52:04 +01:00 |
|
jesopo
|
26bfd61487
|
The correct msgid reply tag (at the moment) is '+draft/reply'
|
2018-10-01 17:28:45 +01:00 |
|
jesopo
|
976b6ae335
|
Better support for msgtags with PRIVMSGs; put functionality in to
modules/commands.py to reply to specific messages by use of msgids
|
2018-10-01 17:26:31 +01:00 |
|
jesopo
|
e9416034df
|
Typo in modules.commands.py, 'unsafe_call' -> 'call_unsafe'
|
2018-10-01 16:32:24 +01:00 |
|
jesopo
|
ee96b3310b
|
Some networks send NICK as 'nick!user@host NICK newnick` instead of
'nick!user@host NICK :newnick' (which is RFC compliant but BitBot didn't support
it)
|
2018-10-01 16:13:08 +01:00 |
|
jesopo
|
7eb31820d7
|
Add call_unsafe functions to EventManager.EventHook, to not swallow errors on
specific function calls (e.g. preprocess.command)
|
2018-10-01 16:04:06 +01:00 |
|
jesopo
|
59243f492f
|
Implement src/IRCObject.py to convert specific objects in to strings when
passing them to modules/scripts.py scripts
|
2018-10-01 13:48:55 +01:00 |
|
jesopo
|
120acf54ec
|
Add 'trace' logging level for src/Database.py and src/EventManager.py very
verbose debugging
|
2018-10-01 13:48:22 +01:00 |
|
jesopo
|
300eadf9b6
|
Change modules/line_handler.py to use @Utils.hook
|
2018-10-01 13:47:45 +01:00 |
|
jesopo
|
31c19aec69
|
Added setpassword command to modules/permissions.py
|
2018-09-30 22:11:37 +01:00 |
|
jesopo
|
1cbca6fb88
|
Update a reference from buffer to target.buffer in modules/commands.py
|
2018-09-30 20:53:58 +01:00 |
|
jesopo
|
a879125883
|
Typo in modules/check_mode.py; 'required_mode' -> 'require_mode'
|
2018-09-30 20:53:36 +01:00 |
|
jesopo
|
43740d40f4
|
Add modules/strip_color.py
|
2018-09-30 20:12:11 +01:00 |
|
jesopo
|
c87728a87d
|
Move src/IRCLineHandler.py to modules/line_handler.py
|
2018-09-30 19:43:20 +01:00 |
|
jesopo
|
10ef985a8a
|
Switch to using docstring for usage, permission and require_mode
|
2018-09-30 17:29:09 +01:00 |
|
jesopo
|
16dc2c39a9
|
Refactor modules/channel_op.py and add !tempban/!tempkickban
|
2018-09-30 13:28:26 +01:00 |
|
jesopo
|
30641ce312
|
We don't need to explicitly pass "buffer" through on command events
|
2018-09-30 11:43:34 +01:00 |
|
jesopo
|
7ab8948101
|
Fix piece of modules/define.py._get_definition( that was accepting a word or an
event.
|
2018-09-30 10:27:50 +01:00 |
|
jesopo
|
aa0c9ec9f1
|
Update modules/signals.py to use the new Config "system"
|
2018-09-29 20:27:20 +01:00 |
|
jesopo
|
bcb67db3fd
|
Add !reloadscripts to modules/scripts.py
|
2018-09-29 15:05:50 +01:00 |
|
jesopo
|
47ec11bbef
|
Add src/Cache.py, use it in modules/coins.py
|
2018-09-29 12:53:39 +01:00 |
|
jesopo
|
c5a7978c9b
|
Make 'account' arg for identify command optional
|
2018-09-29 10:51:16 +01:00 |
|
jesopo
|
3dbd997a90
|
Better .strip()/.split() logic for !help
|
2018-09-29 10:50:25 +01:00 |
|
jesopo
|
c12e8220ac
|
Strip trailing newlines from scripts.py returns
|
2018-09-29 09:46:47 +01:00 |
|
jesopo
|
1721e40c61
|
Add scripts.py, to support basic modules in languages other than python
|
2018-09-29 09:45:08 +01:00 |
|
jesopo
|
746155fd57
|
Support command hooks not coming from a class instance
|
2018-09-29 09:44:13 +01:00 |
|
jesopo
|
7c7e5553d1
|
Update ModuleManager.load_module calls in modules.py
|
2018-09-29 09:23:57 +01:00 |
|
jesopo
|
a8bf3c9300
|
Remove cyclical references to IRCBot
|
2018-09-28 16:51:36 +01:00 |
|
jesopo
|
02a2b41246
|
Fix typo in database_backup.py, 'ocation' -> 'location'
|
2018-09-27 14:06:46 +01:00 |
|
jesopo
|
0fb947dc5a
|
'full_location' -> 'location' in database_backup.py
|
2018-09-27 13:16:27 +01:00 |
|
jesopo
|
8dc83e5aac
|
Put linebreak in a better place for @Utils.export in bot_channel.py
|
2018-09-27 12:10:54 +01:00 |
|
jesopo
|
b2bdd93f09
|
Change old-style event hook in coins.py
|
2018-09-27 12:08:26 +01:00 |
|
jesopo
|
6eb8b1ba6d
|
Move all exports to @Utils.export calls
|
2018-09-27 12:08:07 +01:00 |
|
jesopo
|
8b0314b190
|
Use ModuleManager.BaseModule in more modules
|
2018-09-27 11:46:10 +01:00 |
|
jesopo
|
f3d98d0e95
|
Implement @Utils.export, to denote an export on a module
|
2018-09-27 11:45:23 +01:00 |
|
jesopo
|
6274159ac6
|
Fix event typo in greeting.py ("recevied" -> "received")
|
2018-09-27 10:27:19 +01:00 |
|
jesopo
|
9a7b93928b
|
Didn't mean to commit this module yet.
|
2018-09-26 20:39:24 +01:00 |
|
jesopo
|
51a52e2b0e
|
Switch to using @Utils.hook and docstrings for event hooks
|
2018-09-26 18:27:17 +01:00 |
|
jesopo
|
4d41848b57
|
Also use docstrings to check if a command has help available, allow one-string
denotation of multiple event hooks
|
2018-09-26 18:26:29 +01:00 |
|
jesopo
|
ebc77fa501
|
Support using docstrings as command help
|
2018-09-26 15:58:16 +01:00 |
|
jesopo
|
8d946fb60b
|
Add !suggest, to get suggested searches from google
|
2018-09-26 14:36:33 +01:00 |
|