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,))
|
||||
|
||||
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))
|
||||
|
||||
elif c == '!leave':
|
||||
|
@ -309,6 +311,8 @@ def parse_command(message, nick, irc):
|
|||
send('Usage: !%s' % (arg[0]))
|
||||
elif arg[0] == 'start':
|
||||
send('Usage: !start [<preset>]')
|
||||
elif arg[0] == 'join':
|
||||
send('Usage: !join [<message>]')
|
||||
elif arg[0] == 'kick':
|
||||
send('Usage: !kick <nick>')
|
||||
elif arg[0] == 'card':
|
||||
|
|
40
gameloop.py
40
gameloop.py
|
@ -28,6 +28,7 @@ class Player:
|
|||
|
||||
self.hand = []
|
||||
self.points = 0
|
||||
self.message = None
|
||||
|
||||
def __repr__(self):
|
||||
if __name__ == '__main__':
|
||||
|
@ -44,6 +45,7 @@ class Rando:
|
|||
|
||||
self.hand = []
|
||||
self.points = 0
|
||||
self.message = None
|
||||
|
||||
def num_need_cards(self, num_blanks):
|
||||
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)
|
||||
|
||||
elif event == events.join:
|
||||
nick, = args
|
||||
if nick not in players:
|
||||
add_player(nick)
|
||||
voice(nick)
|
||||
send('%s has joined' % nick)
|
||||
if len(args) == 2:
|
||||
nick, message = args
|
||||
|
||||
if nick not in players:
|
||||
add_player(nick)
|
||||
voice(nick)
|
||||
|
||||
players[nick].message = message
|
||||
send('%s has joined %s' % (nick, message))
|
||||
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:
|
||||
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]
|
||||
|
||||
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
|
||||
|
||||
|
@ -989,6 +1011,10 @@ if __name__ == '__main__':
|
|||
elif t == 'join':
|
||||
nick = input('nick> ')
|
||||
return (events.join, nick)
|
||||
elif t == 'join_message':
|
||||
nick = input('nick> ')
|
||||
message = input('message> ')
|
||||
return (events.join, nick, message)
|
||||
elif t == 'leave':
|
||||
nick = input('nick> ')
|
||||
return (events.leave, nick)
|
||||
|
|
Loading…
Reference in a new issue