forked from nortti/tea_cah
!join message
This commit is contained in:
parent
d991f3c059
commit
f63dc2565b
2 changed files with 38 additions and 8 deletions
|
@ -173,7 +173,9 @@ def parse_command(message, nick, irc):
|
||||||
send_event((events.kill,))
|
send_event((events.kill,))
|
||||||
|
|
||||||
elif c == '!join':
|
elif c == '!join':
|
||||||
if args(0) is not None:
|
if len(message) > 1:
|
||||||
|
send_event((events.join, nick, ' '.join(message[1:])))
|
||||||
|
else:
|
||||||
send_event((events.join, nick))
|
send_event((events.join, nick))
|
||||||
|
|
||||||
elif c == '!leave':
|
elif c == '!leave':
|
||||||
|
@ -309,6 +311,8 @@ def parse_command(message, nick, irc):
|
||||||
send('Usage: !%s' % (arg[0]))
|
send('Usage: !%s' % (arg[0]))
|
||||||
elif arg[0] == 'start':
|
elif arg[0] == 'start':
|
||||||
send('Usage: !start [<preset>]')
|
send('Usage: !start [<preset>]')
|
||||||
|
elif arg[0] == 'join':
|
||||||
|
send('Usage: !join [<message>]')
|
||||||
elif arg[0] == 'kick':
|
elif arg[0] == 'kick':
|
||||||
send('Usage: !kick <nick>')
|
send('Usage: !kick <nick>')
|
||||||
elif arg[0] == 'card':
|
elif arg[0] == 'card':
|
||||||
|
|
40
gameloop.py
40
gameloop.py
|
@ -28,6 +28,7 @@ class Player:
|
||||||
|
|
||||||
self.hand = []
|
self.hand = []
|
||||||
self.points = 0
|
self.points = 0
|
||||||
|
self.message = None
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
@ -44,6 +45,7 @@ class Rando:
|
||||||
|
|
||||||
self.hand = []
|
self.hand = []
|
||||||
self.points = 0
|
self.points = 0
|
||||||
|
self.message = None
|
||||||
|
|
||||||
def num_need_cards(self, num_blanks):
|
def num_need_cards(self, num_blanks):
|
||||||
return num_blanks - len(self.hand) + self.hand.count(None)
|
return num_blanks - len(self.hand) + self.hand.count(None)
|
||||||
|
@ -251,13 +253,24 @@ def game(send, notice, voice, devoice, get_event):
|
||||||
change_player_nick(old, new)
|
change_player_nick(old, new)
|
||||||
|
|
||||||
elif event == events.join:
|
elif event == events.join:
|
||||||
nick, = args
|
if len(args) == 2:
|
||||||
if nick not in players:
|
nick, message = args
|
||||||
add_player(nick)
|
|
||||||
voice(nick)
|
if nick not in players:
|
||||||
send('%s has joined' % nick)
|
add_player(nick)
|
||||||
|
voice(nick)
|
||||||
|
|
||||||
|
players[nick].message = message
|
||||||
|
send('%s has joined %s' % (nick, message))
|
||||||
else:
|
else:
|
||||||
send('%s has already joined' % nick)
|
nick, = args
|
||||||
|
|
||||||
|
if nick not in players:
|
||||||
|
add_player(nick)
|
||||||
|
voice(nick)
|
||||||
|
|
||||||
|
players[nick].message = None
|
||||||
|
send('%s has joined' % nick)
|
||||||
|
|
||||||
elif event == events.leave:
|
elif event == events.leave:
|
||||||
nick, = args
|
nick, = args
|
||||||
|
@ -934,7 +947,16 @@ def game(send, notice, voice, devoice, get_event):
|
||||||
|
|
||||||
winners = [i for i in players_bots() if i.points == max_score]
|
winners = [i for i in players_bots() if i.points == max_score]
|
||||||
|
|
||||||
send('We have a winner! %s' % ', '.join(i.nick for i in winners))
|
if len(winners) == 1:
|
||||||
|
winner, = winners
|
||||||
|
|
||||||
|
if winner.message is not None:
|
||||||
|
send('We have a winner! %s won %s' % (winner.nick, winner.message))
|
||||||
|
else:
|
||||||
|
send('We have a winner! %s' % winner.nick)
|
||||||
|
|
||||||
|
else:
|
||||||
|
send('We have the winners! %s' % ', '.join(i.nick for i in winners))
|
||||||
|
|
||||||
return no_game
|
return no_game
|
||||||
|
|
||||||
|
@ -989,6 +1011,10 @@ if __name__ == '__main__':
|
||||||
elif t == 'join':
|
elif t == 'join':
|
||||||
nick = input('nick> ')
|
nick = input('nick> ')
|
||||||
return (events.join, nick)
|
return (events.join, nick)
|
||||||
|
elif t == 'join_message':
|
||||||
|
nick = input('nick> ')
|
||||||
|
message = input('message> ')
|
||||||
|
return (events.join, nick, message)
|
||||||
elif t == 'leave':
|
elif t == 'leave':
|
||||||
nick = input('nick> ')
|
nick = input('nick> ')
|
||||||
return (events.leave, nick)
|
return (events.leave, nick)
|
||||||
|
|
Loading…
Reference in a new issue