Browse Source

automatic devoice and -q when join

master
Jimmy Cao 13 years ago
parent
commit
fb1c1ea6cb
  1. 23
      modules/wolfgame.py
  2. 2
      oyoyo/ircevents.py

23
modules/wolfgame.py

@ -36,9 +36,10 @@ hook = decorators.generate(HOOKS, raw_nick=True, permissions=False)
# Game Logic Begins: # Game Logic Begins:
def connect_callback(cli): def connect_callback(cli):
to_be_devoiced = []
@hook("whospcrpl", id=294) @hook("whospcrpl", id=294)
def on_whoreply(cli, server, nick, ident, cloak, user, acc): def on_whoreply(cli, server, nick, ident, cloak, user, status, acc):
if user in var.USERS: return # Don't add someone who is already there if user in var.USERS: return # Don't add someone who is already there
if user == botconfig.NICK: if user == botconfig.NICK:
cli.nickname = user cli.nickname = user
@ -46,13 +47,31 @@ def connect_callback(cli):
cli.hostmask = cloak cli.hostmask = cloak
if acc == "0": if acc == "0":
acc = "*" acc = "*"
if "+" in status:
to_be_devoiced.append(user)
var.USERS[user] = dict(cloak=cloak,account=acc) var.USERS[user] = dict(cloak=cloak,account=acc)
@hook("endofwho", id=294) @hook("endofwho", id=294)
def afterwho(*args): def afterwho(*args):
cmodes = []
for nick in to_be_devoiced:
cmodes.append(("-v", nick))
# devoice all on connect
@hook("quietlist", id=294)
def on_quietlist(cli, server, botnick, channel, q, quieted, by, something):
if re.match(".+\!.+@.+", quieted): # only unquiet people quieted by bot
cmodes.append(("-q", quieted))
@hook("quietlistend", id=294)
def on_quietlistend(cli, *rest):
decorators.unhook(HOOKS, 294) decorators.unhook(HOOKS, 294)
mass_mode(cli, cmodes)
cli.mode(botconfig.CHANNEL, "-m") # remove -m mode from channel
cli.mode(botconfig.CHANNEL, "q") # unquiet all
cli.who(botconfig.CHANNEL, "%nuha") cli.who(botconfig.CHANNEL, "%nuhaf")
var.LAST_PING = None # time of last ping var.LAST_PING = None # time of last ping
var.LAST_STATS = None var.LAST_STATS = None

2
oyoyo/ircevents.py

@ -176,6 +176,8 @@ numeric_events = {
b"492": "noservicehost", b"492": "noservicehost",
b"501": "umodeunknownflag", b"501": "umodeunknownflag",
b"502": "usersdontmatch", b"502": "usersdontmatch",
b"728": "quietlist",
b"729": "quietlistend"
} }
generated_events = [ generated_events = [

Loading…
Cancel
Save