@@ -97,9 +97,10 @@ async def get_or_create_discord_channel_by_name(client: discord.Client,
9797 channel_type : discord .ChannelType ,
9898 category : discord .CategoryChannel = None ) -> \
9999 Union [discord .VoiceChannel , discord .TextChannel , discord .CategoryChannel , None ]:
100+ channel_name_normalized = normalize_channel_name (channel_name = channel_name )
100101 channels = await get_all_discord_channels (client = client , guild_id = guild_id , channel_type = channel_type )
101102 for channel in channels :
102- if channel .name == channel_name :
103+ if normalize_channel_name ( channel_name = channel .name ) == channel_name_normalized :
103104 if category and channel .category != category :
104105 continue
105106 return channel
@@ -140,10 +141,11 @@ async def get_or_create_discord_category_by_name(client: discord.Client,
140141 guild_id : int ,
141142 category_name : str ) -> discord .CategoryChannel :
142143 logging .debug (f"Getting { quote (category_name )} category" )
144+ category_name_normalized = normalize_category_name (category_name = category_name )
143145 categories = await get_all_discord_channels (client = client , guild_id = guild_id ,
144146 channel_type = discord .ChannelType .category )
145147 for category in categories :
146- if category .name == category_name :
148+ if normalize_category_name ( category_name = category .name ) == category_name_normalized :
147149 return category
148150
149151 logging .error (f"Could not load { category_name } category. Attempting to create..." )
@@ -248,3 +250,16 @@ def normalize_channel_name(channel_name: str) -> str:
248250 channel_name = channel_name .replace (" " , "" ) # Remove any weird space characters in the name
249251 channel_name = channel_name .lower ()
250252 return channel_name
253+
254+
255+ def normalize_category_name (category_name : str ) -> str :
256+ """
257+ Normalize a Discord category name.
258+ :param category_name: The original category name
259+ :return: Normalized category name
260+ """
261+ category_name = category_name .strip () # Remove leading and trailing spaces
262+ category_name = strip_phantom_space (string = category_name ) # Remove phantom spaces
263+ category_name = category_name .replace (" " , "" ) # Remove any weird space characters in the name
264+ category_name = category_name .lower ()
265+ return category_name
0 commit comments