emit a EmitUsers object from 353, not multiple EmitUser objects

This commit is contained in:
jesopo 2020-03-18 16:41:56 +00:00
parent 9e73252a8e
commit c674a34c37
2 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,4 @@
from typing import List
from .user import User
from .channel import Channel
@ -35,6 +36,12 @@ class EmitSourceUser(EmitUser):
class EmitTargetUser(EmitSourceUser):
pass
class EmitUsers(Emit):
def __init__(self, users: List[User]):
self.users = users
def __repr__(self) -> str:
return f"Users(count={len(self.users)})"
class EmitChannel(Emit):
def __init__(self, channel: Channel):
self.channel = channel

View File

@ -276,6 +276,9 @@ class Server(Named):
channel = self.channels[channel_lower]
emits.append(EmitChannel(channel))
nicknames = list(filter(bool, line.params[3].split(" ")))
users: List[User] = []
emits.append(EmitUsers(users))
for nickname in nicknames:
modes = ""
for char in nickname:
@ -290,7 +293,7 @@ class Server(Named):
if not nickname_lower in self.users:
self.add_user(hostmask.nickname, nickname_lower)
user = self.users[nickname_lower]
emits.append(EmitUser(user))
users.append(user)
channel_user = self.user_join(channel, user)
if hostmask.username: