self.prefixes.complete()
self._db.users.purge()
- def set_modes(self, modeset: str, args_str='') -> None:
+ def set_modes(self, modeset: str, args: tuple[str, ...]) -> None:
'Apply MODE settings on channels.'
prefix_modes = ''.join(self._db.get_membership_modes().keys())
modes = {c: '' for c in 'ABCD'} | self._db.get_chanmodes()
todos: list[tuple[bool, str, str]] = []
- args = args_str.split()
idx_args = 0
do_add = False
try:
assert idx_args == len(args)
except AssertionError:
raise ImplementationFail( # pylint: disable=raise-missing-from
- f'channel mode setting {modeset} on args: {args_str}')
+ f'channel mode setting {modeset} on args: {args}')
modes_attrs = self.prefixes, self.modes_listy, self.modes_valued, self.modes_toggled
for attr in modes_attrs:
attr.completed = None
((_MsgToken.NICKNAME, 'setattr_db.users[me]:nick'),
(_MsgToken.ANY, 'setattr_db.users[me]:modes'))),
- _MsgParseExpectation(
- 'MODE',
- _MsgToken.SERVER,
- ((_MsgToken.CHANNEL, ':CHANNEL'),
- (_MsgToken.ANY, 'do_db.channels[CHANNEL].set_modes:modeset'))),
_MsgParseExpectation(
'MODE',
_MsgToken.SERVER,
((_MsgToken.CHANNEL, ':CHANNEL'),
(_MsgToken.ANY, ':modeset'),
- (_MsgToken.ANY, ':args')),
+ (_MsgToken.LIST, ':args')),
bonus_tasks=('do_db.channels[CHANNEL].set_modes:modeset,args',)),
_MsgParseExpectation(
# check server setting unknown or invalid modes
insert servermsg-mode [(ARGS)=+f]
-insert no-handler range=-2: [% (ALERT_WIN_IDS)=2,3,4 (MSG)=channel%mode%setting%+f%on%args:%]
+insert no-handler range=-2: [% (ALERT_WIN_IDS)=2,3,4 (MSG)=channel%mode%setting%+f%on%args:%()]
insert servermsg-mode [% (ARGS)=-g%grab]
-insert no-handler range=-2: [% (ALERT_WIN_IDS)=2,3,4 (MSG)=channel%mode%setting%-g%on%args:%grab]
+insert no-handler range=-2: [% (ALERT_WIN_IDS)=2,3,4 (MSG)=channel%mode%setting%-g%on%args:%('grab',)]
insert servermsg-mode [(ARGS)=+l]
-insert no-handler range=-2: [% (ALERT_WIN_IDS)=2,3,4 (MSG)=channel%mode%setting%+l%on%args:%]
+insert no-handler range=-2: [% (ALERT_WIN_IDS)=2,3,4 (MSG)=channel%mode%setting%+l%on%args:%()]
insert servermsg-mode [% (ARGS)=+aBc%:foo%bar]
-insert no-handler range=-2: [% (ALERT_WIN_IDS)=2,3,4 (MSG)=channel%mode%setting%+aBc%on%args:%foo%bar]
+insert no-handler range=-2: [% (ALERT_WIN_IDS)=2,3,4 (MSG)=channel%mode%setting%+aBc%on%args:%('foo',%'bar')]
insert servermsg-mode [(ARGS)=a]
-insert no-handler range=-2: [% (ALERT_WIN_IDS)=2,3,4 (MSG)=channel%mode%setting%a%on%args:%]
+insert no-handler range=-2: [% (ALERT_WIN_IDS)=2,3,4 (MSG)=channel%mode%setting%a%on%args:%()]
# check server setting type-A modes
insert servermsg-mode [% (ARGS)=+l%:foo]