jesopo
793d234a0b
'utils.http.get_url' -> 'utils.http.request', return a Response object from
...
utils.http.request
2018-12-11 22:26:38 +00:00
jesopo
a41cf7b471
Actually use action_desc
in github.py.issues, so that we can see what things
...
are labeled as
2018-12-10 21:07:38 +00:00
jesopo
d0caebbc57
Support fork
event (github.py)
2018-12-10 18:47:54 +00:00
jesopo
b696e4e818
Add basics of status
event handling, mostly for use with continuous integration (github.py)
2018-12-10 17:17:40 +00:00
jesopo
a3a88d4589
Use more distinctive arrow characters for youtube up/down votes
2018-12-09 21:02:58 +00:00
jesopo
6dc58d4ceb
Correctly support labeling pull requests, support unlabeling pull requests and support both on issues
2018-12-09 20:57:29 +00:00
jesopo
de60d245b5
Show newly added labels when a pull request is labeled
2018-12-09 19:36:23 +00:00
jesopo
8cc1168589
Return empty string on successful github webhook handling, not True
2018-12-08 09:10:44 +00:00
jesopo
9bef4b7df1
Switch to using a case insensitive dictionary for headers instead of doing
...
.title() on each header key
2018-12-08 09:00:12 +00:00
jesopo
281923a463
Check whether we actually have a httpd running when unloading rest_api.py
2018-12-08 08:56:47 +00:00
jesopo
476e4cc9c1
["review"]["user"]["login"]
-> ["sender"]["login"]
to show who created a
...
pull_request_review event, not who started the review
2018-12-06 18:35:46 +00:00
jesopo
3e0bd3ee85
Add 'bot-channel' config in bot.conf.example and use it, if present, in
...
bot_channel.py
2018-12-06 12:13:59 +00:00
jesopo
7d59898485
'X-GitHub-Event' -> 'X-Github-Event' now that we .title() header keys
...
(github.py)
2018-12-06 12:09:58 +00:00
jesopo
9918a72f80
.items() on self.headers, to correctly use it for a dict comprehension
...
(rest_api.py)
2018-12-06 12:03:58 +00:00
jesopo
786e8b89a3
'content-type' -> 'Content-Type' (github.py)
2018-12-06 12:01:23 +00:00
jesopo
e6b0d4d167
.title() all header keys (rest_api.py)
2018-12-06 12:00:45 +00:00
jesopo
809efc6793
Only pop MODE args when we're certain we should (pays more attention to
...
CHANMODES ISUPPORT)
2018-12-06 08:26:07 +00:00
jesopo
dd0c5093a0
Remove telegram functionality - it's very broken/outdated and needs a
...
complete rewrite
2018-12-05 15:53:49 +00:00
jesopo
a8cb500784
utils.irc.lower channel names when adding them to the autojoin list
2018-12-05 15:46:51 +00:00
jesopo
764e1e3245
Prevent setting values to array settings and prevent adding to non-array
...
settings
2018-12-05 12:13:29 +00:00
jesopo
08a74d8b4d
Don't try to call .isdigit() on an int object in coin.py.lottery_buy
2018-12-05 11:28:44 +00:00
jesopo
351a88bda6
Only gracefully handle SIGINT once
2018-12-03 19:46:15 +00:00
jesopo
48eeb11554
Remove use of print()
in modules/line_handler.py
2018-12-02 09:46:57 +00:00
jesopo
92f255e9be
typo in modules.py, '_reload' -> 'self._reload'
2018-12-02 09:19:03 +00:00
jesopo
389366ce5d
Take a name
param in modules.py._catch
2018-12-02 09:18:24 +00:00
jesopo
da81b20c01
Correctly return errors for load/unload, not just reload (modules.py)
2018-12-02 09:16:17 +00:00
jesopo
d1bbd8cfe3
Add missing urllib.parse import (github.py)
2018-11-30 21:54:51 +00:00
jesopo
fcc3bdda6b
Support form-encoded github webhook data
2018-11-30 21:53:47 +00:00
jesopo
35108efc5f
rest_api.py's '_safe_handle' function isn't used and doesn't need to be used now
...
that API calls are thrown straight on to the main thread
2018-11-30 21:39:28 +00:00
jesopo
aab84096fd
utf8-decode github webhook json data
2018-11-30 21:09:59 +00:00
jesopo
6724ef94e5
Make coins.py compatible with versions of python under 3.6
2018-11-30 20:38:03 +00:00
jesopo
4ae7d3fbab
Show who invited who when printing and invite (print_activity.py)
2018-11-27 17:36:22 +00:00
jesopo
6077d06c99
Copypaste fail, 'target_channel' -> 'event["target_channel"]'
...
(print_activity.py)
2018-11-27 17:34:10 +00:00
jesopo
e47edbddfb
Print when we receive and INVITE
2018-11-27 17:33:24 +00:00
jesopo
dfbc727dc7
Don't prefix "self." events with "received."
2018-11-27 15:43:32 +00:00
jesopo
71775803d0
Reload bot config (on USR1) on the main thread
2018-11-27 15:10:49 +00:00
jesopo
dba4c9561c
'line' -> 'output' (github.py)
2018-11-27 15:07:22 +00:00
jesopo
d13a5069e3
Grab response from functions asked to be executed on the main thread and feed
...
them back to the callers, allowing rest_api.py to take the main thread while
it's waiting for the response to give back to the requesting client
2018-11-27 14:25:12 +00:00
jesopo
00d4b9c73f
Show list of users in a channel, not just count
2018-11-27 13:34:51 +00:00
jesopo
7df55305ca
Make channel stats in /api/servers a dictionary
2018-11-27 13:24:38 +00:00
jesopo
ab60012cbe
Add channel stats to /api/servers
2018-11-27 13:23:20 +00:00
jesopo
8bbdcc6d4e
Send WHO on self mode change, to catch any important changes to our user
...
information that mode changes can cause (e.g. hostname change)
2018-11-27 13:16:43 +00:00
jesopo
08b4d94695
Fix missing spaces in some event calls in line_handler.py
2018-11-27 13:16:19 +00:00
jesopo
d010ca5c79
Use WHO/WHOX to also keep track of our own username/hostname
2018-11-27 12:14:03 +00:00
jesopo
72dca06626
Add a way to catch when a writebuffer is emptied so we can e.g. assure a QUIT is
...
sent before shutting down the bot
2018-11-27 11:56:03 +00:00
jesopo
231fa51129
use '~' instead of '±' to represent "changed files" in modules/github.py
2018-11-26 14:47:47 +00:00
jesopo
bac4ba89b7
Use send.stdout in modules/in.py
2018-11-21 20:05:08 +00:00
jesopo
b8518d745f
Move all logic related to score reasons until after we've checked if we have
...
reasons (mixed_unicode.py)
2018-11-20 20:43:26 +00:00
jesopo
993403f213
.items
-> .items()
2018-11-20 20:41:51 +00:00
jesopo
957b5413dc
Use collections.Counter
instea of itertools.groupby
to group together all
...
instances, not just consecutive instaces (mixed_unicode.py)
2018-11-20 20:30:48 +00:00
jesopo
45c7ce6da5
Add !disconnect to admin.py
2018-11-20 14:27:24 +00:00
jesopo
80dd3bb5e1
Don't count Unknown towards additional scripts count (mixed_unicode.py)
2018-11-20 14:17:46 +00:00
jesopo
0915dbd3fa
'AdditonalScript' -> 'AdditionalScript', 'score_reasons' -> 'reasons'
2018-11-20 13:50:07 +00:00
jesopo
537e2eebc4
Show reasons for score points (mixed_unicode.py)
2018-11-20 13:47:38 +00:00
jesopo
b98bf65a86
Add a point to a message's score for each additional script they use
...
(mixed_unicode.py)
2018-11-20 13:24:28 +00:00
jesopo
e31d9750ed
(for the moment) remove percentage-ising scores (mixed_unicode.py)
2018-11-20 13:23:11 +00:00
jesopo
5ea34b261f
TRACE log score with 2 decimal places (mixed_unicode.py)
2018-11-20 13:14:35 +00:00
jesopo
3dccc9f4e0
Keep a track of different scripts in a message, round score to 2 decimal places
...
(mixed_unicode.py)
2018-11-20 13:13:11 +00:00
jesopo
c59a5600a8
Score mixed unicode as a percentage (mixed_unicode.py)
2018-11-20 13:08:47 +00:00
jesopo
727ade4022
Only TRACE log when score is more than 0 (mixed_unicode.py)
2018-11-20 12:42:45 +00:00
jesopo
f507da3b9a
'BLUE' -> 'LIGHTBLUE' branch name for push
and create
events (github.py)
2018-11-20 12:40:26 +00:00
Evelyn
563bc59208
Mixed unicode: Add Cherokee and Tai Le blocks
2018-11-20 12:29:03 +00:00
Evelyn
22939dd0a9
Mixed unicode: Ranges expressed in hex, with comments
2018-11-20 12:18:56 +00:00
Evelyn
e70ec91a7a
Add Coptic range to mixed unicode module
2018-11-20 12:07:54 +00:00
jesopo
52d5b5da49
Detect full-width characters (mixed_unicode.py)
2018-11-20 12:00:47 +00:00
jesopo
e54db0858c
Detect Armenian script (mixed_unicode.py)
2018-11-20 11:44:13 +00:00
jesopo
b19ce0be2f
Add first version of modules/mixed_unicode.py, designed to detect when we get a
...
message that mixes scripts (latin, cyrillic, greek, etc) that might be spam
2018-11-20 11:38:30 +00:00
jesopo
c2ef675bf0
Better descript opened pull requests (github.py)
2018-11-20 10:27:28 +00:00
jesopo
c77ca64367
Change merged branch name from blue to light blue (github.py)
2018-11-20 10:16:39 +00:00
jesopo
371d9bd9d6
Only color branch name when it's not in the url
2018-11-19 21:36:24 +00:00
jesopo
ded49fe92a
But blue-ification on branch/tag name, not on "branch"/"tag"
2018-11-19 21:34:36 +00:00
jesopo
e5ae963193
Blue-ify tag/branch for create
event
2018-11-19 21:31:29 +00:00
jesopo
da2c403dd7
Don't bold action_desc
for pull_request event action (github.py)
2018-11-19 21:08:57 +00:00
jesopo
58a0cf97cf
Move "(" on to start line for a string format
2018-11-19 20:56:42 +00:00
jesopo
5767a1b32e
Show branch when a pull request is merged
2018-11-19 20:54:40 +00:00
jesopo
5d813175a1
Don't enable write throttling until we get 005
2018-11-19 10:12:52 +00:00
jesopo
9cdc37ce72
'factoid' -> 'value'
2018-11-18 11:18:37 +00:00
jesopo
c227f9a34f
Catch factoids in channel messages as '{!factoid <name>}' (factoids.py)
2018-11-18 10:31:44 +00:00
jesopo
fd805a07db
Make branch names blue AND bold! (github.py)
2018-11-18 10:27:19 +00:00
jesopo
7b430a71b0
Don't 404 when a repo is hooked in to but a specific event type isn't listened
...
for (github.py)
2018-11-18 10:25:32 +00:00
jesopo
6fbbcace66
Make branch names in commit notifications blueified
2018-11-18 10:20:16 +00:00
jesopo
ec373cf667
Add help/usage to factoids.py
2018-11-18 07:59:47 +00:00
jesopo
130da6f769
Add missing '%s' in string format (factoids.py)
2018-11-18 07:57:51 +00:00
jesopo
b811872577
'ModululeManager' -> 'ModuleManager' (factoids.py)
2018-11-18 07:56:55 +00:00
jesopo
5bb96c0d0c
Added modules/factoid.py
2018-11-18 07:55:43 +00:00
jesopo
870c56cfbb
hooks
-> targets
, to actually respect filtered-out channels
2018-11-17 22:39:14 +00:00
jesopo
a7e2eacf1d
typo in modules/github.py, 'targets.append(server, channel)' ->
...
'targets.append([server, channel])'
2018-11-17 22:35:32 +00:00
jesopo
369af13e4b
... this one too.
2018-11-17 22:34:51 +00:00
jesopo
dd47db25f9
I forgot that I'd changed how servers keep their list of channels
2018-11-17 22:33:31 +00:00
jesopo
dc1a292a75
Allow filtering by github event type
2018-11-17 22:32:44 +00:00
jesopo
099613d2bc
'tag' -> 'tag_name' (github.py)
2018-11-17 22:17:14 +00:00
jesopo
dfa11b0f18
Nope, "..." is an official git feature and it looks way nicer on github
2018-11-17 22:07:32 +00:00
jesopo
d35636733a
'..' not '...'
2018-11-17 22:01:58 +00:00
jesopo
39bbde57a0
'...', not unicode ellipsis
2018-11-17 22:01:09 +00:00
jesopo
3b952ba66e
Remove newlines for formatted strings where applicable (github.py)
2018-11-17 21:44:52 +00:00
jesopo
4ad35006c0
Show branch in commit notices in (github.py)
2018-11-17 21:44:33 +00:00
jesopo
e1cff13dbe
Put repo full name on each output automatically in modules/github.py
2018-11-17 21:41:39 +00:00
jesopo
f34bad8562
Support Github webhook release
events
2018-11-17 21:21:32 +00:00
jesopo
b17c8d79bf
Remove additional '%s' in modules/github.py.delete that was left over from
...
copypaste of `create`
2018-11-17 21:12:12 +00:00
jesopo
fa2de60edf
Also support delete
event
2018-11-17 21:10:03 +00:00
jesopo
32301ae334
'CREATE_EVENT' -> 'CREATE_URL'
2018-11-17 21:07:34 +00:00
jesopo
aeb7ee76ea
'name' -> 'login'
2018-11-17 21:06:27 +00:00
jesopo
c5293ef5bf
'pusher' -> 'sender'
2018-11-17 21:05:08 +00:00
jesopo
0da685bb0a
Actually, tag/branch creation comes under the create
event
2018-11-17 20:59:24 +00:00
jesopo
e6542f3fb2
Correctly show new tags being created in modules/github.py
2018-11-17 20:48:19 +00:00
jesopo
9f086d56a4
Only show first line of commit message
2018-11-17 20:33:23 +00:00
jesopo
0f2a8c7932
Minor code styling change in modules/8ball.py
2018-11-17 12:48:42 +00:00
jesopo
7ef8437d44
range()'s upper bound is not inclusive
2018-11-17 12:29:24 +00:00
jesopo
0da18aa86d
now i see why it was %s not %d
2018-11-17 12:26:21 +00:00
jesopo
9054ee7cd2
How hard is it to refactor a dice module
2018-11-17 12:25:14 +00:00
jesopo
349c9a0190
ints are not strings
2018-11-17 12:23:49 +00:00
jesopo
692c79c745
'reults' -> 'results'
2018-11-17 12:23:06 +00:00
jesopo
d130b0e59b
'die_sides' 'die_count' -> 'sides_n' 'count_n'
2018-11-17 12:22:05 +00:00
jesopo
0f8a3231c6
Should be using sides
and count
, not roll[0]
and roll[1]
2018-11-17 12:21:09 +00:00
jesopo
97b2158956
.partition returns 3 values!
2018-11-17 12:19:32 +00:00
jesopo
73ecb42ca9
Simplify modules/dice.py
2018-11-17 12:18:26 +00:00
jesopo
43e39c42c7
'bol' -> 'bold' typo
2018-11-17 09:40:44 +00:00
jesopo
2072c9f3e8
Boldify pusher
for combined commits
2018-11-17 09:39:27 +00:00
jesopo
b15ef9f739
use "before" commit hash for comparing a range of commits
2018-11-17 08:28:48 +00:00
jesopo
5a742f05a3
Typo in modules/github.py, 'moddified' -> 'modified'
2018-11-17 08:24:31 +00:00
jesopo
331a4e0a7a
'command' -> 'commit'
2018-11-17 08:22:39 +00:00
jesopo
f6b68815c9
utils.irc.bold needs to be given an empty string
2018-11-17 08:21:40 +00:00
jesopo
b27bffaa50
Typo in modules/github.py, 'const' -> 'consts'
2018-11-17 08:20:34 +00:00
jesopo
ea881724ee
Forgot to import itertools
2018-11-17 08:19:45 +00:00
jesopo
e0a6ba39c6
show added/removed/modified counts as unique files when we're aggregating
...
commits
2018-11-17 08:15:28 +00:00
jesopo
ffb2382b8f
Add missing ")"
2018-11-16 20:40:49 +00:00
jesopo
c0c6178c30
Show more than 3 commits in 1 message speficially designed for doing so
2018-11-16 20:39:37 +00:00
jesopo
10c457f524
Don't send more than 3 commits in one go
2018-11-16 20:23:34 +00:00
jesopo
39c313bd64
we need strings!
2018-11-16 17:43:05 +00:00
jesopo
b008bb2a0f
results
was already a ", ".joined string
2018-11-16 17:42:00 +00:00
jesopo
8e5415b887
second format arg should have been results
2018-11-16 17:40:49 +00:00
jesopo
b176701e0a
Fix string formatting of modules/dice.py
2018-11-16 17:39:33 +00:00
jesopo
cec97749e5
Make IP regex neater in modules/ip_addresses.py
2018-11-15 15:41:55 +00:00
jesopo
64a58fe041
Translate 'synchronize' to 'committed to' in modules/github.py's pull request
...
handling
2018-11-15 07:06:43 +00:00
jesopo
06078ba959
Prefix modules/rest_api.py logging with "[HTTP] "
2018-11-14 23:02:32 +00:00
jesopo
1275352576
Log HTTP events through regular logging
2018-11-14 23:01:22 +00:00
jesopo
e262af4acf
'self.message.*' now uses 'send.message.*'
2018-11-14 22:54:27 +00:00
jesopo
ba68f33999
This elif
should have actually been one even indented!
2018-11-14 22:18:54 +00:00
jesopo
21b757dbb0
IRCBuffer.add_notice
doesn't have an action
param
2018-11-14 22:16:39 +00:00
jesopo
ac87104151
Remove a ") i should have removed before
2018-11-14 22:14:12 +00:00
jesopo
c7f32a4066
only do server-notice checking if we have a "prefix" in event, even if it's None
2018-11-14 22:12:46 +00:00
jesopo
957b881dbd
if is_channel
should be if channel
, buffer.add_notice
doesn't take an
...
`action` param and `elif` can't go after `else`!
2018-11-14 22:07:01 +00:00
jesopo
378f4b1f93
Better parsing of CTCP messages, support raw.send.privmsg/raw.send.notice in
...
modules/line_handler.py
2018-11-14 21:28:27 +00:00
jesopo
05eea3b585
Strip font from the last message in a channel before trying to translate it
2018-11-14 14:44:01 +00:00
jesopo
ed838193aa
Better support passing "send" events through the parsers already present in
...
modules/line_handler.py
2018-11-14 14:41:28 +00:00
jesopo
aafe0624b2
Do a bold+unbold *after* the colored parts of github's "added/removed/modified"
...
to avoid the weechat bolding bug but not bold the colors
2018-11-14 08:51:49 +00:00
jesopo
775177a7ff
Add 375 data to server.motd_lines
2018-11-14 08:22:21 +00:00
jesopo
0b1881b1a9
purple doesn't need the bold() trick as weechat doesn't bold it to make it the
...
color it is, thus a forceful unbolding isn't required!
2018-11-13 17:59:45 +00:00
jesopo
765ae0fcf9
Add code to tokenize and ansi-replace IRC colors; use this in
...
modules/print_activity.py
2018-11-13 17:23:28 +00:00
jesopo
8b9062b942
Better constifying of color/font chars
2018-11-13 16:02:26 +00:00
jesopo
555e8faa03
Print MOTD in modules/print_activity.py (after caching it in
...
modules/line_handler.py)
2018-11-13 14:59:47 +00:00
jesopo
fad4715b5c
Add "prefixed-commands" to !channelset
2018-11-12 23:00:51 +00:00
jesopo
0c8678d44f
Add a way to tell bitbot to only response to highlight-based commands (e.g. "bitbot: ping") but ignore prefixed commands (e.g. "!ping")
2018-11-12 22:59:21 +00:00
jesopo
49a21b2d36
Add a way to prevent responses to commands at all in specific channels
2018-11-12 22:55:40 +00:00
jesopo
439994464f
The target channel of an /INVITE is the second argument!
2018-11-12 22:37:01 +00:00
jesopo
911ace524d
Typo in modules/rest_api.py, 'args_spit' -> 'args_split'
2018-11-12 22:20:46 +00:00
jesopo
161272daf5
Better denote variable-length "endpoint" arg in !apikey's usage
2018-11-12 20:44:46 +00:00
jesopo
6308ec86b7
Remove accidentally-added additional argument in modules/set.py.bot_set
2018-11-12 20:33:56 +00:00
jesopo
6e4e358ed1
Typo in modules/rest_api.py, 'seting' -> 'setting'
2018-11-12 18:18:07 +00:00
jesopo
78b3ca3cdc
Typo on modules/rest_api.py, '= =' -> '='
2018-11-12 18:16:55 +00:00
jesopo
eb215d61a1
'api-minify' -> 'rest-api-minify' and make it settable from !botset
2018-11-12 18:15:08 +00:00
jesopo
a0e86f79c3
Change API key checking on-request to match what the values should be in the
...
database (dict of '{"name": , "permissions": }')
2018-11-12 18:06:02 +00:00
jesopo
a943e69cee
Change API keys to be hex representations of UUID4s, change their value in the
...
database to be a dictionary ({"comment": , "permissions": }) and change the
!apikey command to take a `comment` arg (to note what specific keys are intended
for) and vararg `permissions` (a list of endpoints the API key is allowed to
hit)
2018-11-12 17:59:40 +00:00
jesopo
251f65c048
Boldify authors in modules/github.py
2018-11-12 17:16:17 +00:00
jesopo
d4bb690e83
Remove no-longer-used Regexes in modules/line_handler.py
2018-11-12 12:48:41 +00:00
jesopo
fa9c870e22
Boldify "merged"/"closed without merging" in modules/github.py
2018-11-12 10:24:22 +00:00
jesopo
0fc9b396f1
'files: %s/%s/%s' -> '%s/%s/%s files'
2018-11-12 08:48:21 +00:00
jesopo
3909d679de
Fix copypaste fail in modules/github.py
2018-11-12 08:48:09 +00:00
jesopo
7275408b35
Delimit added/removed/modified with "/" and boldify them
2018-11-12 08:44:15 +00:00
jesopo
4716ad16b9
Change "modified" color from yellow to purple, remove unneeded space
2018-11-12 08:38:18 +00:00
jesopo
102d7491ef
Change added/removed/modified order, change modified symbol and added colors to
...
added/removed/modified
2018-11-12 08:35:16 +00:00
jesopo
6bb03c4519
Don't implicitly create channels, explicitly create channels when we join one
2018-11-11 13:03:54 +00:00
jesopo
c50622c1a4
Typo in modules/line_handler.py, 'getl' -> 'get'
2018-11-11 12:50:12 +00:00
jesopo
2816fe67bb
Move channel tracking data/functions to src/IRCChannel.Channels
2018-11-11 12:34:22 +00:00
jesopo
57aa62cc9c
API keys should have a value of []
when they're created, not True
2018-11-11 09:03:19 +00:00
jesopo
b8e6bfd5e5
Add a way of appending a comment on an API key, to denote what it's for.
2018-11-11 09:02:48 +00:00
jesopo
b06eff217f
typo in modules/rest_api.py; 'resonse' -> 'response'
2018-11-11 08:55:49 +00:00
jesopo
9c7afe7d2b
Add missing "," in modules/rest_api.py
2018-11-11 08:54:46 +00:00
jesopo
36ab270971
typo in modules/rest_api.py, 'permimssions' -> 'permissions'
2018-11-11 08:53:37 +00:00
jesopo
8024bc9c80
Add a way to minify REST API responses in modules/rest_api.py
2018-11-11 08:51:50 +00:00
jesopo
d72e01aa68
update modules/stats.py to use connection_params
2018-11-11 08:47:21 +00:00
jesopo
8d350aa5f5
Show bytes read/written in server stats
2018-11-11 08:44:46 +00:00
jesopo
9826209ddf
Add missing "}"s in modules/check_mode.py
2018-11-10 22:35:35 +00:00
jesopo
dbe0d6cdab
Treat "low"/"high" as synonymous with "v"/"o" but with a settable override in
...
modules/check_mode.py
2018-11-10 22:32:44 +00:00
jesopo
07c813cc1f
Add basic access controls to modules/rest_api.py
2018-11-10 21:54:08 +00:00
jesopo
22660067d5
Remove unneeded string literal for resume
CAP
2018-11-09 11:15:07 +00:00
jesopo
bc5f9351b1
Make .get() default explicit
2018-11-09 10:47:27 +00:00
jesopo
4bab1aea30
Add a way to more explicitly denote when a CAP handshake has ended early
2018-11-09 10:43:05 +00:00
jesopo
7390367a5a
Add missing ")" in modules/stats.py
2018-11-08 22:30:06 +00:00
jesopo
57f697a378
Add !caps to show negotiated IRCv3 capabilities
2018-11-08 22:28:32 +00:00
jesopo
093fc5b2a8
Make hiding [Github] prefix dependent on channel setting
2018-11-08 17:48:23 +00:00
jesopo
2b106adc05
Add missing ".get(" in modules/resume.py
2018-11-08 17:29:20 +00:00
jesopo
150ad512ad
Add missing "," in modules/resume.py
2018-11-08 17:28:21 +00:00
jesopo
b3625dbe13
Support IRCv3's draft/resume-0.2
2018-11-08 17:09:53 +00:00
jesopo
2e43c9f3cf
Add a way to halt CAP before it hits CAP END
2018-11-08 17:08:46 +00:00
jesopo
88cb327d02
Only send 'PROTOCTL NAMESX' when we're not already got IRCv3's multi-prefix CAP
...
active
2018-11-08 14:30:50 +00:00
jesopo
26a16a7762
Keep a dict of isupport key:values on IRCServer.Server
2018-11-08 12:34:30 +00:00
jesopo
9744be6473
INFO instead of TRACE log for STS policy setting and connection upgrade
2018-11-08 12:21:54 +00:00
jesopo
4d272a3fa4
Refactor handling ISUPPORT and support hex escapes therein
2018-11-08 11:13:19 +00:00
jesopo
f15e3c8ffe
We don't need to expliticly print issue/pr numbers; they're shown in the urls
2018-11-07 19:27:22 +00:00
jesopo
7489b3dd96
"%s commented on" -> "%s commented on a review"
2018-11-07 19:22:12 +00:00
jesopo
66a904b5aa
don't show pull request review events when they're "commented"
2018-11-07 19:21:59 +00:00
jesopo
d961416401
Color "merged" and "closed without merging" in green and red respectively
2018-11-07 11:47:54 +00:00
jesopo
773412cdb0
Hide [Github] prefix in modules/github.py
2018-11-07 11:27:34 +00:00
jesopo
1696492a78
Add ability to hide [Prefix] from command outputs
2018-11-07 11:27:10 +00:00
jesopo
4000479cf0
Better show when a PR is merged or not merged when closingd
2018-11-07 08:23:07 +00:00
jesopo
6234334a7c
I decided to not specifically handle printing arrays in !get/!channelget/etc but
...
forgot to remove this code
2018-11-06 17:35:59 +00:00
jesopo
1dfa10ea9d
Typo in modules/github.py, 'COMMENT_ACTION' -> 'COMMENT_ACTIONS'
2018-11-06 17:23:27 +00:00
jesopo
08355c026e
Log errors caught when trying to execute API endpoints
2018-11-06 17:22:50 +00:00
jesopo
2bdac13752
Make "created a comment on" more readable with "commented on"
2018-11-06 17:05:40 +00:00
jesopo
367657901d
Better indicate that comments/reviews are for the given title, instead of it
...
seeming like the title is the comment body
2018-11-06 16:10:26 +00:00
jesopo
0e2d2b268a
Handle github_event 'ping'
2018-11-06 16:08:02 +00:00
jesopo
7c49152ef6
if an issue comment is from a pull request, it's denoted by the presence of
...
data["issue"]["pull_request"]
2018-11-06 15:01:02 +00:00
jesopo
12bc12e2ab
issue_comment is fired for both issue comments AND pull request comments.
...
weirdly.
2018-11-06 14:55:47 +00:00
jesopo
f06c824ae9
Only count a None
response from an API event hook to be a 404
2018-11-06 14:09:13 +00:00
jesopo
276fe2c8fa
Allow a json.loads
error in modules/github.py to bubble back up to
...
modules/rest_api.py
2018-11-06 14:08:35 +00:00
jesopo
be3ee373dd
Typo in modules/github.py, 'for output in output' -> 'for output in outputs'
2018-11-06 14:02:03 +00:00
jesopo
c3c6080117
Don't parse github events when there are no channels listening for the given
...
repo
2018-11-06 14:01:49 +00:00
jesopo
b6ad57f965
github-hook
is an array
2018-11-06 14:01:30 +00:00
jesopo
65b182c9a9
'event["headers"]' -> 'event["headers"]["X-GitHub-Event"]'
2018-11-06 14:01:02 +00:00
jesopo
8789689393
Remove additional 'False' in modules/set.py that was an artefact of the first
...
attempt to support array setting
2018-11-06 13:48:32 +00:00
jesopo
7d71da47a0
Typo in modules/set.py; '=' -> '=='
2018-11-06 13:44:33 +00:00
jesopo
c3295c4140
Support more than just push
actions in modules/github.py
2018-11-06 13:43:06 +00:00
jesopo
bbec7f311d
Pass headers through REST API callbacks
2018-11-06 13:02:04 +00:00
jesopo
2921ed77ae
Support arrays of user/channel/bot/server settings
2018-11-06 13:01:30 +00:00
jesopo
8930d04567
server
should be passed in received.rename in modules/line_handler.py
2018-11-05 21:38:39 +00:00
jesopo
257659aa73
Change modules/sts.py to reference connection_params, fix some typos and logig
...
issues
2018-11-05 20:51:33 +00:00
jesopo
ea3ed99a9e
Explicitly disconnect before reconnecting in modules/sts.py
2018-11-05 20:35:23 +00:00
jesopo
f0f2701386
Do an instant reconnect for !reconnect in modules/admin.py
2018-11-05 20:03:45 +00:00
jesopo
d63115440d
Fix the order of some connection params, add alias
as a seperate argument to
...
IRCServer.Server
2018-11-05 18:30:39 +00:00
jesopo
6b8593a09b
Pass connection parameters around in their own object (IRCConnectionParameters)
2018-11-05 18:23:02 +00:00
jesopo
e26df7556a
Check that a server's STS policy has a duration
before doing
...
rescheduling-on-disconnect
2018-11-05 18:21:43 +00:00
jesopo
7c3a8e7444
Prettyprint channel RENAMEs
2018-11-05 16:42:33 +00:00
jesopo
4936b91273
Support JSON messages tags, as per IRCv'3 message-tags-0.3 #318 pull request
2018-11-05 15:15:08 +00:00
jesopo
90a72eb24d
TRACE log when we set an STS policy
2018-11-05 14:57:34 +00:00
jesopo
edbacce1fc
Support draft/sts
as well as sts
2018-11-05 14:52:25 +00:00
jesopo
5b2c979649
"Applying STS policy" should be TRACE, not DEBUG
2018-11-05 14:16:14 +00:00
jesopo
7408bfc9d3
Add missing ")" in modules/sts.py
2018-11-05 14:13:27 +00:00
jesopo
9b6e3c96ed
Add missing "," in modules/sts.py
2018-11-05 14:12:59 +00:00
jesopo
aaf0c8cf2a
Reschedule STS expiration on disconnect
2018-11-05 14:12:21 +00:00
jesopo
3fa16fe678
Explicitly *remove* STS policy when we get a duration of 0
2018-11-05 13:26:11 +00:00
jesopo
5fa442c8a5
info
does not exist in on_cap_new context in modules/sts.py
2018-11-05 13:25:51 +00:00
jesopo
061a4ede23
One-shot STS policies should still be cleared if a reconnect fails
2018-11-05 13:14:00 +00:00
jesopo
5981bfa04c
Made STS policies one-shot when upgrading from plaintext to tls
2018-11-05 13:03:45 +00:00
jesopo
19864a7e13
duration
does not exist in the context of _change_duration
2018-11-05 12:59:40 +00:00
jesopo
c3a2ffc48d
Add support for IRCv3's STS
2018-11-05 12:39:02 +00:00
jesopo
7baab0f7d7
Update modules/scripts.py to use utils.parse.hashflags instead of
...
utils.get_hashflags
2018-11-05 12:15:54 +00:00
jesopo
9c233cd4dd
Add src.utils.parse.keyvalue, mostly for IRCv3 CAP negotiation
2018-11-05 11:56:28 +00:00
jesopo
5963580cb8
Fix a crash in modules/line_handler.py; QUIT can have an empty reason!
2018-11-05 10:03:31 +00:00
jesopo
58363895f1
Change line parsing to put arbitrary-length args on the end of
...
`args` so we can get rid of `last`/`arbitrary` and add IRCArgs (with .get())
to help only getting an arg index if it exists
2018-11-04 15:37:06 +00:00
jesopo
6d742f6a74
Implement IRCv3's draft/rename
2018-11-04 14:48:55 +00:00
jesopo
9b2040e280
Show wallet balances in a human format (with ","s)
2018-11-02 13:09:09 +00:00
jesopo
44f3e241d2
Don't let users bet 0 coins
2018-11-02 13:07:46 +00:00
jesopo
2acf9bdd31
Show !coins in a human format (with ","s)
2018-11-02 12:47:00 +00:00
jesopo
24e4e2c5ad
Add a way to silently stop commands executing in modules/commands.py
...
(preprocess.command)
2018-11-02 11:13:43 +00:00
jesopo
4fcb80b834
serverset identity-mechanism should be in modules/permissions.py
2018-11-02 11:08:03 +00:00
jesopo
18d055bb9e
Check if a url is a gallery first, 'event' -> 'data' typo, actually return from
...
_prefix
2018-10-31 17:54:44 +00:00
jesopo
04e369a92d
Use gallery API endpoint for gallery urls
2018-10-31 17:44:21 +00:00
jesopo
ff1d4da362
Support galleries in modules/imgur.py
2018-10-31 17:41:12 +00:00
jesopo
60151dc1a0
Comma-delimit numbers in the !richest response
2018-10-31 16:46:40 +00:00
jesopo
8212fc51eb
imgur url hashids aren't always 7 characters
2018-10-31 16:29:24 +00:00
jesopo
bf6a740f7b
Fix typo in modules/imgur.py that caused headers
passed to utils.http.get_url
...
to be a set, not a dict. (',' -> ':')
2018-10-31 16:17:22 +00:00
jesopo
0066cb313e
REGEX_IMAGE should be a compiled regex!
2018-10-31 16:16:31 +00:00
jesopo
f073613848
Add first version of modules/imgur.py
2018-10-31 16:12:28 +00:00
jesopo
b58a3f7329
Update modules/line_handler.py to now not pass a server
param to
...
utils.irc.parse_line
2018-10-30 17:55:05 +00:00
jesopo
e07553c362
Add type/return hints throughout src/ and, in doing so, fix some cyclical
...
references.
2018-10-30 14:58:48 +00:00
jesopo
705daaf9bb
Don't needlessly search a youtube URL before getting the information for it's
...
video ID when a URL is provided to !yt
2018-10-29 23:13:32 +00:00
jesopo
73077b9bbf
'continue' -> 'return' in moules/badwords.py
2018-10-28 14:02:43 +00:00
jesopo
82f8a23503
badwords shouldn't effect users with +v or above
2018-10-28 14:01:54 +00:00
jesopo
85f86f9d8a
Pretend badwords list is zero-indexed
2018-10-28 12:44:48 +00:00
jesopo
73a33633e2
Fix wording for !badwordsdel (copypaste fail!)
2018-10-28 12:41:01 +00:00
jesopo
996df4dc5e
Correctly use enumerate() in modules/badwords.py.badwords_list
2018-10-28 12:40:39 +00:00
jesopo
53f027bea1
'pattern' -> 'badword'
2018-10-28 12:37:32 +00:00
jesopo
0ff934d5b9
'received.message.channel' uses 'channel' not 'target' as event kwarg
2018-10-28 12:36:28 +00:00
jesopo
7472079f60
'badowrds' -> 'badwords'
2018-10-28 12:35:35 +00:00
jesopo
27bfe2e23d
Yet another typo in modules/badwords.py, 'get_getting' -> 'get_setting'
2018-10-28 12:34:18 +00:00
jesopo
09779ca570
'channel' -> 'target' in modules/badwords.py
2018-10-28 12:33:26 +00:00
jesopo
60421382d4
Fix typo in modules/badwords.py, 'events' -> 'event'
2018-10-28 12:32:24 +00:00
jesopo
c28c85cdd6
Add missing ":" in modules/badwords.py
2018-10-28 12:31:42 +00:00
jesopo
d3563eea69
Add missing ")" in modules/badwords.py
2018-10-28 12:30:53 +00:00
jesopo
c577f9d1ad
Add first version of modules/badwords.py
2018-10-28 12:29:35 +00:00
jesopo
b34f4d70a5
Remove extra ) in modules/commands.py
2018-10-28 11:54:55 +00:00
jesopo
5553ac9e49
Typo in modules/command.py, 'is' -> 'if'
2018-10-28 11:53:31 +00:00
jesopo
ec72787f86
Support multiple "usage" values in commands.py
2018-10-28 11:50:56 +00:00
jesopo
c5e1fafeb1
Put a dash between commit message and commit url
2018-10-26 11:28:01 +01:00
jesopo
e9ed153aa3
Put commit urls on github webhook notices in modules/github.py
2018-10-26 11:25:28 +01:00
jesopo
fd9778bd25
Redo lottery timer in modules/coins.py
2018-10-24 16:03:28 +01:00
jesopo
a1e77c40e8
Give page
an initial value of None, in case the get_url call fails in
...
modules/eval_python.py
2018-10-24 13:54:22 +01:00
jesopo
f89b96f373
Move taking a reference to sys.stdout above fail() in modules/eval_python.py
2018-10-24 13:54:03 +01:00
jesopo
46179d2f38
There's no self
in eval_python's template!
2018-10-24 13:50:50 +01:00
jesopo
7f9399a925
Specifically catch SyntaxError in modules/eval_python.py
2018-10-24 13:43:34 +01:00
jesopo
99f896ebdd
Catch syntax errors with .py/.py2
2018-10-24 13:40:56 +01:00
jesopo
ae0825650e
.items()
-> .values()
2018-10-23 13:39:40 +01:00
jesopo
1794da1f66
Typo in modules/coins.py, 'amount_amount_total' -> 'bet_amount_total'
2018-10-23 13:38:04 +01:00
jesopo
e9fcd0c5e2
Re-move taking payin to before payout, better logic around win/odds to show it
...
correctly but still give back your bet amount
2018-10-23 13:36:33 +01:00
jesopo
7508b0f5e7
Switch back to only taking losses when they're losses, instead of taking payin
...
and then giving it back after the roulette spin
2018-10-23 13:20:13 +01:00
jesopo
db5d9fdb42
_take already gives back to pool
2018-10-23 13:19:51 +01:00
jesopo
7c04ff2e89
Don't try to parse wallet args as a bet amount in modules/coins.py
2018-10-23 00:36:02 +01:00
jesopo
69ebba27bb
Roulette wins should include the payin
2018-10-22 20:23:28 +01:00
jesopo
046e8935df
When deleting a wallet, shift funds to default 'in' wallet instead of assuming a
...
user has a 'default' named wallet
2018-10-22 16:49:20 +01:00
jesopo
e4be2cf339
Fix indication of optionalness of wallet
param of !defaultwallet
2018-10-22 16:23:56 +01:00
jesopo
2e6db95574
Copypaste fail in modules/coins.py, 'row' -> 'i'
2018-10-22 14:23:09 +01:00
jesopo
1614ad9c48
Add lcorner/rcorner bets to !roulette in modules/coins.py
2018-10-22 14:22:10 +01:00
jesopo
84b4a064b8
Add double streets to !roulette in modules/coins.py
2018-10-22 14:11:32 +01:00
jesopo
399e20acc7
Fix copypaste fail in modules/coins.py.move_coins
2018-10-22 14:01:34 +01:00
jesopo
ddcd99405a
Add !movecoins in modules/coins.py
2018-10-22 13:59:25 +01:00
jesopo
77cf1a6afe
Dict are immutable, duh.
2018-10-22 13:14:08 +01:00
jesopo
c6b8e4487d
Typo in help string in modules/coins.py, 'By' -> 'Buy'
2018-10-22 13:13:54 +01:00
jesopo
ec96eda1a3
_default_wallet is not _default_wallet_for
2018-10-22 13:13:30 +01:00
jesopo
8e2a3be90d
_default_wallets takes a user
param
2018-10-22 13:13:13 +01:00
jesopo
d4aef86f7e
_default_wallet_for is for find the default type of a given wallet, not the
...
wallet for a given default type
2018-10-21 12:16:05 +01:00
jesopo
da5a53c9e0
Add missing .items() to dict iteration in modules/coins.py
2018-10-21 12:14:09 +01:00
jesopo
dd99460390
Show default wallet for wallet types when you don't specify 2 args to
...
!defaultwallet
2018-10-21 12:13:08 +01:00
jesopo
e614eb8e75
'DEFAULT_WALLETS' -> 'WALLETS_DEFAULTS'
2018-10-21 12:10:44 +01:00
jesopo
42123442dc
Add missing "," in modules/coins.py
2018-10-21 12:09:35 +01:00
jesopo
4dbad92f3b
use default "interest" wallet for interest and default "lottery" wallet for
...
lottery winnings
2018-10-21 12:08:29 +01:00
jesopo
30a1631edc
'WALLET_DEFAULT' -> 'WALLET_DEFAULT_NAME'
2018-10-21 12:00:19 +01:00
jesopo
87b3c47bcb
prevent !removewallet on any wallet that's configured as a default
2018-10-21 11:57:06 +01:00
jesopo
733d954dc8
Add configurable default wallets for different actions!
2018-10-21 11:52:12 +01:00
jesopo
b69e334ad0
wallet args in !roulette need to have their position calculated!
2018-10-21 08:21:58 +01:00
jesopo
8ea6db9422
Standardise "Failed to load results" errors!
2018-10-20 20:53:24 +01:00
jesopo
90c730979a
Typo in modules/coins.py, 'nickanme' -> 'nickname'
2018-10-20 19:08:46 +01:00
jesopo
7a94c1efff
_take takes a server
param
2018-10-20 14:07:24 +01:00
jesopo
a47542bb5b
Add wallets to usage strings and add missing help in modules/coins.py
2018-10-20 14:00:28 +01:00
jesopo
e7bece4621
Use the correct arg_split index for parsing wallet in !givecoins
2018-10-20 13:55:47 +01:00
jesopo
44c67ad5d9
Typo in modules/channel_op, 'this' -> 'self'
2018-10-19 14:37:24 +01:00
jesopo
94a3461d39
Parse in/out wallet in the context of their relevant users
2018-10-19 13:03:21 +01:00
jesopo
b9d5db821e
We should be using _take, not _set_user_coins in !roulette
2018-10-19 12:12:27 +01:00
jesopo
ae07ea9da1
Actually by-default give people the default wallet
2018-10-19 11:50:11 +01:00
jesopo
093ff298ec
Use genexprs for sum() throughout modules/coins.py
2018-10-19 11:48:21 +01:00
jesopo
a5c9568d23
send() should check all user coins when checking for redeem-amount
2018-10-19 11:47:34 +01:00
jesopo
71da117060
_default_wallets takes a user
param
2018-10-19 11:44:59 +01:00
jesopo
b930f3c0cf
Dangerous typo in modules/coins.py - 'wallet' -> 'wallets'
2018-10-19 11:38:23 +01:00
jesopo
303640844d
Typo in modules/coins.py, 'DEFAUT' -> 'DEFAULT'
2018-10-19 11:35:25 +01:00
jesopo
ba1079d661
Protect against unknown wallets, show "new total" of output wallet when a coin
...
flip is won
2018-10-19 11:34:18 +01:00
jesopo
ab4f65f8de
Correctly pass wallet through in _give/_take/_move
2018-10-19 11:24:44 +01:00
jesopo
3e65983fbc
_user_has_wallet takes a user
param!
2018-10-19 11:21:37 +01:00
jesopo
472c4fb1f3
Typo in modules/coins.py, "len(list > 2)" -> "len(list) > 2"
2018-10-19 11:15:41 +01:00
jesopo
74330f5dee
Add another missing ")" in modules/coins.py
2018-10-19 11:00:57 +01:00
jesopo
43bf2b9935
Add missing ")" in modules/coins.py
2018-10-19 11:00:02 +01:00
jesopo
8fae2394cb
Allow users to add/remove wallets and specify which wallets to use with
...
commands that effect coins!
2018-10-19 10:58:36 +01:00
jesopo
87fc3cda55
Catch exceptions in modules/title.py
2018-10-19 10:31:45 +01:00
jesopo
fc36e5bbeb
Typo in modules/coins.py, 'user' -> 'event["user"]'
2018-10-18 15:26:28 +01:00
jesopo
f5ac44f1c6
_user_has_wallet takes a user
arg
2018-10-18 15:25:42 +01:00
jesopo
d2557cbc4f
Show the coins a user has in a specified wallet when a wallet is specified to
...
!wallet
2018-10-18 15:24:33 +01:00
jesopo
79c4a357d7
Typo in modules/coins.py, 'commands' -> 'command'
2018-10-18 15:20:05 +01:00
jesopo
07903c15ff
put "default" wallet in to a const, pass wallet arg through function calls, add
...
!wallet
2018-10-18 15:18:16 +01:00
jesopo
79837fe6a4
Remove debug print in modules/coins.py
2018-10-18 14:31:51 +01:00
jesopo
3ab30ad6d8
Change interest rates to use wallets
2018-10-18 14:28:48 +01:00
jesopo
8388c6e05a
Remove now-unneeded code, change _total_coins to use _all_coins
2018-10-18 13:49:32 +01:00