jesopo
|
5ea714182d
|
support first-word argument to !markovfor
|
2019-09-24 10:51:25 +01:00 |
|
jesopo
|
6669926746
|
support first_word with no found second_word
useful for "!markov <word>" so that "<word>" can be mid-chain
|
2019-09-23 16:47:11 +01:00 |
|
jesopo
|
7656fb9b51
|
'start' -> 'first_word'
|
2019-09-23 16:13:50 +01:00 |
|
jesopo
|
c253d17f54
|
allow an arg to !markov to chose the first word
|
2019-09-23 11:39:43 +01:00 |
|
jesopo
|
bb2590734b
|
add missing "import urllib.parse" to ap_utils.py
|
2019-09-23 11:28:14 +01:00 |
|
jesopo
|
6ee9bcc51f
|
add default value of self._load_thread
|
2019-09-23 10:41:01 +01:00 |
|
jesopo
|
28cdf05a47
|
push markov loading half on to a background thread that takes the main thread
for database actions
|
2019-09-23 10:24:03 +01:00 |
|
jesopo
|
964730e758
|
add success message, decode http get response
|
2019-09-23 10:06:04 +01:00 |
|
jesopo
|
e448a4abb8
|
add command for loading logs in to markov (via http)
|
2019-09-23 10:03:32 +01:00 |
|
jesopo
|
72ff24227d
|
we only need 1 level of "end" markov chains
|
2019-09-20 18:52:52 +01:00 |
|
jesopo
|
781b6bf525
|
copypaste fail, duplicate "markov" command hook
|
2019-09-20 18:09:26 +01:00 |
|
jesopo
|
3dfee55d42
|
add !markovfor
|
2019-09-20 18:08:22 +01:00 |
|
jesopo
|
c2e3fa4e80
|
.lower() markov words
|
2019-09-20 17:48:18 +01:00 |
|
jesopo
|
0e9a8d66a7
|
getting frequency on-insert should be execute_fetchone
|
2019-09-20 17:21:18 +01:00 |
|
jesopo
|
fa405df36a
|
remove debug print
|
2019-09-20 17:19:12 +01:00 |
|
jesopo
|
81cf1ab58f
|
add a command to generate markov chains (!markov)
|
2019-09-20 17:18:47 +01:00 |
|
jesopo
|
4ccd3084ed
|
'_on_load' -> 'on_load'
|
2019-09-20 17:15:21 +01:00 |
|
jesopo
|
532d1687c3
|
database.execute() doesn't fetch data
|
2019-09-20 17:12:17 +01:00 |
|
jesopo
|
ecf48aa33e
|
generate() takes a channel id, not a channel
|
2019-09-20 17:07:48 +01:00 |
|
jesopo
|
72fca2eacb
|
add missing ")" in CREATE query
|
2019-09-20 16:58:42 +01:00 |
|
jesopo
|
f24f58ecd0
|
'self.database' -> 'self.bot.database'
|
2019-09-20 16:57:17 +01:00 |
|
jesopo
|
909ba10263
|
first draft of markov.py
|
2019-09-20 16:56:00 +01:00 |
|
jesopo
|
3d3b990ff6
|
only show auto-title when response code is 200
|
2019-09-20 15:56:14 +01:00 |
|
jesopo
|
cf988c600d
|
'to' -> 'so', typo in !cfilter comment
|
2019-09-20 14:57:24 +01:00 |
|
jesopo
|
ebcae169c7
|
remove redundant old docstring kwargs from !silence
|
2019-09-20 14:55:19 +01:00 |
|
jesopo
|
47d38c7d18
|
refactor all checks for channel_type to server.is_channel()
|
2019-09-20 14:52:41 +01:00 |
|
jesopo
|
95a22f53f2
|
improve !ud usage string (wrt #number)
|
2019-09-20 14:19:06 +01:00 |
|
jesopo
|
c488fb2a82
|
change !ud index syntax and put it in help text
|
2019-09-20 14:11:09 +01:00 |
|
jesopo
|
208eb9cd47
|
move where optional for_str is inserted
|
2019-09-20 13:39:33 +01:00 |
|
jesopo
|
956cc86072
|
'path' is now 'args'
|
2019-09-20 13:34:55 +01:00 |
|
jesopo
|
8a3e480ef5
|
bitbot is a Service (bot), not a Person
|
2019-09-20 11:44:23 +01:00 |
|
jesopo
|
04d75ec414
|
make a better "random ID url" function
|
2019-09-20 11:39:46 +01:00 |
|
jesopo
|
51b8429278
|
make Accept ID (and Follow ID) our own domain
|
2019-09-20 10:53:58 +01:00 |
|
jesopo
|
1fac9135fb
|
'path' -> 'args' on REST API events
|
2019-09-20 10:48:24 +01:00 |
|
jesopo
|
d75d751295
|
update _ap_*_url() functions to use path-args
|
2019-09-20 10:46:49 +01:00 |
|
jesopo
|
691fdf8978
|
add missing ")"
|
2019-09-20 10:43:23 +01:00 |
|
jesopo
|
1b3ee8e336
|
use path-arg variables for AP urls, not get params
|
2019-09-20 10:42:08 +01:00 |
|
jesopo
|
cf65614832
|
support path-arg variables in url_for
|
2019-09-20 10:41:52 +01:00 |
|
jesopo
|
744a384c47
|
use source Hostmask from multiline batch
|
2019-09-19 18:16:23 +01:00 |
|
jesopo
|
efc0e197e5
|
Allow passing source Hostmask to IRCBatch
|
2019-09-19 18:16:10 +01:00 |
|
jesopo
|
c7409c91be
|
add missing IRCLine import
|
2019-09-19 16:24:53 +01:00 |
|
jesopo
|
8e9fba0f96
|
'bitbot.dev/multiline' -> 'draft/multiline'
|
2019-09-19 15:48:16 +01:00 |
|
jesopo
|
8f38223284
|
fedi http headers should be PascalCase
|
2019-09-19 15:28:58 +01:00 |
|
jesopo
|
957a222f96
|
actually pass Request objects to utils.http.request_many() from rss.py
|
2019-09-19 15:04:50 +01:00 |
|
jesopo
|
88a69aaa66
|
give Requests, use them in utils.http.request_many()
|
2019-09-19 14:54:44 +01:00 |
|
jesopo
|
9d846d10e2
|
append "CVE-" to CVE ids without it
|
2019-09-18 17:51:08 +01:00 |
|
jesopo
|
9ec81f8c8a
|
move check_urls.py to bitbot-modules
|
2019-09-18 17:49:24 +01:00 |
|
jesopo
|
31607def4e
|
move botsnack to bitbot-modules
|
2019-09-18 17:48:23 +01:00 |
|
jesopo
|
9a152541f1
|
move timer.py to bitbot-modules
|
2019-09-18 17:46:52 +01:00 |
|
jesopo
|
81f6715d7d
|
move slowvoice.py to bitbot-modules
|
2019-09-18 17:45:58 +01:00 |
|
jesopo
|
d5b9da7659
|
don't use JOIN/QUIT as !seen events (netsplits cause these)
|
2019-09-18 11:43:59 +01:00 |
|
jesopo
|
ea1698499f
|
through error when fediverse server is configured but crypto is missing
|
2019-09-18 10:18:49 +01:00 |
|
jesopo
|
9d4830dd88
|
first is now a Response object, not a dict
|
2019-09-17 18:05:39 +01:00 |
|
jesopo
|
14d28d836b
|
'responsedata' -> 'response.data'
|
2019-09-17 18:04:52 +01:00 |
|
jesopo
|
770c28da55
|
allow "!config #channel" for channels other than the current one
|
2019-09-17 17:56:56 +01:00 |
|
jesopo
|
441a58125a
|
Show error when actor.load() fails
|
2019-09-17 17:41:40 +01:00 |
|
jesopo
|
f84b48adbe
|
pass full Response from ap_utils.activity_request, use it for Actor 404
|
2019-09-17 17:41:15 +01:00 |
|
jesopo
|
ebe772a5a9
|
be explicit when a command has no help available
|
2019-09-17 16:27:35 +01:00 |
|
jesopo
|
0de4688540
|
add !myaccount
|
2019-09-17 15:15:54 +01:00 |
|
jesopo
|
b362e7d760
|
if a word is known as a nickname but the user has no location, treat as location
|
2019-09-17 15:06:13 +01:00 |
|
jesopo
|
92840f67ee
|
don't die when channel.topic_setter is null
|
2019-09-17 14:14:30 +01:00 |
|
jesopo
|
f2f09bf0ca
|
'srt' -> 'str'
closes #152
|
2019-09-17 12:23:05 +01:00 |
|
jesopo
|
141b326d5a
|
allow per-server default mumble servers
closes #151
|
2019-09-17 10:58:02 +01:00 |
|
jesopo
|
e77124604c
|
hide hidden channels from "!channels" when not pm and not current channel
closes #150
|
2019-09-17 10:54:07 +01:00 |
|
jesopo
|
a04a29aa2c
|
add per-channel default mumble server
closes #151
|
2019-09-17 10:45:11 +01:00 |
|
jesopo
|
89289065a9
|
suggest "!config <nickname> <setting> <value>" when settings are missing
|
2019-09-17 10:31:28 +01:00 |
|
jesopo
|
c8133e7847
|
treat config target "*" as current channel or current user in PM
|
2019-09-17 10:25:42 +01:00 |
|
jesopo
|
cf0a81d2e5
|
permit '!config #channel <setting>' and '!config own_nick <setting>'
|
2019-09-17 10:21:48 +01:00 |
|
jesopo
|
334d580c57
|
'seperate_hostmask()' -> 'parse_hostmask()'
|
2019-09-16 18:43:57 +01:00 |
|
jesopo
|
4ccfd821c8
|
update channel.topic_setter-related code
|
2019-09-16 18:41:47 +01:00 |
|
jesopo
|
03892d0ae3
|
topic_setter should be stored as a Hostmask
|
2019-09-16 18:38:46 +01:00 |
|
jesopo
|
7e67b07ada
|
add !channels
closes #147
|
2019-09-16 16:05:36 +01:00 |
|
jesopo
|
6959bba5f3
|
move getting private_key/our_actor to __init__ (for main thread)
|
2019-09-16 15:49:03 +01:00 |
|
jesopo
|
6929ff0664
|
add strip_otr.py
closes #148
|
2019-09-16 15:29:09 +01:00 |
|
jesopo
|
fa33a927b1
|
url_for was moved to _module._url_for
|
2019-09-16 15:05:14 +01:00 |
|
jesopo
|
ea47c81ece
|
expose url-for logic on Exports too
|
2019-09-16 14:55:29 +01:00 |
|
jesopo
|
ec4501c018
|
pass exports to ap_server.py
|
2019-09-16 14:23:06 +01:00 |
|
jesopo
|
f12551532f
|
'theading' -> 'threading'
|
2019-09-16 14:19:52 +01:00 |
|
jesopo
|
69032ea476
|
push inbox POSTs on to a background thread
|
2019-09-16 14:18:58 +01:00 |
|
jesopo
|
cc65892586
|
Revert "push inbox PUSHes on to background thread"
This reverts commit 18613311f9 .
|
2019-09-16 13:58:13 +01:00 |
|
jesopo
|
18613311f9
|
push inbox PUSHes on to background thread
|
2019-09-16 13:54:07 +01:00 |
|
jesopo
|
f88b054f38
|
add !crate in rust.py
|
2019-09-16 12:11:03 +01:00 |
|
jesopo
|
d6960865d6
|
eval_rust.py -> rust.py
|
2019-09-16 12:02:35 +01:00 |
|
jesopo
|
cefbbe7c5f
|
return content warning from ap_utils.format_note and show it
closes #118
|
2019-09-16 11:10:49 +01:00 |
|
jesopo
|
050bf0a848
|
use json_body=True for ActivityPub requests
|
2019-09-16 10:57:46 +01:00 |
|
jesopo
|
9d17710d6d
|
PKCS1v15 is a function
|
2019-09-16 10:53:10 +01:00 |
|
jesopo
|
55d5692856
|
refactor AP Note stringifying out to ap_utils.py
|
2019-09-16 10:51:59 +01:00 |
|
jesopo
|
b8adb6f52d
|
[:1] -> [:-1]
|
2019-09-15 22:52:20 +01:00 |
|
jesopo
|
52a7bf400f
|
'[1:]' -> '[:1]'
|
2019-09-15 22:50:55 +01:00 |
|
jesopo
|
4ed8906075
|
strip ":" from "nick: ++"
|
2019-09-15 22:49:43 +01:00 |
|
jesopo
|
30ead4dcb6
|
parse "nick: ++" as "nick++"
|
2019-09-15 22:47:50 +01:00 |
|
jesopo
|
21fa2120df
|
support "0" kickrejoin delay without creating a timer
|
2019-09-15 22:22:41 +01:00 |
|
jesopo
|
621fb0b396
|
event["channel"] -> event["target"]
|
2019-09-15 21:31:31 +01:00 |
|
jesopo
|
32a9a39e88
|
'hooked_repos_lowers' -> 'hooked_repos_lower'
|
2019-09-15 19:59:40 +01:00 |
|
jesopo
|
f8d24bc422
|
throw on_start() exceptions when tls key/certificate are not present
|
2019-09-15 17:11:45 +01:00 |
|
jesopo
|
5800fef4c9
|
use PKCS1v15 for HTTP signatures
|
2019-09-15 16:31:53 +01:00 |
|
jesopo
|
433e3cdcfb
|
data -> post_data
|
2019-09-15 15:21:26 +01:00 |
|
jesopo
|
4f1f65919d
|
dict()ify inbox headers
|
2019-09-15 14:31:36 +01:00 |
|
jesopo
|
ca68b27ccd
|
actually pass signature and related headers to activity_request()
|
2019-09-15 14:27:34 +01:00 |
|
jesopo
|
06acbcfb98
|
readd accidentally lost ")"
|
2019-09-15 12:23:19 +01:00 |
|