break
else:
for member in client.get_all_members():
- if target and member.name != target:
- continue
+ if target:
+ parts = target.lower().split('#')
+ if member.name.lower() != parts[0]:
+ continue
+ if len(parts) > 1 and member.discriminator != parts[1]:
+ continue
results.append(member)
if do & Identify.role.value:
if role_id:
else:
for server in client.servers:
for role in server.roles:
- if target and role.name != target:
+ if target and role.name.lower() != target.lower():
continue
results.append(role)
if do & Identify.channel.value:
results.append(channel)
else:
for channel in client.get_all_channels():
- if target and channel.name != target:
+ if target and channel.name.lower() != target.lower():
continue
results.append(channel)
- yield from say_many(destination, ['{} {} {}'.format(Identify.string(result), result.id, result.name) for result in results])
+ yield from say_many(destination, ['{} {} {}'.format(Identify.string(result), result.id, result.name) for result in set(results)])
@asyncio.coroutine
def do_commands(message, command, raw, non_admin):