

@eventmgr_core.handler('channel join', priority=1)
def m_join_channel(info):
    ch = info['channel']
    cli = info['client']
    ctx = get_context()
    ch.join(cli)
    ch.dump_message(RFC1459Message.from_data('JOIN', source=cli, params=[ch.name]), exclude_cap='extended-join')
    ch.dump_message(RFC1459Message.from_data('JOIN', source=cli, params=[ch.name, ('*' if (cli.account is None) else cli.account), cli.realname]), cap='extended-join')
    if (cli.servername != ctx.conf.name):
        return
    cli.handle_side_effect('TOPIC', params=[ch.name])
    cli.handle_side_effect('NAMES', params=[ch.name])

dataset/ETHPy150Open mammon-ircd/mammon/mammon/channel.py m_join_channel/original