jesopo
|
5b538eb5b6
|
add !b as an alias of !ban
|
2019-09-12 22:20:36 +01:00 |
|
jesopo
|
9194925739
|
set a bitbot-specific useragent for fediverse requests
|
2019-09-12 21:58:26 +01:00 |
|
jesopo
|
612849d0c5
|
'resetkarme' -> 'resetkarma'
|
2019-09-12 21:57:40 +01:00 |
|
jesopo
|
04489ce90a
|
return command (in case resolved alias) from _find_command_hook()
|
2019-09-12 21:53:52 +01:00 |
|
jesopo
|
2d7a192a6c
|
limit !flags mode changes to 3-per-line, add comment as to why
|
2019-09-12 15:13:42 +01:00 |
|
jesopo
|
8ac0fce53f
|
remove debug prints
|
2019-09-12 15:12:31 +01:00 |
|
jesopo
|
778cfe2010
|
remove extra ")"
|
2019-09-12 15:00:33 +01:00 |
|
jesopo
|
12fea0a38f
|
sort uppercase chars after lowercase chars for !flags
|
2019-09-12 15:00:00 +01:00 |
|
jesopo
|
5206bf3d47
|
remove auto_mode.py, it has been superseded by !flags
|
2019-09-12 14:55:43 +01:00 |
|
jesopo
|
ad85536389
|
check a user is authenticated before applying modes, catch login too
|
2019-09-12 14:55:26 +01:00 |
|
jesopo
|
6b5e0791be
|
first draft of !flags system
|
2019-09-12 14:29:28 +01:00 |
|
jesopo
|
9cda86065b
|
use utils.SensitiveSetting in nickserv.py
|
2019-09-12 12:17:52 +01:00 |
|
jesopo
|
ba0911f2e7
|
add utils.Setting.format() so subtypes can format differently
|
2019-09-12 12:17:09 +01:00 |
|
jesopo
|
e68c5575d1
|
'karma-verbose' -> 'karma-pattern'. don't even parse when false
|
2019-09-12 12:09:16 +01:00 |
|
jesopo
|
8081a014ce
|
remove now-unneeded "--require-config tls-certificate" from fediverse.py
|
2019-09-12 11:31:01 +01:00 |
|
jesopo
|
1b44b58aca
|
add !invite
|
2019-09-12 10:24:10 +01:00 |
|
jesopo
|
ad45848abb
|
Revert "switch to using IRCBot.http_client() in title.py"
This reverts commit 748008cf36 .
|
2019-09-11 18:08:37 +01:00 |
|
jesopo
|
748008cf36
|
switch to using IRCBot.http_client() in title.py
|
2019-09-11 17:54:55 +01:00 |
|
jesopo
|
4a97c9eb0d
|
refactor utils.http.requests to support a Request object
|
2019-09-11 17:44:07 +01:00 |
|
jesopo
|
4639951897
|
make context/conversation a "valid" URI
|
2019-09-11 13:46:21 +01:00 |
|
jesopo
|
72e99a2ce0
|
inbox should have https:// on it
|
2019-09-11 12:58:32 +01:00 |
|
jesopo
|
9988a49518
|
use correct link "type" for webfinger response
|
2019-09-11 12:49:10 +01:00 |
|
jesopo
|
cf9c82b131
|
force content-length on to REST API responses
|
2019-09-11 11:00:55 +01:00 |
|
jesopo
|
b6133579d1
|
return url on actor
|
2019-09-11 10:54:36 +01:00 |
|
jesopo
|
0d0a7b95ef
|
force "acct:" on resource key on webfinger response
|
2019-09-11 10:53:57 +01:00 |
|
jesopo
|
bbef6ee392
|
remove (i think) unneeded @context, add user summary and name
|
2019-09-11 10:42:59 +01:00 |
|
jesopo
|
7a860240ef
|
set content_type=ACTIVITY_TYPE on outbox
|
2019-09-10 18:48:26 +01:00 |
|
jesopo
|
ed07149257
|
remove unused duplicate ACTIVITY_TYPE
|
2019-09-10 18:48:15 +01:00 |
|
jesopo
|
be6f875e25
|
Revert "call self.finish() in rest_api.py in hopes it will force-close connections"
This reverts commit 5d6b2ff083 .
|
2019-09-10 18:33:14 +01:00 |
|
jesopo
|
5d6b2ff083
|
call self.finish() in rest_api.py in hopes it will force-close connections
|
2019-09-10 18:28:50 +01:00 |
|
jesopo
|
1dfb3c4461
|
'_prepare_actitivy' -> '_prepare_activity'
|
2019-09-10 18:21:20 +01:00 |
|
jesopo
|
02b038e15f
|
get_activities is a list, not a dict
|
2019-09-10 18:20:22 +01:00 |
|
jesopo
|
8726bd9717
|
implement first draft of fediverse outbox
|
2019-09-10 18:08:58 +01:00 |
|
jesopo
|
74d2c18954
|
return error codes from webfinger
|
2019-09-10 17:34:01 +01:00 |
|
jesopo
|
a99f359266
|
fix setting exported from fediverse_server.py
|
2019-09-10 17:33:49 +01:00 |
|
jesopo
|
c697c3bbb2
|
split out fediverse server to it's own module
|
2019-09-10 17:32:41 +01:00 |
|
jesopo
|
e96783dfac
|
support webfinger resource not having "acct:" on the front
|
2019-09-10 16:51:08 +01:00 |
|
jesopo
|
e048f61c73
|
.strip() client cert to remove needless newlines
|
2019-09-10 16:42:09 +01:00 |
|
jesopo
|
d75d33c42c
|
"%s", not "%d", cuz port is a str
|
2019-09-10 16:41:16 +01:00 |
|
jesopo
|
a02bfdf157
|
get REST API port from settings if it's not in Host header
|
2019-09-10 16:39:44 +01:00 |
|
jesopo
|
d2de2cca7d
|
'index' -> 'inbox'
|
2019-09-10 16:30:54 +01:00 |
|
jesopo
|
7636843fc7
|
'get_params' -> 'get_params_str'
|
2019-09-10 16:29:35 +01:00 |
|
jesopo
|
b6f4e9c458
|
'location' -> 'self_id'
|
2019-09-10 16:24:11 +01:00 |
|
jesopo
|
eb5b0c25b6
|
'for_url' -> 'url_for', '_ap_self._id' -> '_ap_self_id'
|
2019-09-10 16:22:54 +01:00 |
|
jesopo
|
7dac75e566
|
implement ActivityPub user endpoint
|
2019-09-10 16:21:31 +01:00 |
|
jesopo
|
49527495b8
|
CaseInsensitiveDict does not implement .get() yet
|
2019-09-10 15:59:54 +01:00 |
|
jesopo
|
6b17c64b15
|
'resouce' -> 'resource'
|
2019-09-10 15:51:58 +01:00 |
|
jesopo
|
3993447eeb
|
'account' is no longer reformatted u@instance
|
2019-09-10 15:46:25 +01:00 |
|
jesopo
|
90d0452bfd
|
first draft of ActivityPub webfinger
|
2019-09-10 15:40:01 +01:00 |
|
jesopo
|
ef7da3409b
|
don't bother sorting json keys when the json is minified
|
2019-09-10 15:08:06 +01:00 |
|
jesopo
|
9ac46bab7d
|
duplicate 'rest-api' setting - copypaste issue for rest-api-minify
|
2019-09-10 15:00:47 +01:00 |
|
jesopo
|
2fc75c6af7
|
move more REST API code on to the main thread
|
2019-09-10 13:55:06 +01:00 |
|
jesopo
|
8653068650
|
'code' -> 'response.code'
|
2019-09-10 13:45:55 +01:00 |
|
jesopo
|
4a08c2d134
|
set response.code=200 as soon as we know there's a hook waiting for it
|
2019-09-10 13:45:14 +01:00 |
|
jesopo
|
fefb9d71fb
|
'event_response' -> 'obj' (copypaste error)
|
2019-09-10 13:39:59 +01:00 |
|
jesopo
|
3a0183eb03
|
refactor REST API to use a Response object
|
2019-09-10 13:38:25 +01:00 |
|
jesopo
|
7fbb5b2823
|
don't use full event names to check what command we're in
|
2019-09-10 12:59:52 +01:00 |
|
jesopo
|
bad108d7ce
|
support disabling word tracking per channel, not just per user
|
2019-09-10 10:34:44 +01:00 |
|
jesopo
|
a9d11fc7f8
|
use rpartition, not partition, to avoid splitting on leading @
|
2019-09-09 21:35:54 +01:00 |
|
jesopo
|
6d176a6aa1
|
add !unsilence
|
2019-09-09 18:06:37 +01:00 |
|
jesopo
|
0c5171a44f
|
add +time param to !silence
|
2019-09-09 18:06:27 +01:00 |
|
jesopo
|
695c7982a6
|
add a special flag to allow commands to bypass !silence
|
2019-09-09 18:05:10 +01:00 |
|
jesopo
|
c8ece388cc
|
use detect_encoding=False in github webhook url shortening
|
2019-09-09 16:08:51 +01:00 |
|
jesopo
|
8e824c9277
|
add !8 as alias of !8ball
|
2019-09-09 14:25:19 +01:00 |
|
jesopo
|
98931de283
|
remove redundant (and maybe wrong) GET params from webfinger call
closes #143
|
2019-09-09 10:30:06 +01:00 |
|
jesopo
|
b1033a0721
|
support location names for !timezone too
|
2019-09-08 18:22:04 +01:00 |
|
jesopo
|
95c007c1da
|
support showing time for locations, not just users
|
2019-09-08 18:17:32 +01:00 |
|
jesopo
|
896b98bbd1
|
remove LOW priority from youtube regex - it doesnt need it
|
2019-09-08 12:21:28 +01:00 |
|
jesopo
|
d0202ff809
|
don't disregard matched backslashes before ampersand
|
2019-09-08 11:43:13 +01:00 |
|
jesopo
|
9e0934a47e
|
support sed ampersand syntax
|
2019-09-08 11:18:08 +01:00 |
|
jesopo
|
a59afb883a
|
accept "," as well as ":" as a sed target marker
|
2019-09-07 22:38:21 +01:00 |
|
jesopo
|
b807ffbba8
|
force timezone info on to badge dates
|
2019-09-07 22:02:08 +01:00 |
|
jesopo
|
aa2e7249b2
|
use default webfinger url when host-meta lookups fail
|
2019-09-07 21:49:22 +01:00 |
|
jesopo
|
40d98b0034
|
only strip "@" once from the start of fedi usernames
|
2019-09-07 17:44:20 +01:00 |
|
jesopo
|
c914870094
|
only strip "nick: " prefix from karma when the nickname is known
|
2019-09-07 17:39:24 +01:00 |
|
jesopo
|
c631575e4f
|
don't group capture disregarded "nick: " prefix in karma
|
2019-09-07 17:34:55 +01:00 |
|
jesopo
|
4e617366d3
|
change to karma regex to best-effort strip "nick: "
|
2019-09-07 17:34:04 +01:00 |
|
jesopo
|
1340691413
|
support /embed/<id> youtube urls too
|
2019-09-07 16:28:18 +01:00 |
|
jesopo
|
dadefeb8f3
|
remove try-rejoin (on 477) logic. will move to a module later
|
2019-09-07 15:21:35 +01:00 |
|
jesopo
|
4c2c4a501c
|
return quote category even if =quote isnt present
|
2019-09-07 15:17:30 +01:00 |
|
jesopo
|
b654660d96
|
477 should check that we're *not* in a channel before trying rejoin
|
2019-09-07 14:25:43 +01:00 |
|
jesopo
|
ec5c5808a5
|
better wording of "!stats <alias>"
|
2019-09-07 14:16:27 +01:00 |
|
jesopo
|
34e5f976cc
|
support showing !stats per-network
|
2019-09-07 14:13:44 +01:00 |
|
jesopo
|
1cadbc79ac
|
disregard empty JOIN channel params (e.g. "JOIN #bad,")
|
2019-09-07 12:58:20 +01:00 |
|
jesopo
|
ea97dbb16d
|
Show the line that was actually send from !raw, after format and filter
|
2019-09-07 12:50:50 +01:00 |
|
jesopo
|
0a74a93672
|
'reconnections' dict is on IRCBot, not IRCServer
|
2019-09-07 12:22:54 +01:00 |
|
jesopo
|
6d1e7ad4b2
|
remove !qadd because !quote does the same things now
|
2019-09-05 18:09:16 +01:00 |
|
jesopo
|
7d96d346e1
|
show how many quotes found when searching with !quote
|
2019-09-05 18:09:02 +01:00 |
|
jesopo
|
0563305b20
|
support searching for quote content in !quote
|
2019-09-05 18:05:50 +01:00 |
|
jesopo
|
905abf46f0
|
automatically PART blacklisted channels if we join them (SAJOIN e.g.)
|
2019-09-05 15:16:18 +01:00 |
|
jesopo
|
d4bfde1a71
|
use tweet_mode="extended" for !tw user_timeline() calls too
|
2019-09-05 14:46:39 +01:00 |
|
jesopo
|
1e16cf601e
|
don't just remove the first key in a JOIN when there's a blacklisted channel
|
2019-09-05 14:32:30 +01:00 |
|
jesopo
|
6e4ec91003
|
add channel_blacklist.py
|
2019-09-05 14:14:21 +01:00 |
|
jesopo
|
0578d9ef5b
|
'bot' -> '_bot'
|
2019-09-05 14:13:40 +01:00 |
|
jesopo
|
638df8729e
|
switch to using pytz instead of an API for localised time
|
2019-09-05 12:25:17 +01:00 |
|
jesopo
|
1e79ed4249
|
remove debug prints from info.py
|
2019-09-05 11:58:35 +01:00 |
|
jesopo
|
1d95d2d12d
|
'recieved' -> 'received'
|
2019-09-04 15:59:37 +01:00 |
|
jesopo
|
62faf62b82
|
add !grab as an alias of !quotegrab
|
2019-09-04 15:54:43 +01:00 |
|
jesopo
|
9561cba168
|
add which.py - closes #134
|
2019-09-04 15:39:56 +01:00 |
|
jesopo
|
203216d94d
|
Switch more settings to FunctionSettings
|
2019-09-04 14:27:10 +01:00 |
|
jesopo
|
43fab6777c
|
switch throttle.py to use FunctionSetting
|
2019-09-04 12:11:22 +01:00 |
|
jesopo
|
786117b998
|
add a bot-wide setting to allow showing git webhook activity for private repos
closes #127
|
2019-09-04 11:15:59 +01:00 |
|
jesopo
|
c4428e479f
|
Force removal of ":" from user_time.py API-provided ISO8601
|
2019-09-04 10:29:05 +01:00 |
|
jesopo
|
50742d336c
|
also url_sanitise youtube urls found with argless !yt commands
|
2019-09-03 12:07:27 +01:00 |
|
jesopo
|
219382cc3c
|
url_sanitise youtube urls (cut off ")"/">")
|
2019-09-03 12:05:22 +01:00 |
|
jesopo
|
24a510d1ca
|
move mixed_unicode.py to bitbot-modules
|
2019-09-02 18:28:40 +01:00 |
|
jesopo
|
8ddff91748
|
remove strax.py - no one uses it
|
2019-09-02 17:41:38 +01:00 |
|
jesopo
|
2a0b8e9243
|
remove shakespeare.py - no one uses it
|
2019-09-02 17:41:23 +01:00 |
|
jesopo
|
a188a6f278
|
remove books.py - no one uses it
|
2019-09-02 17:39:33 +01:00 |
|
jesopo
|
71adca1492
|
default relay-extras to False
|
2019-09-02 16:16:28 +01:00 |
|
jesopo
|
a325f32b84
|
remove legacy --depends-on flags for github.py (leftover from webhooks)
|
2019-09-02 15:15:15 +01:00 |
|
jesopo
|
30ce2ef11c
|
remove unused CHANNELSET_HELP const
|
2019-09-02 15:15:04 +01:00 |
|
jesopo
|
868512fcfd
|
add --require-config hashflag to location.py
|
2019-09-02 15:03:22 +01:00 |
|
jesopo
|
8a4d5b3123
|
Add ability to prevent users specifying their own dns nameservers
|
2019-09-02 14:33:12 +01:00 |
|
jesopo
|
e1da095023
|
support per-channel dns nameservers
|
2019-09-02 14:23:51 +01:00 |
|
jesopo
|
c80aab88f3
|
put socket timeout and deadline around mumble queries
|
2019-09-02 14:18:27 +01:00 |
|
jesopo
|
3c7b276188
|
catch and rethrow gaierrors in mumble.py
|
2019-09-02 14:13:36 +01:00 |
|
jesopo
|
7959f1ab88
|
change Cache.py to be key:value
|
2019-09-02 14:07:26 +01:00 |
|
jesopo
|
72e1d71a0a
|
Show mumble server version
|
2019-09-02 13:12:24 +01:00 |
|
jesopo
|
ce6413f53e
|
Don't rely on pulling timestamp out of pong
|
2019-09-02 12:49:58 +01:00 |
|
jesopo
|
82bee70ca0
|
add mumble.py
|
2019-09-02 12:47:13 +01:00 |
|
jesopo
|
4ba99e57b7
|
.upper() SASL mechanism name
|
2019-09-02 10:29:20 +01:00 |
|
jesopo
|
9e43ea1599
|
add per-user fediverse setting
|
2019-09-02 08:51:56 +01:00 |
|
jesopo
|
8bebcb14c7
|
support "<nickname>: s/" sed format
|
2019-09-01 09:58:10 +01:00 |
|
jesopo
|
14125a6048
|
also cancel reconnections with !disconnect
|
2019-09-01 08:41:22 +01:00 |
|
jesopo
|
85efd75518
|
'usage' does not exist
|
2019-09-01 08:34:55 +01:00 |
|
jesopo
|
a57a06b1cc
|
switch utils.deadline to a context manager
|
2019-08-30 18:13:12 +01:00 |
|
jesopo
|
162aab9851
|
use utils.deadline in sed.py
|
2019-08-30 17:17:31 +01:00 |
|
jesopo
|
4bfb4c3200
|
Add IntRangeSetting, reorder OptionsSetting arg order
|
2019-08-30 14:40:54 +01:00 |
|
jesopo
|
0d9bd57332
|
copypaste name collision for channel_op.py's op function
|
2019-08-30 12:26:52 +01:00 |
|
jesopo
|
8a2e364ffd
|
also support 'realname' in !editserver
|
2019-08-30 11:53:57 +01:00 |
|
jesopo
|
fd0ad283f8
|
prefix formatted KICKs with "- "
|
2019-08-16 16:09:57 +01:00 |
|
jesopo
|
0b192d0feb
|
count numeric OR non-alphanumeric as a word boundary
|
2019-08-16 15:33:34 +01:00 |
|
jesopo
|
94ef49be1b
|
!config access should be "config", not "set". remove unused check_assert
|
2019-08-16 10:26:05 +01:00 |
|
jesopo
|
6332f80dc9
|
add !addpoint and !rmpoint (explicit ++/-- karma)
|
2019-08-15 13:38:04 +01:00 |
|
jesopo
|
bd5bc81d1c
|
match .lower() repo names against .lower() hooked repo names
|
2019-08-14 15:28:20 +01:00 |
|
jesopo
|
6e571fbe1a
|
set channel_op.py _name to ChanOp
|
2019-08-14 15:08:17 +01:00 |
|
jesopo
|
f1dfbd112f
|
switch !mute to use +1s duration format
|
2019-08-14 15:07:48 +01:00 |
|
jesopo
|
9bc1b67831
|
add configurable default kick message per bot/server/channel
|
2019-08-14 14:51:16 +01:00 |
|
jesopo
|
e72a21778f
|
remove debug print
|
2019-08-14 14:51:07 +01:00 |
|
jesopo
|
07a593ce20
|
!kickban 's _ban call needs an add arg
|
2019-08-14 14:41:29 +01:00 |
|
jesopo
|
fa279aab93
|
refactor/rewrite channel_op.py, split highlight spam protection out
|
2019-08-14 14:38:47 +01:00 |
|
jesopo
|
4d8ce63efd
|
alias !remindme to !in
|
2019-08-14 10:56:18 +01:00 |
|
jesopo
|
03c7e8f066
|
return matching string from buffer.find() as most uses were redundantly regexing
|
2019-08-13 13:48:03 +01:00 |
|
jesopo
|
9a51ac18ea
|
"!yt" without args should get .message from BufferLine
|
2019-08-13 13:25:20 +01:00 |
|
jesopo
|
2af428cf2f
|
Change REST API to listen on IPv6
|
2019-08-13 12:58:23 +01:00 |
|
jesopo
|
fc5e3d3936
|
add !version and !source
closes #84
|
2019-08-12 17:29:01 +01:00 |
|
jesopo
|
d9426abec1
|
suggest similar feeds when trying to remove an unknown feed
closes #100
|
2019-08-12 16:07:07 +01:00 |
|
jesopo
|
81a077c43a
|
Show TTL for each record type from !dns
closes #102
|
2019-08-12 15:49:28 +01:00 |
|
jesopo
|
1db3929de3
|
check hashed and unhashed IDs, for backwards compatibility
|
2019-08-12 15:16:46 +01:00 |
|