jesopo
3466a3c43e
Allow utils.Setting_ parse functions to throw detailed errors
2019-10-04 10:25:48 +01:00
jesopo
7e51165a23
check that third_words
isn't empty
2019-10-04 10:12:52 +01:00
jesopo
95f098b6d6
pass whether a command.regex trigger was an ACTION or not
2019-10-03 16:42:11 +01:00
jesopo
15f28dad1e
only look at PRIVMSG and NOTICE for !seen
2019-10-03 16:02:23 +01:00
jesopo
cee29ba1a5
split words/parens karma in to 2 regexes, only accept non-parens when ^$
...
closes #169
2019-10-03 13:20:35 +01:00
jesopo
db4bb7db56
add !ghcommit and @commit auto-github syntax
2019-10-03 12:09:18 +01:00
jesopo
ec628f4f70
alias
doesnt exist either
2019-10-03 05:19:16 +01:00
jesopo
54e4cd4e74
dont try to !connect to a variable that doesnt exist
2019-10-03 05:15:30 +01:00
Aron Heinecke
028c7758c9
Fix typo
2019-10-02 00:37:59 +02:00
jesopo
afb07f6531
only check arg number at all when not "$-"
2019-09-30 16:33:21 +01:00
jesopo
a9021813e5
first_word.lower() -> first_words[0].lower()
2019-09-30 16:31:13 +01:00
jesopo
f49f34a98f
first_word -> first_words, better if statement
2019-09-30 16:28:57 +01:00
jesopo
3c60de8164
support multiple first_words
2019-09-30 16:27:29 +01:00
jesopo
a75802129f
allow whitespace between karma target and ++/--
2019-09-30 15:36:13 +01:00
jesopo
f306213cb8
'is_localhost()' -> 'host_permitted()'
2019-09-30 15:15:20 +01:00
jesopo
1d34363db4
default sasl-hard-fail to false but add a bot-wide setting for it
2019-09-30 10:41:57 +01:00
jesopo
7d3521395e
add github-token to bot.conf.example, use in github.py when available
2019-09-30 10:35:36 +01:00
jesopo
0a1a3551a2
support "$-" for alias arg, meaning "0 or more args"
2019-09-30 10:15:12 +01:00
jesopo
bc63111984
add !msg
2019-09-27 16:18:49 +01:00
jesopo
514b0126f2
Revert "add !msg"
...
This reverts commit ddaf8a3890
.
2019-09-27 16:16:50 +01:00
jesopo
ddaf8a3890
add !msg
2019-09-27 16:14:39 +01:00
jesopo
2493cfa487
Merge pull request #164 from chiefnoah/master
...
Improves sentence processing for karma
2019-09-27 14:32:59 +01:00
Noah Pederson
c3f95130a3
Some minor cleanup
2019-09-27 07:32:09 -06:00
jesopo
c04ed5875d
pass username/hostname to get_user() so new.user events have that information
2019-09-27 12:54:20 +01:00
jesopo
54d874ddee
take an option server alias arg for !reconnect
...
closes #166
2019-09-27 12:35:28 +01:00
jesopo
efeffb62a9
!changenickname -> !nickname
2019-09-27 12:26:14 +01:00
jesopo
c332ccc1aa
add require_access flags to !silence/!unsilence
2019-09-26 17:56:10 +01:00
jesopo
3c2aef52f6
update username/hostname of Users when they send PRIVMSG/NOTICE/TAGMSG
2019-09-26 17:47:45 +01:00
jesopo
0f87c3c56e
add check_certificate.py, to warn about expiring or not valid client certs
2019-09-26 16:03:23 +01:00
jesopo
f7455e6347
capitalisation and comma for "!stats <alias>"
2019-09-26 14:59:26 +01:00
jesopo
2c8b3749cf
default !roll to 1d6
2019-09-26 14:48:05 +01:00
jesopo
17c899fb70
make dice count optional (default 1)
2019-09-26 14:32:48 +01:00
jesopo
c5b9a13b53
Show dice format error when regex doesn't match
2019-09-26 14:32:20 +01:00
jesopo
ab51bbaefa
only permit 3-digit modifiers
2019-09-26 14:31:38 +01:00
jesopo
0c211528ef
also show "total" when there's modifiers
2019-09-26 14:22:56 +01:00
jesopo
e2ececa9fd
fine. support up to d100
2019-09-26 14:15:54 +01:00
jesopo
3f71674369
allow up to d30, not just d20
2019-09-26 14:09:59 +01:00
jesopo
55c354cebb
add !dice as an alias of !roll
2019-09-26 14:06:58 +01:00
jesopo
d6fa786806
!k should be alias_of !kick
2019-09-26 14:06:47 +01:00
jesopo
8dc415fa4b
support +/- modifiers on dice !roll
2019-09-26 14:04:59 +01:00
jesopo
6cfab3f344
allow !grab for 1 to 3 most recent lines (default is 1)
2019-09-26 13:47:17 +01:00
jesopo
3be9029669
add !action to echo.py
2019-09-26 12:27:20 +01:00
jesopo
30588da3a7
returned
is now a tuple; we want message
2019-09-26 12:19:50 +01:00
jesopo
3c1a313ef2
'require-mode'/'require-access' -> 'require_mode'/'require_access'
...
closes #161
2019-09-26 12:15:35 +01:00
jesopo
2e80b223de
allow all preprocess.command and check.command failures to have a message
2019-09-26 12:14:55 +01:00
jesopo
1da8e15b78
!echo should have a min_args kwarg
2019-09-26 11:56:37 +01:00
jesopo
4bb20c49dd
make !silence effect min_args and unknown-command
...
closes #160
2019-09-26 11:56:14 +01:00
Noah Pederson
f70e46a198
Improves sentence processing for karma
...
Changes the matching regex to grab arbitrary text between ()
for giving (or taking away) karma. Still supports single words
followed by ++/--, including usernames, and strips "," or ":"
characters from the end if a single-word match.
ex. (some sentence to give karma to)++ -> "[Karma] some sentence to give
karma to now has 1 karma"
ex. ngp:++ -> "[Karma] ngp now has 200 karma"
2019-09-26 05:50:10 -05:00
jesopo
fb4018dd4f
push markov lines down command.regex so ignored users are missed
2019-09-25 18:12:49 +01:00
jesopo
c6efea3971
non-CWed pleroma posts have content as "", not null
2019-09-25 17:12:55 +01:00
jesopo
6199086dc5
pleroma outbox items don't have an inReplyTo when it's null
2019-09-25 17:11:16 +01:00
jesopo
67cd14da5a
only fist first_item once
2019-09-25 16:14:48 +01:00
jesopo
5923602f0a
make fediverse module rely on REST API
...
I didn't want to do this unless we had to but Mastodon is introducing requirming
signed requests soon, so even if a user doesn't use bitbot as an instance, we'll
still need to be able to serve Actor (and key) over the REST API
2019-09-25 16:11:57 +01:00
jesopo
13b21b205d
only show non-replies with ,fedi
2019-09-25 16:11:18 +01:00
jesopo
c2e48c858e
allow channels to specify quotes should be per-channel
2019-09-25 15:12:52 +01:00
jesopo
d8ad79c153
request tweet stream as tweet_mode="extended"
2019-09-25 15:03:43 +01:00
jesopo
25ec351d4d
show alias of disconnected server when it's a cancelled timer
2019-09-25 12:33:12 +01:00
jesopo
3fa71a75af
serve pub key, not cert
2019-09-25 10:43:39 +01:00
jesopo
b18586ba51
don't .strip() tls cert
2019-09-25 10:32:54 +01:00
jesopo
e2ec8afbea
_ap_url already array-ifies
2019-09-25 10:17:56 +01:00
jesopo
0e5b14fb47
reference mask_split, not s
2019-09-24 15:57:23 +01:00
jesopo
9c591ca8dc
don't throw when account name is null
2019-09-24 15:52:31 +01:00
jesopo
70bc244864
switch ban-format-account from a serverset to channelset
2019-09-24 15:50:54 +01:00
jesopo
682914dce1
support having a separate ban format for users with accounts
2019-09-24 15:47:33 +01:00
jesopo
f59b161fbd
use ban-format for mute masks
2019-09-24 15:39:31 +01:00
jesopo
7549c0f998
support "$$" as "$" in ban-format
2019-09-24 15:27:35 +01:00
jesopo
5b82193f3b
support $a (account) in ban-mask setting
2019-09-24 15:25:33 +01:00
jesopo
9297ffbadc
.lstrip("-") from unset setting name
2019-09-24 14:48:01 +01:00
jesopo
8d3a35e740
'ref' doesn't always come in "a/b/c" format for Gitea
2019-09-24 13:00:08 +01:00
jesopo
195381d2e5
utf8-decode translation data
2019-09-24 12:47:16 +01:00
jesopo
8618f43b34
don't favourite starting words when first_word is provided
2019-09-24 10:55:18 +01:00
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