jesopo
b23cc1e1bd
Allow !vote to be restricted to voiced-and-above users
2019-10-25 14:21:30 +01:00
jesopo
869e91fc2a
'existing_server' -> 'server'
2019-10-25 13:39:00 +01:00
jesopo
6a2e4f70df
re-add lost git_webhook branch filtering
2019-10-25 11:29:27 +01:00
jesopo
39d14102f9
support channels
GET param for git webhooks, to denote target channels
2019-10-25 10:09:17 +01:00
jesopo
51c914ebae
get account id (not just account name) from WHOX
...
closes #116
2019-10-20 18:27:06 +01:00
jesopo
f7aa56b8eb
also support twitter mobile urls
2019-10-20 17:10:01 +01:00
jesopo
31531949ce
flip create/delete tag detection logic
2019-10-20 13:39:04 +01:00
jesopo
a4fbc150c8
add missing ]
2019-10-20 13:36:26 +01:00
jesopo
b152c5e3a7
return None url param for tag_push
2019-10-20 13:34:41 +01:00
jesopo
e0403aa3d2
added gitlab Tag Push events
2019-10-20 12:51:11 +01:00
jesopo
ae549575e4
still show url when shortening is turned off
2019-10-19 18:58:29 +01:00
jesopo
4cce0bb54e
dont shorten git webhook urls by default
2019-10-19 17:09:04 +01:00
jesopo
ecca7927fe
youtube playlist info should be returning URL as a tuple item
2019-10-18 16:40:31 +01:00
jesopo
1c02de8a69
change !fedi "!" arg to still show CW but also show content of Note
2019-10-18 15:54:36 +01:00
jesopo
20a115e71d
add "!" arg to !fedi, to denote "dont show content warning"
2019-10-18 15:43:17 +01:00
jesopo
40a8406054
put a permission restriction on !tcpup - it could be abused for port scanning
2019-10-18 15:18:46 +01:00
jesopo
4391176c7f
major security fix: adding api keys should be admin-only
2019-10-18 15:17:04 +01:00
jesopo
f7d34e16bb
if a nickname has no location set, assume it's a location
2019-10-18 15:03:19 +01:00
jesopo
480a4f73a9
remove now-unused formatting params for urls
2019-10-18 14:07:34 +01:00
jesopo
86147ded77
pass git_webhook urls up to __init__.py to be shortened
2019-10-18 14:03:20 +01:00
jesopo
2b4f5dc75b
correctly color/phrase opened, closed and merged for MRs
2019-10-18 13:31:21 +01:00
jesopo
afd6800c98
show merge_request/merge events
2019-10-18 13:28:24 +01:00
jesopo
7d786baa65
"PR"->"MR" again, "open"->"opened" etc for MRs too
2019-10-18 12:20:23 +01:00
jesopo
b151e7eecd
'PR' -> 'MR' (they're "merge requests" on gitlab, not "pull requests")
2019-10-18 12:02:56 +01:00
jesopo
963d0d2de7
'opened' -> 'open' etc for gitlab event categories
2019-10-18 11:58:10 +01:00
jesopo
53b2407072
'open' -> 'opened' etc for gitlab issue webhook actions
2019-10-18 11:19:16 +01:00
jesopo
123cdcf0da
pull_request -> merge_request
2019-10-18 03:52:59 +01:00
jesopo
8ff4ad19eb
we should be showing 'title' (not 'description') for gitlab issue events
2019-10-17 11:50:57 +01:00
jesopo
a6093092b1
'issues' should be an alias for 'issue' in gitlab
2019-10-17 11:49:07 +01:00
jesopo
4a4a0ac45b
dont fail !weather when we decide a nickname is a location
2019-10-16 15:53:34 +01:00
jesopo
6d29291f47
also catch m.youtube.com urls
2019-10-15 17:27:02 +01:00
jesopo
fa97f12689
support AP Notes with content outside of HTML tags (e.g. pleroma)
2019-10-15 16:44:28 +01:00
jesopo
491ad531c2
mapped event names for gitlab webhooks should be 'issue' not 'issues'
2019-10-15 16:20:41 +01:00
jesopo
f0a9f00b57
'issues' -> 'issue', 'pull_request' -> 'merge_request'
2019-10-15 16:14:15 +01:00
jesopo
2f94e7546f
actually instantiate gitlab in git_webhooks/__init__.py
2019-10-15 16:10:18 +01:00
jesopo
be30cb81af
add first draft of gitlab webhook support
2019-10-15 16:04:30 +01:00
jesopo
41f5c5d607
move cve.py to bitbot-modules repo
2019-10-15 15:27:44 +01:00
jesopo
3f4eebf85b
show ,fedi latest-tweet also if it's a self-reply
2019-10-15 15:24:57 +01:00
jesopo
f739064d10
show first
toot if it's a boost, fix Note boost formatting
2019-10-15 15:13:28 +01:00
jesopo
205049ab6f
remove unused util functions in git_webhooks/gitea.py
2019-10-15 10:53:29 +01:00
jesopo
124fc4fc42
Set duck_lines
to -1 when a duck is waiting to quack - do not allow bef/trap
...
closes #177
2019-10-15 10:33:13 +01:00
jesopo
e58e9a2058
add .back suffix to database backups
2019-10-14 18:13:43 +01:00
jesopo
fe16c0132f
prune database backups even if there's more than 5
2019-10-14 18:07:18 +01:00
jesopo
11ade023e8
eat errors for failing to parse @commit
2019-10-14 14:03:47 +01:00
jesopo
a9111c7241
add ModuleManager.try_reload_modules(), to try reloading in a transaction
...
if any of the modules fails to reload, rollback and use the already loaded modules. closes #179
2019-10-14 12:56:04 +01:00
jesopo
af1fd37003
actually explicitly strip "unknown" html tags from fedi notes
2019-10-14 10:46:15 +01:00
jesopo
ea589b744f
Merge pull request #173 from panicbit/splitpoints
...
Adjust line splitpoints to word boundaries. closes #159
2019-10-12 21:50:24 +01:00
panicbit
c94327b58b
Remove @staticmethod
2019-10-12 18:30:22 +02:00
James Lu
dda27c1b1c
Show 0 karma in the colour of gold™
2019-10-11 23:23:58 -07:00
jesopo
3fc7294539
exit when all servers are disconnected after ctrl+c
2019-10-11 17:06:37 +01:00
jesopo
0207e8e2b6
Revert "no longer treat ctrl+c as "shutdown" - bitbotctl will take this job"
...
This reverts commit 73e6ede8cc
.
2019-10-11 15:41:51 +01:00
jesopo
73e6ede8cc
no longer treat ctrl+c as "shutdown" - bitbotctl will take this job
2019-10-11 15:39:01 +01:00
jesopo
a5eca53f0a
we need both id
and server
for !disconnect
2019-10-10 18:02:55 +01:00
jesopo
dd94f3a918
'.values()' -> '.items()'
2019-10-10 17:16:00 +01:00
jesopo
0960740aca
dont say a vote has changed when it's been "changed" to the same option
2019-10-10 17:15:03 +01:00
jesopo
c2f075599d
ignore invalid utf8 in markov log imports
2019-10-10 16:36:59 +01:00
jesopo
fe1c2c0205
'channel.find_setting()' -> 'channel.find_settings()'
2019-10-10 15:27:49 +01:00
jesopo
4db34b087d
server.hostmask() already exists
2019-10-10 12:19:34 +01:00
jesopo
d91cd02d34
change badges.py to use utils.datetime_utcnow() - less code dupe
2019-10-10 12:17:10 +01:00
jesopo
0331b763ff
refactor multi-line-to-line normalisation to utils.parse.line_normalise(), use it in rss.py
...
closes #174
2019-10-10 10:33:18 +01:00
jesopo
cf1002a2a9
strip HTML from RSS entry titles
...
closes #174
2019-10-10 10:20:44 +01:00
jesopo
97c439a9d7
!editserver only need an alias to exist, not to be currently connected
2019-10-09 20:56:38 +01:00
panicbit
d069d4b83f
Adjust line splitpoints to word boundaries
2019-10-09 20:54:42 +02:00
jesopo
87a7d74fc3
a chain has failed to generate if the result is the same as the input
2019-10-09 17:54:28 +01:00
jesopo
84ec6d812f
format multi-line toots on a single line using things like double space
2019-10-09 16:44:54 +01:00
jesopo
5aba3f509e
format multi-line tweets on a single line using things like double spaces
2019-10-09 15:35:20 +01:00
jesopo
1e1eeb9b7f
only FORCE_SUCCESS for masterlogin when there's a permissions requirement
2019-10-09 14:29:25 +01:00
jesopo
6b8323b6f5
also split auto-title words on /
2019-10-09 12:58:25 +01:00
jesopo
27da1f314b
[:,] shouldn't be optional because the wider group is
2019-10-09 10:33:31 +01:00
jesopo
7ea434e62e
only accept space between word and modifier for word karma when : or ,
2019-10-09 10:31:56 +01:00
jesopo
a43edd17ae
duck_active should be when the duck spawns
2019-10-08 21:52:26 +01:00
jesopo
90df25cd8d
typo, 'timer.repo()' -> 'timer.redo()'
2019-10-08 17:03:57 +01:00
jesopo
a2ccf85abf
duck-prevent-highlight by default, improve !friends/!enemies query
2019-10-08 16:28:52 +01:00
jesopo
5035a5370c
default !friends/!enemies to be for the current channel
2019-10-08 16:20:52 +01:00
jesopo
44a635b708
prefer url
over id
as it's usually a more user-friendly url
2019-10-08 16:07:35 +01:00
jesopo
921e59e0f8
!isupraw -> !tcpup
2019-10-08 16:02:29 +01:00
jesopo
ee64bfc5fc
look back in logs for URL when non is provided to !isup
2019-10-08 15:56:25 +01:00
jesopo
15782908db
add !isupraw - to check if a tcp connection is possible to a target
...
closes #120
2019-10-08 15:46:15 +01:00
jesopo
4157574516
show $n/$u/$h for ban-format-account help too
2019-10-08 15:08:16 +01:00
jesopo
d0aa1d34f1
don't consume ":"/"," in a karma target
2019-10-08 15:03:24 +01:00
jesopo
a5e489655d
move !which to help.py
2019-10-08 14:48:39 +01:00
jesopo
c547df81dd
add !apropos - to show commands with a given string in them
...
closes #133
2019-10-08 14:45:46 +01:00
jesopo
0226b48b0c
do not permit a space between () and karma modifier
2019-10-08 14:34:14 +01:00
jesopo
1b3ee1cb89
only show twitter url when one was not provided initially
2019-10-08 14:21:15 +01:00
jesopo
37e375c31f
allow !markovfor outside a channel when you share the channel with bitbot
2019-10-08 14:03:09 +01:00
jesopo
355689bb35
send ducks 5-20 seconds after the message that triggered it
2019-10-08 13:57:26 +01:00
jesopo
7a5edccb98
transient timers shouldn't use the event system
2019-10-08 13:49:55 +01:00
jesopo
513f8a1ddd
only show youtu.be url when one was not provided
...
closes #171
2019-10-08 11:39:14 +01:00
jesopo
6a0d41f069
make 'sasl' setting 'sensitive'
2019-10-07 13:12:17 +01:00
jesopo
5c3510fe7c
Setting.format() should effect when you change a setting, mostly for
...
SensitiveSetting
2019-10-07 13:11:58 +01:00
jesopo
50d1eb6b8c
combine find_setting() and find_setting_prefix() on user/channel/server/bot
2019-10-07 12:46:52 +01:00
jesopo
cac8cb7b7e
better help/usage for quote.py commands
...
closes #92
2019-10-04 15:25:53 +01:00
jesopo
3d7f6c9924
only allow !to against users bitbot has seen before
...
closes #111
2019-10-04 15:20:38 +01:00
jesopo
70aceab622
exclude lines with URLs in them from creating markov chains
...
closes #156
2019-10-04 15:14:43 +01:00
jesopo
472b5ba9f0
support !fedi with a URL to a Note
2019-10-04 13:06:29 +01:00
jesopo
8938e119b4
expand apikey
command to list, add, remove and info
...
closes #123
2019-10-04 12:39:36 +01:00
jesopo
843440ac97
preprocess.command returns now need action, message
returns
2019-10-04 12:05:28 +01:00
jesopo
432fd39441
also stop markov chain if we chose None
2019-10-04 11:57:11 +01:00
jesopo
8e4c0f4963
ignore one-char "words" in <title> if they're not a "letter"
2019-10-04 11:20:35 +01:00
jesopo
8f927afdc9
don't auto-title when a URL contains most of it's <title>
2019-10-04 10:52:07 +01:00
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