def valid_rank(argument, *, _rank=_rank):
m = _rank.match(argument.strip('"'))
if m is None:
raise commands.BadArgument('Could not figure out mode or rank.')
mode = m.group('mode')
valid = {
'zones': 'Splat Zones',
'splat zones': 'Splat Zones',
'sz': 'Splat Zones',
'zone': 'Splat Zones',
'splat': 'Splat Zones',
'tower': 'Tower Control',
'control': 'Tower Control',
'tc': 'Tower Control',
'tower control': 'Tower Control',
'rain': 'Rainmaker',
'rainmaker': 'Rainmaker',
'rain maker': 'Rainmaker',
'rm': 'Rainmaker'
}
try:
mode = valid[mode.lower()]
except KeyError:
raise commands.BadArgument(f'Unknown Splatoon 2 mode: {mode}') from None
rank = m.group('rank').upper()
number = m.group('number')
if number:
number = int(number)
return mode, { 'rank': rank, 'number': number }
评论列表
文章目录