jesopo
55be2a3586
twitter.py -> tweets.py
2018-09-04 11:30:00 +01:00
jesopo
be39669580
Fix a huge security issue: sign users out when they change nickname
2018-09-04 10:00:42 +01:00
jesopo
ad775239b2
Send message-tags through PRIVMSG, NOTICE and !commands
2018-09-03 21:49:22 +01:00
jesopo
b64e0078d3
Add !reconnect in admin.py
2018-09-03 18:21:13 +01:00
jesopo
d528656ba5
Add database_backup.py for rotated database backups
2018-09-03 18:20:53 +01:00
jesopo
6e257c6e1b
Only offer sasl when we have sasl authentication to send
2018-09-03 12:38:51 +01:00
jesopo
06a750edbd
Remove channel from autojoin when BitBot parts it
2018-09-03 12:22:06 +01:00
jesopo
9d95581c44
Support IRCv3's chghost and invite-notify
2018-09-03 11:47:11 +01:00
jesopo
6a627d9f36
Added !resetpassword in permissions.py
2018-09-03 11:30:54 +01:00
jesopo
29851d4305
Make CAP functionality more part of the framework and support message-tags and
...
multi-prefix
2018-09-03 11:14:52 +01:00
jesopo
61b2682c93
Add greeting.py
2018-09-03 08:29:58 +01:00
jesopo
ecc93183f5
Print mode changes in print_activity
2018-09-02 22:41:04 +01:00
jesopo
72e991f4a5
up min/max duck show time in ducks.py
2018-09-02 20:14:24 +01:00
jesopo
8c6ab17e57
give an Exports object (actually, ExportsContex object) to each module, to
...
facilitate things like !set and !channelset without using the events system
2018-09-02 19:54:45 +01:00
jesopo
14a9e4a6a4
Also optionally (attempt to) kick users that send malicious urls in
...
check_urls.py
2018-09-02 11:50:47 +01:00
jesopo
abc9d92c9d
Add check_urls.py, to opt-in check for malicious urls
2018-09-02 11:44:06 +01:00
jesopo
21abbc33c8
Update reloading config on USR1
2018-09-02 11:43:52 +01:00
jesopo
cc1b4e6fde
change wolframalpha.py to use the "short answer" api
2018-09-02 09:28:55 +01:00
dngfx
e305b17896
Fix iterations
2018-09-01 21:17:42 +01:00
dngfx
d6b0d4653c
Fix duck stats
2018-09-01 20:55:27 +01:00
dngfx
2db5d476a4
Uncomment duck stats
2018-09-01 20:54:18 +01:00
Dan
617fbe301c
Merge branch 'master' into master
2018-09-01 20:44:56 +01:00
dngfx
9eaa1cc6fc
Re-toast ducks.py!
2018-09-01 20:43:46 +01:00
dngfx
93a818ed97
Revert "Toast off ducks.py with .duckstats"
...
This reverts commit 3044b83
2018-09-01 20:40:26 +01:00
dngfx
3044b833fc
Toast off ducks.py with .duckstats
2018-09-01 20:34:10 +01:00
dngfx
8098e8c015
re-add self.events
2018-09-01 19:12:05 +01:00
jesopo
e9b5519e86
re-add self.events in ducks.py
2018-09-01 19:11:25 +01:00
jesopo
cbb6c928a1
Don't persist timer, use events.on("send.stdout")
2018-09-01 19:09:25 +01:00
jesopo
23f859beb2
Don't persist timer, use events.on("send.stdout")
2018-09-01 19:07:50 +01:00
dngfx
0869c17808
Massively optimise ducks.py and remove a bunch of cruft.
2018-09-01 18:58:57 +01:00
dngfx
a0a29eacd0
Convert to booleans and validation.
2018-09-01 18:45:01 +01:00
jesopo
ef645c338a
BitBot is single threaded!
2018-09-01 12:24:00 +01:00
dngfx
090531c0ae
Omg I can't spell.
2018-09-01 11:45:29 +01:00
Dan
ba065ad646
omg it's the future ( #15 )
...
* Add Database.UserChannelSettings.find_all_by_setting
* Turns out we didn't need find_all_by_setting
* Actually, we do need find_all_by_setting
* Table name typo
* Add Utils.bold and Utils.underline
* Added functionality to load, unload and reload modules from a command!
2018-09-01 11:40:57 +01:00
dngfx
7db9a8ea2b
Move lists out of scope
2018-09-01 11:40:08 +01:00
dngfx
80cbf2d66e
Add 8ball module
2018-09-01 11:04:51 +01:00
dngfx
0a96a79077
Cosmetic enhancement for ducks and dice.
2018-09-01 10:52:04 +01:00
dngfx
3f66940e77
Remove superfluous code from ducks.py and introduce dice.py (DND rolling function .roll 1d20)
2018-09-01 10:22:44 +01:00
dngfx
3d3cb9a598
Switch print() to log.info() for next-duck-wave information.
2018-09-01 09:09:02 +01:00
dngfx
e5d298af60
Fix this back to channel.send_message(), stdout just no.
2018-09-01 02:21:57 +01:00
dngfx
cc21f1d9a3
Set a timer for sending out ducks randomly, and change some messages to stdout.
2018-09-01 01:56:07 +01:00
dngfx
4a9d823d54
Adjust timing for production.
2018-08-31 18:31:46 +01:00
dngfx
06466187b6
Introduce .killers for ducks.py
2018-08-31 18:23:46 +01:00
dngfx
7e06e06ee0
THE OVERLORD DEMANDS I TRASH IT
2018-08-31 17:04:15 +01:00
dngfx
4b654ed12d
Change to stdout because i'm a pillock.
2018-08-31 17:02:46 +01:00
dngfx
95d1475f2c
.friends support! Yay, lets be friends.
2018-08-31 16:58:25 +01:00
dngfx
6e400a5470
Just duck things~
2018-08-31 16:06:11 +01:00
dngfx
bce8cef524
Migrate duck data to user_channel_settings.
2018-08-31 14:36:25 +01:00
dngfx
0f1e683cd3
Where on earth did this PHP relic come from?
2018-08-31 14:16:27 +01:00
dngfx
0bb3ae9273
Fix decoys stacking up and attempting to take over irc.
2018-08-31 14:10:20 +01:00
dngfx
309b119ec5
That commit was just a decoy.
2018-08-31 14:00:09 +01:00
dngfx
a6d2f4cd5b
Decoy Fiddling
2018-08-31 13:58:44 +01:00
jesopo
6f2da2c40f
Remove print in ducks.py
2018-08-31 13:44:39 +01:00
jesopo
b7cf524e98
Give modules event objects with "context"s, to facilitate purging all the event
...
hooks for a module
2018-08-31 13:44:39 +01:00
dngfx
90ce92dc39
Revert "Reformat"
...
This reverts commit abed9cf
2018-08-31 10:51:47 +01:00
dngfx
abed9cf4ea
Reformat
2018-08-31 10:50:37 +01:00
dngfx
391671185d
A start on .decoy for ducks.
2018-08-31 06:27:41 +01:00
dngfx
301d3cb45a
Revert the god awful database edits I made and make ducks.py convert to int. Might be an idea to make a make_int function?
2018-08-31 05:48:53 +01:00
dngfx
a635b1f0a0
Apparently i auto-reformatted the code. Either way I fixed ducks spawning endlessly.
2018-08-31 04:35:42 +01:00
dngfx
8d6f0fffa9
Make channel values being inserted into SQLite integers if they're numbers.
...
Update ducks.py, you can now .bef and .bang! Coming soon: .friends, .killers, and .ducks
Update google to use gb instead of us. We're British goddamnit.
2018-08-31 04:14:56 +01:00
dngfx
e272d50f49
Update strax generator with a bunch of new phrases and attacks.
2018-08-30 18:11:17 +01:00
jesopo
d37fc44343
use assure_call for trakt.py and lastfm.py
2018-08-30 18:07:50 +01:00
dngfx
377b7d39df
Update strax generator with a bunch of new phrases and attacks.
2018-08-30 16:57:45 +01:00
dongfix
b13c971507
Update strax generator to make more sense when exclaiming instead of questioning.
2018-08-30 16:17:15 +01:00
jesopo
dceeef8648
Add missing comma in strax.py
2018-08-30 16:15:24 +01:00
dongfix
f6f183c2bd
Fix strax.py to randomise other things and fix random choice 1,2
2018-08-30 16:03:54 +01:00
dongfix
fd94b939e0
Add strax.py .strax command.
2018-08-30 15:55:57 +01:00
jesopo
ebd3ab47c8
Add missing "," in channel_op.py
2018-08-30 11:15:57 +01:00
jesopo
2d4a1d42ce
Only get highlight-spam-threshold setting when there's more than one highlight
...
in a line
2018-08-30 11:14:19 +01:00
jesopo
49cc4d8d7b
Add help and usage for commands in channel_op.py
2018-08-30 11:13:26 +01:00
jesopo
ceb73f586c
Only show 2 biggest units in !seen
2018-08-29 15:52:04 +01:00
jesopo
669aa32c31
Report actual topic setter (use 333, not 332)
2018-08-29 15:17:06 +01:00
jesopo
3ec521538a
Print topics in print_activity.py
2018-08-29 14:57:40 +01:00
jesopo
76d7a8de36
Delete "permissions" setting when it's empty
2018-08-29 14:34:52 +01:00
jesopo
6ecae3b261
Add the ability to only require authentication if your nickname is registered
2018-08-28 18:16:19 +01:00
jesopo
b9d4e11b77
Add !givepermission and !removepermission to permissions.py
2018-08-28 16:53:21 +01:00
jesopo
672b22e62c
Change command.py to use call_limited
2018-08-28 16:35:07 +01:00
jesopo
4922ee8f4a
Allow users to see their internal IDs and channel IDs
2018-08-28 15:33:56 +01:00
jesopo
f8a6aa087b
Save when a user sends their "first" words (won't be correct for old users)
2018-08-28 15:33:41 +01:00
jesopo
9a78dabcc2
80 cols!
2018-08-28 15:15:04 +01:00
jesopo
b2259c2ea8
Added !channelsetoverride in set.py
2018-08-28 14:55:57 +01:00
jesopo
b62cd4be84
.log -> .buffer, i missed this one!
2018-08-28 14:55:35 +01:00
jesopo
b699c120a0
Change how specific events assure their hooks gets the event independant of
...
loading order
2018-08-28 14:55:08 +01:00
jesopo
1b8c663c1a
Made "you need to be authenticated" message more helpful
2018-08-28 12:48:08 +01:00
jesopo
5aa73cd64b
Only allow users to send coins to users that have had coins before
2018-08-28 12:45:42 +01:00
jesopo
d8466ecf6d
Require authentication to use or potentially lose coins
2018-08-28 12:42:10 +01:00
jesopo
2806a915bc
Add !resetcoins in coins.py
2018-08-28 12:39:16 +01:00
jesopo
e5a5fa5c4b
modules/logging.py -> IRCLogging.py; IRCLog.py -> IRCBuffer.py; change logging
...
to be an object on the server object instead of an event call
2018-08-28 12:23:57 +01:00
jesopo
ea9b6f32dc
Prevent users sending coins to themselves
2018-08-25 20:09:44 +01:00
jesopo
1ae1206b8a
.add -> .append typo in channel_save.py
2018-08-19 00:20:24 +01:00
jesopo
9a3f2e5de6
Change the database to give channels and users ids and use those in the settings
...
tables
2018-08-19 00:19:53 +01:00
jesopo
88eb7b695f
show uptime in 1w1d1h1m1s format
2018-08-18 21:54:12 +01:00
jesopo
33b48f5ea3
.wrote -> .write typo in words.py
2018-08-18 18:29:06 +01:00
jesopo
4da8a4ac39
Added code to preprocess check a command that only requires authentication, not
...
a permission
2018-08-18 18:28:41 +01:00
jesopo
054a98c0c8
Added !resetkarma in karma.py
2018-08-18 18:28:27 +01:00
jesopo
dacf74e2b1
Show spin colour, make sure there's bet amounts for all bets, fix street regex,
...
show total winnings and support low/high for !roulette in coins.py
2018-08-18 18:26:47 +01:00
jesopo
84a793caf2
Support multiple bets in one go with !roulette in coins.py
2018-08-16 11:54:51 +01:00
jesopo
8ef02fdbd8
Added streets and big/small to !roulette
2018-08-15 18:33:14 +01:00
jesopo
eb3155d3e0
implemented !roulette in coins.py
2018-08-15 17:55:05 +01:00
jesopo
bc6278f9df
username -> lastfm_username
2018-08-15 10:34:58 +01:00