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
dngfx
c3c3eba476
Fix permission bug
2018-09-23 11:09:46 +01:00
dngfx
36f0672f2b
Fix permission bug
2018-09-23 11:06:15 +01:00
dngfx
1d3f05a8fe
Add .reloadallmodules, and fix permissions.
2018-09-23 11:01:24 +01:00
dngfx
8b8c59ee21
Rename the functions to be more generic.
2018-09-23 10:23:12 +01:00
dngfx
a37dfe5301
Remove superfluous function.
2018-09-23 10:20:20 +01:00
dngfx
e8bdcf8f19
Remove intrusive styling.
2018-09-23 10:16:43 +01:00
dngfx
fdcf3e45c7
Add .randomword command, and change the api to use https
2018-09-23 09:52:53 +01:00
dngfx
0cb2c43ee3
Add setcoins command for admins, for people that abuse the coin game, or rewards and such.
2018-09-23 07:04:50 +01:00
dngfx
bb15f8b8e2
make last.fm say "is now playing", if they're currently playing.
2018-09-23 02:21:43 +01:00
dngfx
d335deed40
make last.fm say "is now playing", if they're currently playing.
2018-09-23 01:39:38 +01:00
dngfx
e5283ed2e2
Update last.fm to include a youtube link. Also change the module name to last.fm
2018-09-23 00:55:36 +01:00
dngfx
9220f84c27
clear channel.games properly.
2018-09-22 20:08:07 +01:00
dngfx
56afe77b52
Fix duck timing and stupid indenting.
2018-09-22 19:32:54 +01:00
dngfx
1a54c11df8
Fix ducks.py having a superfluous function
2018-09-22 19:28:57 +01:00
dngfx
febb6d66e3
font reset at the beginning of commands to stop wonkiness with highlighting and fix duck decoys.
2018-09-22 19:10:52 +01:00
dngfx
000ee14711
Make tweets say Twitter instead of tweets, and update ducks to add decoys and make minimum/unique a channel setting rather than hard setting.
2018-09-22 16:02:39 +01:00
jesopo
3c3583e30c
Disable sed by default
2018-09-21 11:55:17 +01:00
jesopo
a87196c608
Change Utils.color to take a string to wrap in color
2018-09-21 11:39:09 +01:00
jesopo
ecb8698fb7
Don't send ducks when they're disabled.
2018-09-19 14:28:59 +01:00
jesopo
a0bb738abc
Add eval.py
2018-09-19 14:14:51 +01:00
jesopo
287d031281
Add ModuleManager.BaseModule so modules don't *have* to implement __init__
2018-09-19 13:28:18 +01:00
jesopo
fcbb7c960c
Refactor everything to use delimited events
2018-09-19 13:25:12 +01:00
jesopo
b86ca6088f
Fix some styling in ducks.py
2018-09-19 13:23:18 +01:00
jesopo
b8aca72861
Support hooking functions in modules with @Utils.hook
2018-09-19 12:37:41 +01:00
jesopo
f3d8d35083
Send a FONT_RESET (\x0F) after stderr module names because a bug in weechat
...
pre-2.2 means that because red colors are displayed as red+bold, the second
FONT_COLOR (\x03) only resets the red coloring, not the bold, meaning the rest
of the line is bold.
2018-09-19 02:22:30 +01:00
jesopo
b3609db92c
Actually remove channels from channel_save when the bot leaves the channel
2018-09-19 01:41:53 +01:00
jesopo
702b6a4dd3
permissions._identified takes server, user and nickname
2018-09-19 01:19:04 +01:00
jesopo
2abb3c6787
Only allow the register command on networks that support internal identity
2018-09-19 00:45:14 +01:00
jesopo
e6f25e31db
User.id doesn't exist anymore; it's User.get_id()
2018-09-19 00:45:01 +01:00
jesopo
11e62bb945
Fix exception in commands.py any time anyone sends an empty or
...
whitespace-prefixed PRIVMSG
2018-09-19 00:44:04 +01:00
jesopo
f796fddee5
Typo in sasl.py; proceed with sasl regardless of mechanism when using CAP 3.1
2018-09-17 13:25:11 +01:00
jesopo
b07da8c8c0
Fix a copypaste fail that caused sasl.py to have two sasl_success functions
2018-09-17 13:10:22 +01:00
jesopo
007ffec762
Handle 904 (ERR_SASLFAIL) in sasl.py
2018-09-17 12:57:03 +01:00
jesopo
d522997992
Don't just listen for 'sasl=PLAIN' in IRCv3 CAP 3.2
2018-09-17 11:49:23 +01:00
jesopo
fad61c2664
Support EXTERNAL sasl authentication
2018-09-17 11:31:40 +01:00
jesopo
bb5ff8ee0d
Fix highlight checking in commands.py
2018-09-17 11:31:29 +01:00
jesopo
1eed727bc5
Add !enablemodule and !disablemodule to modules.py
2018-09-13 13:35:05 +01:00
jesopo
6db97c7df5
join.py -> bot_channel.py, make the bot channel (default #bitbot) configurable
2018-09-12 15:44:50 +01:00
jesopo
614f63bda3
Remove boot_time from stats.py, move it to start_time in IRCBot otherwise a
...
module reload of stats.py would reset !uptime
2018-09-11 18:24:34 +01:00
jesopo
ae78324c44
Typo, event["server"] -> server
2018-09-10 08:58:15 +01:00
dngfx
5d8ad6a37a
Replace bit.ly with is.gd. No API key, no beeping Bit. It's a win win!
2018-09-09 21:47:28 +01:00
dngfx
169d1705ac
There's nothing regular about these expressions.
2018-09-09 18:39:56 +01:00
jesopo
4eaf9e5aeb
Fix an incorrect call to event["stderr"] in karma.py
2018-09-09 17:34:44 +01:00
jesopo
59912776c1
Make commands be processed under received.message.* at PRIORITY_LOW, eat the
...
event when it's done, change karma.py to use PRIORITY_MONITOR
2018-09-09 17:09:04 +01:00
jesopo
2a37e10533
Change default priority to "medium", add priority lower than "low" ("monitor")
2018-09-09 17:08:38 +01:00
jesopo
67c89f0580
Change bitly.py to use delimited events
2018-09-09 16:07:39 +01:00
jesopo
7f647a40c5
Tidy up indentation in tweets.py
2018-09-09 16:07:18 +01:00
dngfx
a9e49fd36b
Fix up tweets.py
2018-09-09 15:50:05 +01:00
dngfx
23fbc2cb95
Make URL shortening generic in tweets.py
2018-09-09 15:37:44 +01:00
dngfx
931c941f42
Fix spacing.
2018-09-09 15:35:32 +01:00
jesopo
8959b6cfd2
Utilise !serverset in more modules
2018-09-09 13:34:25 +01:00
jesopo
2fa7d9b8a9
Add nickserv-password and sasl to !serverset
2018-09-09 13:34:25 +01:00
jesopo
c3ebb32111
Don't add a qualifier for server settings
2018-09-09 13:34:25 +01:00
jesopo
87ff49c4d2
Add !serverset and !serverget
2018-09-09 13:34:25 +01:00
jesopo
561dcdf799
Switch set.py to use delimited events
2018-09-09 13:34:25 +01:00
dngfx
a5ff20fca3
i dun fixed it!
2018-09-09 13:34:32 +01:00
dngfx
2d4dbf922f
h8 everything right now
2018-09-09 13:20:59 +01:00
dngfx
7aecd2b4ca
WOOP WOOP THAT'S THE SOUND OF LINKS FOR TWEETS
2018-09-09 13:12:06 +01:00
jesopo
1af290b954
Better indentation in commands.py
2018-09-09 09:09:22 +01:00
dngfx
2211cb0542
Fix a few niggles
2018-09-09 08:59:36 +01:00
dngfx
20339d0a64
Grammar fix
2018-09-09 07:38:14 +01:00
dngfx
c626a9d047
A shakespear insult generator, with optional target. Because why not?
2018-09-09 06:34:50 +01:00
dngfx
c8bbdddc59
FONT_RESET should be FONT_COLOR, also more string wizardry in ducks.py!
2018-09-09 03:39:29 +01:00
dngfx
fb3fa55477
String formatting exists and it is a wonderful thing.
2018-09-09 03:07:21 +01:00
dongfix
11f7ebaa86
Add channel prefix to .usage (So it shows .8ball <question> instead of just 8ball <question>, based on the channel's prefix)
...
Updated ducks.py, more efficient code and style tweaks.
2018-09-09 01:19:00 +01:00
dngfx
69543c04db
Make google.py show the search term in the results.
2018-09-08 22:53:31 +01:00
jesopo
22ee129ca6
Clean up combining new.channel and __init__ channel bootstrapping
2018-09-08 22:51:56 +01:00
dngfx
3bdc43cf71
Bootstrap properly on module reload.
2018-09-08 21:58:32 +01:00
dngfx
558e2eb846
Trim garbage code.
2018-09-08 20:38:45 +01:00
dngfx
f17cce3c3d
More duck timing tweaks
2018-09-08 19:58:44 +01:00
dngfx
89bc48cf0c
Correct comparison
2018-09-08 19:32:10 +01:00
dngfx
83f2ec673c
Typo fix.
2018-09-08 19:23:35 +01:00