forked from nortti/tea_cah
Add !kick
This commit is contained in:
parent
81f618cabc
commit
819803d998
12
botcmd.py
12
botcmd.py
|
@ -184,6 +184,12 @@ def parse_command(message, nick, irc):
|
|||
if args(0) is not None:
|
||||
send_event((events.players,))
|
||||
|
||||
elif c == '!kick':
|
||||
arg = args(1)
|
||||
if arg is not None:
|
||||
kickee, = arg
|
||||
send_event((events.kick, nick, kickee))
|
||||
|
||||
elif c == '!deck':
|
||||
if len(message) < 2:
|
||||
send('Subcommands: !deck add | remove | list')
|
||||
|
@ -268,13 +274,15 @@ def parse_command(message, nick, irc):
|
|||
arg[0] = arg[0][1:]
|
||||
|
||||
if len(arg) == 0:
|
||||
send('!status !start !ready !unready !kill !join !leave !players !deck !limit !card !cards !origins')
|
||||
send('!status !start !ready !unready !kill !join !leave !players !kick !deck !limit !card !cards !origins')
|
||||
|
||||
elif len(arg) == 1:
|
||||
if arg[0] in ('status', 'ready', 'unready', 'kill', 'join', 'leave', 'players', 'cards', 'origins'):
|
||||
send('Usage: !%s' % (arg[0]))
|
||||
elif arg[0] == 'start':
|
||||
send('Usage: !start [preset]')
|
||||
send('Usage: !start [<preset>]')
|
||||
elif arg[0] == 'kick':
|
||||
send('Usage: !kick <nick>')
|
||||
elif arg[0] == 'card':
|
||||
send('Usage: [!card] <number> ...')
|
||||
elif arg[0] == 'deck':
|
||||
|
|
21
gameloop.py
21
gameloop.py
|
@ -5,10 +5,9 @@ from collections import namedtuple
|
|||
import cardcast_api
|
||||
|
||||
# TODO: rando
|
||||
# TODO: !kick
|
||||
|
||||
class events(enum.Enum):
|
||||
quit, nick_change, status, start, ready, unready, kill, join, leave, players, deck_add, deck_add_random, deck_remove, deck_list, limit, card, cards, origins = range(18)
|
||||
quit, nick_change, status, start, ready, unready, kill, join, leave, players, kick, deck_add, deck_add_random, deck_remove, deck_list, limit, card, cards, origins = range(19)
|
||||
|
||||
class limit_types(enum.Enum):
|
||||
points, rounds = range(2)
|
||||
|
@ -238,6 +237,20 @@ def game(send, notice, voice, devoice, get_event):
|
|||
elif event == events.players:
|
||||
list_players()
|
||||
|
||||
elif event == events.kick:
|
||||
kicker, kickee = args
|
||||
|
||||
if kicker not in players:
|
||||
# Ignore those not in the game
|
||||
pass
|
||||
|
||||
elif kickee not in players:
|
||||
send('No such player %s' % kickee)
|
||||
|
||||
elif errwrapper('Could not remove player %s (%%s)' % kickee, remove_player, kickee) is not Error:
|
||||
devoice(kickee)
|
||||
send('%s has been remove from the game' % kickee)
|
||||
|
||||
elif event == events.deck_add:
|
||||
code, = args
|
||||
deck_add_handler(code)
|
||||
|
@ -890,6 +903,10 @@ if __name__ == '__main__':
|
|||
return (events.leave, nick)
|
||||
elif t == 'players':
|
||||
return (events.players,)
|
||||
elif t == 'kick':
|
||||
kicker = input('kicker> ')
|
||||
kickee = input('kickee> ')
|
||||
return (events.kick, kicker, kickee)
|
||||
elif t == 'deck add':
|
||||
code = input('code> ')
|
||||
return (events.deck_add, code)
|
||||
|
|
Loading…
Reference in New Issue