if 'verb' not in ret:
self._log(f'PLEASE IMPLEMENT HANDLER FOR: {msg.raw}')
return
- for task, args in ret['_tasks'].items():
- for arg in args:
+ for task, tok_names in ret['_tasks'].items():
+ for tok_name in tok_names:
if task == 'set_db_attr':
- setattr(self._db, arg, ret[arg])
- if task == 'set_me_attr':
- setattr(self._db.users['me'], arg, ret[arg])
- if task == 'set_user':
- self._db.user_id(ret[arg])
+ setattr(self._db, tok_name, ret[tok_name])
+ elif task == 'set_me_attr':
+ setattr(self._db.users['me'], tok_name, ret[tok_name])
+ elif task == 'set_topic_attr':
+ setattr(self._db.channels[ret['CHAN']].topic,
+ tok_name, ret[tok_name])
+ elif task == 'set_user':
+ self._db.user_id(ret[tok_name])
if ret['verb'] == '005': # RPL_ISUPPORT
for item in ret['isupport']:
if item[0] == '-':
else:
key, data = _Dict.key_val_from_eq_str(item)
self._db.isupport[key] = data
- elif ret['verb'] == '332': # RPL_TOPIC
- self._db.channels[ret['channel']].topic.what = ret['topic']
- elif ret['verb'] == '333': # RPL_TOPICWHOTIME
- self._db.channels[ret['channel']].topic.who = ret['author']
elif ret['verb'] == '353': # RPL_NAMREPLY
self._db.channels[ret['channel']].add_from_namreply(ret['names'])
elif ret['verb'] == '366': # RPL_ENDOFNAMES
_MsgParseExpectation(MsgTok.SERVER,
'332', # RPL_TOPIC
((MsgTok.NICKNAME, 'set_me_attr:nick'),
- (MsgTok.CHANNEL, ':channel'),
- (MsgTok.ANY, ':topic'))),
+ (MsgTok.CHANNEL, ':CHAN'),
+ (MsgTok.ANY, 'set_topic_attr:what'))),
_MsgParseExpectation(MsgTok.SERVER,
'333', # RPL_TOPICWHOTIME
((MsgTok.NICKNAME, 'set_me_attr:nick'),
- (MsgTok.CHANNEL, ':channel'),
- (MsgTok.NICK_USER_HOST, ':author'),
+ (MsgTok.CHANNEL, ':CHAN'),
+ (MsgTok.NICK_USER_HOST, 'set_topic_attr:who'),
(MsgTok.ANY, ':timestamp'))),
_MsgParseExpectation(MsgTok.SERVER,
'353', # RPL_NAMREPLY