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 |
|
jesopo
|
c3e8e234eb
|
Typo, 'e' -> 'warning'
|
2018-09-25 11:02:31 +01:00 |
|
jesopo
|
894e95d37d
|
Fix typo that was causing database_backup.py to not work
|
2018-09-25 11:02:07 +01:00 |
|
jesopo
|
67edca067c
|
Be more verbose about reloading modules in modules.py
|
2018-09-24 16:15:44 +01:00 |
|
jesopo
|
bb641b0870
|
Move log and database files to their own folders
|
2018-09-24 15:26:31 +01:00 |
|
jesopo
|
ecb9d7cb3f
|
Move most code in root directory to src/
|
2018-09-24 15:13:27 +01:00 |
|
jesopo
|
da7e02ffc9
|
Remove empty spaces in coins.py
|
2018-09-24 13:25:09 +01:00 |
|
jesopo
|
fc643cc87a
|
last_called -> _last_called
|
2018-09-24 13:24:36 +01:00 |
|
jesopo
|
dd0ab3211e
|
Refactor define.py
|
2018-09-24 13:23:59 +01:00 |
|
jesopo
|
967ed65e00
|
Actually implement !reloadallmodules in modules.py
|
2018-09-24 13:18:15 +01:00 |
|
jesopo
|
b7f7c9342b
|
Better communicate issues with load/unload/reload of modules
|
2018-09-24 13:10:39 +01:00 |
|