-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDis_Lookup.py
More file actions
51 lines (44 loc) · 1.61 KB
/
Dis_Lookup.py
File metadata and controls
51 lines (44 loc) · 1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import discord
async def search_player(guild, search_term):
"""
Search for a player based on user ID, username, discord.member object, etc...
Parameters:
- guild: discord.Guild, guild (server) you are searching in.
- search_term: Union[str, int, discord.Member], the term to search for.
Returns:
- A list of the form: [discord.Member, user_ID, user_name, guild_nickname]
missing data will be type None
"""
print(f"Looking up player with arg: {search_term}")
try:
if search_term.startswith("<@"):
search_term = search_term.strip("<@").strip(">")
print(f"search_term stripped to: {search_term}")
search_term = int(search_term)
except AttributeError:
pass
if isinstance(search_term, discord.Member):
for member__ in guild.members:
if member__ == search_term:
out = [member__]
return out
elif isinstance(search_term, int):
for member__ in guild.members:
if member__.id == search_term:
out = [member__]
return out
elif isinstance(search_term, str):
for member__ in guild.members:
if member__.global_name == search_term:
out = [member__]
return out
for member__ in guild.members:
if member__.display_name == search_term:
out = [member__]
return out
for member__ in guild.members:
if member__.name == search_term:
out = [member__]
return out
else:
return None