Example #1
0
def cmd_pub(conn, nick, chan, cmd, logit=True):
	"Channel message"

	global game
	global log
	global deck

	log_line("chan %s %s"%(nick, cmd))

	arg = cmd.split()
	if not len(arg):
		return

	if arg[0] == "create":
		def closure(tgt, msg):
			privmsg(conn, tgt, msg)
		try:
			game = ircnukes(closure, chan, deck)
		except nukes.GameLogicError, e:
			privmsg(conn, chan, "error: %s: %s"%(deck, e.desc))
			return
		privmsg(conn, chan, "Game created: %s"%game)
		if logit == True:
			randomseed = int(time.time())
			random.seed(randomseed)
			log = open("nukebot.log", "w")
			log_line("randomseed %u"%randomseed)
			log_line("chan %s create"%chan)
			log.flush()
		return
Example #2
0
def cmd_priv(conn, nick, cmd):
	"Private message"

	global chan
	global game
	global log

	log_line("priv %s %s"%(nick, cmd))

	arg = cmd.split()
	if not len(arg):
		return

	if arg[0] == "help":
		def closure(tgt, msg):
			return
		tmp = ircnukes(closure, None)
		h = tmp.irc_list_pcmds()
		privmsg(conn, nick, "Commands: %s"%(' '.join(h)))
		return

	if game == None:
		#privmsg(conn, nick, "No game, join %s..."%chan)
		return

	try:
		p = game.get_player(nick)
		game.irc_pcmd(nick, arg[0], arg[1:])
	except nukes.GameOverMan, e:
		if e.winner == None:
			privmsg(conn, chan, "GameOver: MAD, noone wins")
		else:
			privmsg(conn, chan, "GameOver: winner is %s "
				"with %u million population"%(e.winner.name,
				e.winner.population))
		game = None
Example #3
0
		else:
			save_game(conn, chan, game, arg[1])
		return
	elif arg[0] == "listgames":
		list_games(conn, chan)
		return
	elif arg[0] == "loadgame":
		if game != None and game.dirty:
			privmsg(conn, chan, "Game in progress, save it first")
		elif len(arg) < 2:
			privmsg(conn, chan, "!listgames to find one to load")
		else:
			game = load_game(conn, chan, arg[1])
		return
	elif arg[0] == "help":
		tmp = ircnukes(None, None)
		h = tmp.irc_list_cmds()
		h.extend(["creategame", "savegame", "loadgame", "listgames"])
		privmsg(conn, chan, "Commands: %s"%(' '.join(h)))
		return

	if game == None:
		privmsg(conn, chan, "No game, try !create")
		return

	try:
		game.irc_cmd(nick, arg[0], arg[1:])
	except nukes.GameOverMan, e:
		if e.winner == None:
			privmsg(conn, chan, "GameOver: MAD, noone wins")
		else: