jesopo
|
65023dc84b
|
move "+5m" syntax parsing out to utils.parse
|
2019-11-18 15:57:23 +00:00 |
|
jesopo
|
5d01db8514
|
move all datetime-related code from utils/__init__ to utils.datetime
|
2019-11-15 13:59:09 +00:00 |
|
jesopo
|
ddc70a6bd9
|
add !cmute/!cunmute to set +m/-m on current channel
|
2019-10-25 18:30:57 +01:00 |
|
jesopo
|
4157574516
|
show $n/$u/$h for ban-format-account help too
|
2019-10-08 15:08:16 +01:00 |
|
jesopo
|
d6fa786806
|
!k should be alias_of !kick
|
2019-09-26 14:06:47 +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
|
7c7ea653cf
|
send_mode() args should be an array
|
2019-09-15 10:49:56 +01:00 |
|
jesopo
|
710caebbc4
|
_parse_flags() should always return 2 objects
|
2019-09-12 23:13:02 +01:00 |
|
jesopo
|
7094d94cd7
|
only apply modes for !flags when the user doesn't have them already
|
2019-09-12 22:40:23 +01:00 |
|
jesopo
|
1edb11ae1f
|
_check_flags() when flags are changed
|
2019-09-12 22:40:06 +01:00 |
|
jesopo
|
5b538eb5b6
|
add !b as an alias of !ban
|
2019-09-12 22:20:36 +01:00 |
|
jesopo
|
2d7a192a6c
|
limit !flags mode changes to 3-per-line, add comment as to why
|
2019-09-12 15:13:42 +01:00 |
|
jesopo
|
8ac0fce53f
|
remove debug prints
|
2019-09-12 15:12:31 +01:00 |
|
jesopo
|
778cfe2010
|
remove extra ")"
|
2019-09-12 15:00:33 +01:00 |
|
jesopo
|
12fea0a38f
|
sort uppercase chars after lowercase chars for !flags
|
2019-09-12 15:00:00 +01:00 |
|
jesopo
|
ad85536389
|
check a user is authenticated before applying modes, catch login too
|
2019-09-12 14:55:26 +01:00 |
|
jesopo
|
6b5e0791be
|
first draft of !flags system
|
2019-09-12 14:29:28 +01:00 |
|
jesopo
|
1b44b58aca
|
add !invite
|
2019-09-12 10:24:10 +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
|
4bfb4c3200
|
Add IntRangeSetting, reorder OptionsSetting arg order
|
2019-08-30 14:40:54 +01:00 |
|
jesopo
|
0d9bd57332
|
copypaste name collision for channel_op.py's op function
|
2019-08-30 12:26:52 +01:00 |
|
jesopo
|
6e571fbe1a
|
set channel_op.py _name to ChanOp
|
2019-08-14 15:08:17 +01:00 |
|
jesopo
|
f1dfbd112f
|
switch !mute to use +1s duration format
|
2019-08-14 15:07:48 +01:00 |
|
jesopo
|
9bc1b67831
|
add configurable default kick message per bot/server/channel
|
2019-08-14 14:51:16 +01:00 |
|
jesopo
|
07a593ce20
|
!kickban 's _ban call needs an add arg
|
2019-08-14 14:41:29 +01:00 |
|
jesopo
|
fa279aab93
|
refactor/rewrite channel_op.py, split highlight spam protection out
|
2019-08-14 14:38:47 +01:00 |
|
jesopo
|
c214d84643
|
'event' doesn't exist in _ban
|
2019-07-17 14:59:25 +01:00 |
|
jesopo
|
dc8c63c11b
|
add ability to disable !mute for networks that dont support mutes
|
2019-07-10 08:57:08 +01:00 |
|
jesopo
|
b4c762eb4e
|
Automatically format example text for OptionsSetting (showing options)
|
2019-06-29 21:33:26 +01:00 |
|
jesopo
|
756396d758
|
Implement utils.OptionsSetting
|
2019-06-28 23:26:42 +01:00 |
|
jesopo
|
ae9d099a41
|
Refactor set/channelset/serverset/botset in to 'utils.Setting' objects
|
2019-06-28 23:16:05 +01:00 |
|
jesopo
|
e0b7495ecc
|
channel-only,require-mode,require-access -> channel_only,require_mode,require_access
|
2019-06-27 21:09:26 +01:00 |
|
jesopo
|
74befb18bc
|
'quiet' -> 'mute', add duration parameter
|
2019-06-27 20:52:32 +01:00 |
|
jesopo
|
1c5e1efecd
|
add !quiet and !unquiet
|
2019-06-27 20:38:39 +01:00 |
|
jesopo
|
8ab4880c5c
|
Change from yield checks to a func in events that pass up EventErrors
|
2019-06-15 18:42:14 +01:00 |
|
jesopo
|
229a45a491
|
Change prviate channel_access commands to use a "channel-access" yield check
|
2019-06-14 17:23:22 +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
|
cb25f70418
|
Catch UserNotFoundException in var e
|
2019-05-08 07:36:17 +01:00 |
|
jesopo
|
bac9692ec5
|
Change channel_op's _name from "Channel Op" to "ChanOp"
|
2019-04-26 07:26:33 +01:00 |
|
jesopo
|
dc102f258d
|
Add Database.servers.get_by_alias, move IRCBot.get_server to
IRCBot.get_server_by_id, add IRCBot.get_server_by_alias and change
!connect/!disconnect to take aliases instead of IDs
|
2019-04-24 12:07:30 +01:00 |
|
jesopo
|
186b6b82a2
|
Shift formatting protocol data to it's own file: utils.irc.protocol
|
2019-02-18 14:58:27 +00:00 |
|
jesopo
|
520d8b681f
|
Actually add private_unban function def. oops. (channel_op.py)
|
2019-01-30 21:07:03 +00:00 |
|
jesopo
|
d2dbb0a249
|
Add private message unban command (channel_op.py)
|
2019-01-30 21:06:02 +00:00 |
|
jesopo
|
98e1d4460e
|
Actually use channel arg in _kick_command (channel_op.py)
|
2019-01-30 21:03:21 +00:00 |
|
jesopo
|
8345ea36d4
|
Support kick and ban command in private message (channel_op.py)
|
2019-01-30 21:02:12 +00:00 |
|
jesopo
|
0c319be1e5
|
Correct usage help for kickban/tempkickban (channel_op.py)
|
2019-01-29 17:37:14 +00:00 |
|
jesopo
|
10b2ace653
|
Add require_access to commands on channel_op.py
|
2019-01-29 00:08:21 +00:00 |
|
jesopo
|
2816fe67bb
|
Move channel tracking data/functions to src/IRCChannel.Channels
|
2018-11-11 12:34:22 +00:00 |
|
jesopo
|
44c67ad5d9
|
Typo in modules/channel_op, 'this' -> 'self'
|
2018-10-19 14:37:24 +01:00 |
|
jesopo
|
819f4e0680
|
Pass context-wrapped timers to each module, add ModuleManager.BaseModule.on_load
|
2018-10-12 18:07:23 +01:00 |
|
jesopo
|
376825ea96
|
Mark command hooks that are aliases ('g' vs 'google')
|
2018-10-10 10:42:41 +01:00 |
|
jesopo
|
18b227cbc4
|
Update modules/channel_op.py to use docstring prefix denotation
|
2018-10-04 11:05:43 +01:00 |
|
jesopo
|
02e76444d1
|
Add 'remove_empty' kwarg for commands, to strip out empty space
|
2018-10-03 17:01:10 +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
|
150788c6c6
|
Add !leave to modules/channel_op.py
|
2018-10-02 14:55:12 +01:00 |
|
jesopo
|
10ef985a8a
|
Switch to using docstring for usage, permission and require_mode
|
2018-09-30 17:29:09 +01:00 |
|
jesopo
|
16dc2c39a9
|
Refactor modules/channel_op.py and add !tempban/!tempkickban
|
2018-09-30 13:28:26 +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
|
73bdaff977
|
Add !topic and !topicappend in channel_op.py
|
2018-09-06 17:25:38 +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 |
|
jesopo
|
9874f79b49
|
Give modules event objects with "context"s, to facilitate purging all the event
hooks for a module
|
2018-08-31 12:55:52 +01:00 |
|
jesopo
|
ebd3ab47c8
|
Add missing "," in channel_op.py
|
2018-08-30 11:15:57 +01:00 |
|
jesopo
|
2d4a1d42ce
|
Only get highlight-spam-threshold setting when there's more than one highlight
in a line
|
2018-08-30 11:14:19 +01:00 |
|
jesopo
|
49cc4d8d7b
|
Add help and usage for commands in channel_op.py
|
2018-08-30 11:13:26 +01:00 |
|
jesopo
|
b699c120a0
|
Change how specific events assure their hooks gets the event independant of
loading order
|
2018-08-28 14:55:08 +01:00 |
|
jesopo
|
bb53f6f565
|
get highlight-spam-protection setting before highlight-spam-threshold
|
2018-08-06 14:27:49 +01:00 |
|
jesopo
|
270bfe58ed
|
Ban formats aren't bools
|
2018-07-20 13:12:41 +01:00 |
|
jesopo
|
e99671aced
|
Added a channel setting for banmask, added !unban
|
2018-07-19 14:39:10 +01:00 |
|
jesopo
|
84cc65526f
|
Track user channel modes by user object, not nickname
|
2018-07-02 16:15:26 +01:00 |
|
jesopo
|
5794b3cd92
|
Added option to ban highlight spammers instead of just kicking them
|
2017-12-26 13:51:10 +00:00 |
|
jesopo
|
14ffa6716d
|
Added highlight spam detection/prevention logic to channel_op
|
2017-12-26 11:50:18 +00:00 |
|
jesopo
|
afc8a72f05
|
changed channel_op.py to not need an argument for (de)op/(de)voice.
|
2016-07-05 12:17:22 +01:00 |
|
jesopo
|
8dadd7d339
|
added deop, voice and devoice to channel_op.py.
|
2016-05-17 14:51:47 +01:00 |
|
jesopo
|
52deab53aa
|
added an error to the kickban command in channel_op.py for when a user is not present in a channel to be kickbanned.
|
2016-04-24 03:01:44 +01:00 |
|
jesopo
|
00dd425210
|
added an op command to channel_op.py.
|
2016-04-22 11:48:28 +01:00 |
|
jesopo
|
1127682872
|
added a way for a command callback to neatly ask to only be available for people with a rank or above, added a channel_op module to utilise this.
|
2016-04-18 16:50:19 +01:00 |
|