Commit graph

3224 commits

Author SHA1 Message Date
David Schultz
1fe8cb677e
make karmawho case insensitive 2021-01-11 11:12:46 -06:00
David Schultz
b046c36052
make karmawho work better 2021-01-11 11:04:57 -06:00
David Schultz
cb43a6ae2b
RSS custom format (#286)
* Update rss.py

* add even more customization options
2020-11-28 22:45:26 +00:00
jess
2d39421aeb
Merge pull request #290 from shreyasminocha/master
Weather formatting nit
2020-11-26 21:30:39 +00:00
Shreyas Minocha
86520b31f9
Improve weather formatting
Example: `14.8km/h/9.2mi/h` → `14.8km/h (9.2mi/h)`
2020-11-27 02:32:40 +05:30
jess
b3dc46a030
Merge pull request #289 from attwater/master
Change example pronouns to neutral pronouns
2020-11-21 21:13:48 +00:00
jesopo
538d6ca5b0 Merge branch 'master' into develop 2020-11-18 14:35:10 +00:00
jesopo
b15cba2ca2 Revert "Update translate.py"
This reverts commit eff99aff05.
2020-11-18 14:34:56 +00:00
jesopo
8cc47a9321 refuse setting location to timezones we can't understand 2020-11-09 23:32:44 +00:00
Dax
fcbeaf3114 [Tweets] Fix tweet age calc for TZ!=UTC
dt is a naive datetime object, so its timezone is assumed to be the system timezone. However, the actual timezone from the API is UTC. Therefore, we need to set tzinfo before doing the calculation. See the note at https://docs.python.org/3/library/datetime.html#datetime.datetime.timestamp for more info.

Ideally this would be fixed in tweepy, but there's a report of this on forums from 7 years ago so let's just fix it in BitBot.

This bug found by an anonymous contributor. Thank you 😺!
2020-11-05 06:00:45 +00:00
Alma Attwater
aa4b5d91ee
Change example pronouns to neutral pronouns 2020-11-01 20:26:44 +00:00
David Vo
5fb2fb8421
Handle music.youtube.com URLs 2020-10-31 20:34:35 +11:00
jesopo
d6c1bea702 Merge branch 'master' into develop 2020-10-28 11:20:17 +00:00
jesopo
a91c03421f show PRs on check_run output where possible 2020-10-18 00:37:05 +00:00
jesopo
c4c6fdde1c support check_run.status as a category+[status] 2020-10-17 17:13:52 +00:00
jesopo
2f5d001a79 shorturl-any shouldn't need a server 2020-10-17 16:46:37 +00:00
jesopo
09cfae75b8 github.py needs exports from git_webhooks 2020-10-17 14:07:02 +00:00
jess
99dff71475
Merge pull request #269 from dngfx/patch-1
Update translate.py
2020-10-08 16:36:13 +01:00
David Schultz
2d76365214
Update ban_enforce.py 2020-10-04 19:24:45 -05:00
David Schultz
84aa7d1bd5
add ban-enforce-max config option 2020-10-04 17:44:17 -05:00
jesopo
777c14b680 sort karma reversed and by abs() 2020-09-29 15:36:43 +00:00
jesopo
e50c4ecbe2 add !karmawho <target> to see who gave karma to <target> 2020-09-29 15:06:37 +00:00
jesopo
09fc00b5da fix !cmute +time 2020-09-25 18:09:10 +00:00
jess
dc7040fbad
Merge pull request #276 from alyx/master
None Webhook with Left Beef
2020-09-23 15:33:21 +01:00
Alyx Wolcott
027b9d75f8 Add parameter checking so bitbot doesn't add a None webhook and break webhooks until restart 2020-09-23 09:25:43 -05:00
jesopo
f7a1c12cfa add torexit.dan.me.uk to dnsbls 2020-09-18 01:02:31 +00:00
jesopo
5c1942a35a handle unknown Zen Spamhaus results 2020-09-17 14:23:11 +00:00
jesopo
68939b7ee0 update dnspython lib, use new .resolve 2020-09-14 13:52:54 +00:00
jesopo
6d99a9fae6 support dnsbl TXT records 2020-09-14 13:32:59 +00:00
jesopo
b6e8f668c4 better dronebl descriptions, show category in all list descriptions 2020-09-08 15:48:14 +00:00
jesopo
c32e073c35 explicit support for dronebl type 19 (abused vpn) 2020-09-08 13:55:45 +00:00
jesopo
4fa05245b3 return raw result, not "unknown" for ad-hoc dnsbls 2020-08-07 16:43:45 +00:00
jesopo
1f5b7a6f41 strip @ from @dnsbl 2020-08-07 16:42:28 +00:00
jesopo
e4ad911511 _lists, not lists 2020-08-07 16:37:56 +00:00
jesopo
00e7d24388 add AbuseAtCBL to dnsbl module 2020-08-06 14:12:36 +00:00
Ben Harris
d7e9714cec fix shorturl.py
this module provides a botset export but doesn't check that
setting later when looking up configured shorteners

check bot_settings if context and server values are not set
2020-07-14 02:48:33 -04:00
dngfx
eff99aff05
Update translate.py
Uses the new google v2 translate service which is more accurate. Also reduces code ugliness by quite a bit.
2020-07-12 00:30:10 +01:00
jesopo
74abbe7e5c rename channel_save.py to autojoin.py 2020-07-03 13:14:52 +01:00
jesopo
208b0ca464 remove channels from autojoin when they are ERR_LINKCHANNEL (470) 2020-07-03 13:14:15 +01:00
jesopo
32e1e40cd2 strip ':' and ',' from titles too 2020-06-26 13:43:14 +01:00
jesopo
dc8ece9f95 !cfilter should be accessible by channel admins 2020-06-12 18:25:08 +01:00
jesopo
c2c584d1c0 show what quote was deleted, do partial match, fix qdel for last 2020-06-10 22:53:00 +01:00
jesopo
f70cb2f0cd cant remove a target-specific quote from zipped up mixed quotes. duh 2020-06-10 22:36:01 +01:00
jesopo
6ce20e3562 quote grab category shouldn't be a server/channel object. wtf 2020-06-03 12:48:49 +01:00
jesopo
83f0eacb1c rewrite quote search categories to account name when possible 2020-06-03 12:48:27 +01:00
jesopo
3d4d20872b add ban_enforce.py, to kick people affected by new bans 2020-05-31 02:16:59 +01:00
jesopo
1dbc700cdc +draft/typing has been ratified 2020-05-20 16:36:40 +01:00
jesopo
2ff3a7bb6e again, there may be more than one (nick,count) 2020-05-12 01:20:47 +01:00
jesopo
158e936ad2 turing (chan_id,count) in to a dict loses different days 2020-05-12 01:16:34 +01:00
jesopo
4dc44720e8 log youtube API usage 2020-05-07 22:40:44 +01:00
jesopo
8d932ccc34 disable !np youtube urls by default 2020-05-07 22:23:04 +01:00
jesopo
73371b5571 sent messages should mark channels 'active' 2020-05-06 16:35:54 +01:00
jesopo
4a9ac33a2f add channel mlock (mode lock) functionality to channel_op.py 2020-04-13 20:59:58 +01:00
jesopo
74146f20bd fix rss bindhost implementation 2020-04-09 18:26:54 +01:00
jesopo
b19e956f68 experimental support for rss bindhost 2020-04-09 15:47:20 +01:00
jesopo
7fdb9a1e55 fix regression of message filters not matching without formatting 2020-04-08 18:19:06 +01:00
jesopo
2b0dfcc155 add ${BNICK} (bot's own nick) and ${CTRIGGER} (command trigger) to aliases 2020-04-07 19:30:32 +01:00
jesopo
8a3f10e360 handle http redirects ourselves, to prevent redirect to localhost 2020-04-05 22:41:33 +01:00
jesopo
0a3f316cb5 masks -> args 2020-03-10 23:09:51 +00:00
jesopo
1acd8158b9 remove debug print 2020-03-10 00:07:12 +00:00
jesopo
0cdd234c5c don't skip already "short" urls in yourls.py - can't predict output length 2020-03-09 00:07:30 +00:00
jesopo
11b2853832 post_data -> get_params 2020-03-09 00:04:08 +00:00
jesopo
46dcf0e6c2 URL -> shortener_url 2020-03-09 00:02:45 +00:00
jesopo
b3a18da182 _call_shortener should take 2 more args 2020-03-08 23:59:31 +00:00
jesopo
0cdd3d5b6c urllib was meant for yourls.py not shorturl.py 2020-03-08 23:58:24 +00:00
jesopo
042688ce77 add urllib import 2020-03-08 23:56:00 +00:00
jesopo
843d9fb77f add (as yet untested) Your Own URL Shortener support in yourls.py 2020-03-08 23:34:54 +00:00
jesopo
e41ea90c62 support extended url shorteners that take server and optional context (channel) 2020-03-08 23:34:41 +00:00
jesopo
d4ce93cf84
Merge pull request #251 from fndax/issue-210
Make !words work in PM (fixes #210)
2020-03-08 22:16:55 +00:00
Dax
c965a7860a Make !words work in PM
Closes: #210
2020-03-08 22:12:25 +00:00
jesopo
1da222794c args_split[0] -> user.nickname (seen.py) 2020-03-08 21:42:31 +00:00
jesopo
fc0b5eb46e switch inactive_channels.py settings to be days, defaulting to None (no prune) 2020-03-08 21:38:13 +00:00
jesopo
d8d9a90f11 use ban-mask export in badwords.py 2020-03-08 18:45:57 +00:00
jesopo
d5d097d8ee give str(Exception) when webfinger fails 2020-03-08 18:45:15 +00:00
jesopo
142d181048 tolerate a server not having a host-meta 2020-03-08 18:43:49 +00:00
jesopo
1d384dfd8b move _get_hostmask logic out in to banmask.py core module, for reuse 2020-03-08 14:14:34 +00:00
jesopo
49d9cbdb87 exports.get_one() -> exports.get() 2020-03-08 14:14:00 +00:00
jesopo
1654fafd7e default inactive_channel.py timer to 4 weeks, not 2 2020-03-05 13:50:59 +00:00
jesopo
2dfaa7e162 KMh and MPh changed to km/h and mi/h 2020-03-04 14:27:48 +00:00
jesopo
262e3e512d ban-format-account is no longer relevant 2020-03-04 12:03:47 +00:00
jesopo
de8bb22ffa change !seen to command specs 2020-02-28 22:57:16 +00:00
jesopo
8b4b600f4b change relay.py to use command specs 2020-02-27 18:06:06 +00:00
jesopo
c3720ce4fa by default, do not prune inactive channels we have modes in 2020-02-27 12:37:25 +00:00
jesopo
4d38639742 allow individual channels to opt out of inactivity pruning 2020-02-27 10:33:15 +00:00
jesopo
74b53f1765 add !badge show <name> 2020-02-26 21:02:10 +00:00
jesopo
d24442587c prefix can be None - null-coalesce it to empty string 2020-02-26 17:38:00 +00:00
jesopo
02e734824f move accept_invite.py to core modules, default to not accepting invites bot-wide 2020-02-26 17:30:56 +00:00
jesopo
f82e3536f0 move bot_channel.py to core_modules, default to no bot channel 2020-02-26 17:30:36 +00:00
jesopo
e485632359 kick bitbot last if he's covered by !kick/!kickban 2020-02-26 17:15:35 +00:00
jesopo
725c1d3bfa masks should be a list, otherwise we iterate a string 2020-02-26 16:47:30 +00:00
jesopo
fef1c47626 support !aban and !akickban for account bans 2020-02-26 16:46:39 +00:00
jesopo
5608c1cdc7 show !g snippet when available, title when not 2020-02-25 16:50:17 +00:00
jesopo
1ecbacefc2 send_modes takes list[tuple[s,s]], add !down, !deop yourself last 2020-02-25 14:27:56 +00:00
jesopo
a1dd8dd22f !op/!deop and !voice/!devoice should assume own user without args 2020-02-25 11:45:55 +00:00
jesopo
d3711a639f only voice/op people that dont have it already 2020-02-25 11:32:40 +00:00
jesopo
ee9415daef unmode timer should use send_modes 2020-02-25 11:25:51 +00:00
jesopo
5ebcb9582d add !invex, refactor all channel_op mode-type commands 2020-02-25 11:19:12 +00:00
jesopo
36fd91f009 we need to manually flush log files 2020-02-24 17:21:35 +00:00
jesopo
22a2bead7f for some reason, __ variables disappear from hasattr 2020-02-24 17:10:43 +00:00
jesopo
175c0a285c open possibly-utf8 files with forced utf8 2020-02-24 15:24:39 +00:00