Commit graph

63 commits

Author SHA1 Message Date
Noah Pederson
c3f95130a3 Some minor cleanup 2019-09-27 07:32:09 -06: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
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