Browse Source

added the ability to auto-nickserv-ghost or auto-nickserv-release

master
jcao219 14 years ago
parent
commit
7193bcb767
  1. 7
      botconfig.py
  2. 8
      oyoyo/client.py
  3. 43
      wolfgame.py

7
botconfig.py

@ -1,6 +1,9 @@ @@ -1,6 +1,9 @@
PASS = ""
CHANNEL = "#example"
CHANNEL = ""
HOST = "irc.freenode.net"
PORT = 6667
NICK = ""
ADMINS = ("")
OWNER = "unaffiliated/wolfbot_admin1"
ADMINS = ("unaffiliated/wolfbot_admin1", "unaffiliated/wolfbot_admin2")
CMD_CHAR = "!"
CHANGING_HOST_QUIT_MESSAGE = "Changing host"

8
oyoyo/client.py

@ -235,8 +235,12 @@ class IRCClient(object): @@ -235,8 +235,12 @@ class IRCClient(object):
self.send("NOTICE", user, ":{0}".format(line))
def quit(self, msg):
self.send("QUIT :{0}".format(msg))
def identify(self, passwd, authuser="NickServ"):
self.msg(authuser, "IDENTIFY {0}".format(passwd))
def ns_identify(self, passwd):
self.msg("NickServ", "IDENTIFY {0} {1}".format(self.nickname, passwd))
def ns_ghost(self):
self.msg("NickServ", "GHOST "+self.nickname)
def ns_release(self):
self.msg("NickServ", "RELEASE "+self.nickname)
def user(self, uname, rname):
self.send("USER", uname, self.host, self.host,
rname or uname)

43
wolfgame.py

@ -24,18 +24,36 @@ hook = decorators.generate(HOOKS, raw_nick=True) @@ -24,18 +24,36 @@ hook = decorators.generate(HOOKS, raw_nick=True)
# Game Logic Begins:
def connect_callback(cli):
cli.identify(botconfig.PASS)
cli.join(botconfig.CHANNEL)
cli.msg("ChanServ", "op "+botconfig.CHANNEL)
var.USERS = []
@hook("whoreply")
def on_whoreply(cli, server, dunno, chan, dunno1,
cloak, dunno3, user, status, dunno4):
if user in var.USERS: return # Don't add someone who is already there
var.USERS.append(user)
cli.who(botconfig.CHANNEL)
cli.ns_identify(botconfig.PASS)
def prepare_stuff():
cli.join(botconfig.CHANNEL)
cli.msg("ChanServ", "op "+botconfig.CHANNEL)
var.USERS = []
@hook("whoreply")
def on_whoreply(cli, server, dunno, chan, dunno1,
cloak, dunno3, user, status, dunno4):
if user in var.USERS: return # Don't add someone who is already there
var.USERS.append(user)
cli.who(botconfig.CHANNEL)
@hook("nicknameinuse")
def mustghost(cli, *blah):
cli.nick(botconfig.NICK+"_")
cli.ns_identify(botconfig.PASS)
cli.ns_ghost()
cli.nick(botconfig.NICK)
prepare_stuff()
@hook("unavailresource")
def mustrelease(cli, *blah):
cli.nick(botconfig.NICK+"_")
cli.ns_identify(botconfig.PASS)
cli.ns_release()
cli.nick(botconfig.NICK)
prepare_stuff()
var.LAST_PING = 0 # time of last ping
var.ROLES = {"person" : []}
@ -54,6 +72,7 @@ def connect_callback(cli): @@ -54,6 +72,7 @@ def connect_callback(cli):
var.GRAVEYARD = []
var.GRAVEYARD_LOCK = threading.Lock()
prepare_stuff()
def mass_mode(cli, md):

Loading…
Cancel
Save