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
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
612849d0c5
'resetkarme' -> 'resetkarma'
2019-09-12 21:57:40 +01:00
jesopo
e68c5575d1
'karma-verbose' -> 'karma-pattern'. don't even parse when false
2019-09-12 12:09:16 +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
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
6332f80dc9
add !addpoint and !rmpoint (explicit ++/-- karma)
2019-08-15 13:38:04 +01:00
jesopo
8c58d33fa3
throttle negative and positive karma independently of each other
...
closes #117
2019-08-12 13:38:14 +01:00
jesopo
ae9d099a41
Refactor set/channelset/serverset/botset in to 'utils.Setting' objects
2019-06-28 23:16:05 +01:00
jesopo
c5785a2d14
implement @utils.kwarg() magic, use it for command.regex hooks
2019-06-26 14:37:41 +01:00
jesopo
db7c62f76a
Drastically simplify karma regex: only "strip" off last 2 chars of --/++
2019-06-11 13:17:50 +01:00
jesopo
268c5adb3c
Add depends-on
hashflags to relevant modules
2019-05-25 21:40:06 +01:00
jesopo
cf29c37112
Add usage examples for all settings
2019-05-23 10:28:14 +01:00
jesopo
d5a973b84b
Don't allow karma for empty strings
2019-05-21 16:48:10 +01:00
jesopo
161fdb8aa6
"you cannot change your own karma" should be stderr not stdout
2019-05-20 14:14:44 +01:00
jesopo
4e0e63e7f8
Hand over regex-based-command responsibilities to commands
module
2019-05-18 18:35:47 +01:00
jesopo
0625102fa7
if_silenced_f
-> is_silenced_f
2019-05-13 20:58:44 +01:00
jesopo
0fbf993201
Expose is-silenced through Exports, use it in karma.py
2019-05-13 20:57:47 +01:00
jesopo
e8c4a92119
Fix copypaste fail for getting for Exports in karma.py
2019-05-13 20:57:29 +01:00
jesopo
0114d35d4c
Add a mechanism to ignore specific commands for a whole network
2019-05-06 17:08:56 +01:00
jesopo
a5f8bb7d3d
Use is-ignored export in karma to allow ignoring users for karma
2019-04-27 14:51:26 +01:00
jesopo
023c6c9264
Only strip word stops from the right of a word
2019-03-28 14:35:20 +00:00
jesopo
eb3f4db828
Don't put channel messages as low priority, so we can still catch "bitbot: ++"
...
(karma.py)
2019-01-25 23:53:53 +00:00
jesopo
f86a852d55
Strip "," and ":" from karma targets (karma.py)
2019-01-25 23:45:44 +00:00
jesopo
301dd7378a
Add irc_lower()
and irc_equals()
to IRCServer.Server so that no where else
...
in the code has to know about the server having a casemapping
2019-01-24 17:12:50 +00:00
jesopo
e523671633
Made positive karma show as LIGHTGREEN, not GREEN (karma.py)
2019-01-11 21:00:09 +00:00
jesopo
3cc9bc9dbb
Karma is now being used as karma_str, thus we need a %s not a %d (karma.py)
2019-01-11 17:35:18 +00:00
jesopo
415afe7e27
Show positive karma as green and negative karma as red (karma.py)
2019-01-11 17:33:43 +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
1c20eab9d6
send.stdout/send.stderr need a server kwarg
2018-10-04 14:44:33 +01:00
jesopo
69d58eede2
Move src/Utils.py in to src/utils/, splitting functionality out in to modules of
...
related functionality
2018-10-03 13:22:37 +01:00
jesopo
8f05f66a03
.strip() target name in !karma
2018-10-02 15:14:42 +01:00
jesopo
a9b0dd331b
Correctly set nickname-only karma
2018-10-02 15:14:34 +01:00
jesopo
c7e4ae6e12
use Utils.irc_lower, not .lower()
2018-10-02 15:14:06 +01:00
jesopo
16474dacef
Don't complain when modules/karma.py can't find a user when it's in
...
karma-nickname-only mode
2018-10-02 14:35:35 +01:00
jesopo
64733eb37f
Implement karma-nickname-only, to only allow karma for users in the current
...
channel
2018-10-02 14:29:32 +01:00
jesopo
10ef985a8a
Switch to using docstring for usage, permission and require_mode
2018-09-30 17:29:09 +01:00
jesopo
6eb8b1ba6d
Move all exports to @Utils.export calls
2018-09-27 12:08:07 +01:00
jesopo
51a52e2b0e
Switch to using @Utils.hook and docstrings for event hooks
2018-09-26 18:27:17 +01:00
jesopo
ecb9d7cb3f
Move most code in root directory to src/
2018-09-24 15:13:27 +01:00
jesopo
fcbb7c960c
Refactor everything to use delimited events
2018-09-19 13:25:12 +01:00
dngfx
169d1705ac
There's nothing regular about these expressions.
2018-09-09 18:39:56 +01:00
jesopo
4eaf9e5aeb
Fix an incorrect call to event["stderr"] in karma.py
2018-09-09 17:34:44 +01:00
jesopo
59912776c1
Make commands be processed under received.message.* at PRIORITY_LOW, eat the
...
event when it's done, change karma.py to use PRIORITY_MONITOR
2018-09-09 17:09:04 +01:00
jesopo
8c6ab17e57
give an Exports object (actually, ExportsContex object) to each module, to
...
facilitate things like !set and !channelset without using the events system
2018-09-02 19:54:45 +01:00