@@ -83,8 +83,13 @@ pub fn format_mentions_in<S: AsRef<str>>(
8383 MessageSpan :: Mention ( mention_type, raw) => match mention_type {
8484 MentionType :: Channel ( id) => {
8585 let cow = cache
86- . guild_channel ( id)
87- . map ( |channel| Cow :: from ( format ! ( "#{}" , channel. name( ) ) ) )
86+ . channel ( id)
87+ . and_then ( |channel| {
88+ channel
89+ . name
90+ . as_ref ( )
91+ . map ( |channel_name| Cow :: from ( format ! ( "#{}" , channel_name) ) )
92+ } )
8893 // Throughout this function we fallback to the raw, unformatted
8994 // text if we're unable to fetch relevant info from the cache
9095 . unwrap_or_else ( || Cow :: from ( raw) ) ;
@@ -316,30 +321,43 @@ mod sanitize_for_markdown {
316321mod content_format_mentions {
317322 use twilight_gateway:: Event ;
318323 use twilight_model:: {
319- channel:: { Channel , ChannelType , GuildChannel , TextChannel } ,
324+ channel:: { Channel , ChannelType } ,
320325 gateway:: payload,
321326 guild:: { Permissions , Role } ,
322327 } ;
323328
324329 use super :: * ;
325330
326331 fn make_text_channel ( ) -> Event {
327- Event :: ChannelCreate ( payload:: incoming:: ChannelCreate ( Channel :: Guild (
328- GuildChannel :: Text ( TextChannel {
329- id : Id :: new ( 1234 ) ,
330- guild_id : Some ( Id :: new ( 1 ) ) ,
331- kind : ChannelType :: GuildText ,
332- last_message_id : None ,
333- last_pin_timestamp : None ,
334- name : "test-channel" . into ( ) ,
335- nsfw : false ,
336- permission_overwrites : vec ! [ ] ,
337- parent_id : None ,
338- position : 0 ,
339- rate_limit_per_user : None ,
340- topic : Some ( "a test channel" . into ( ) ) ,
341- } ) ,
342- ) ) )
332+ Event :: ChannelCreate ( Box :: new ( payload:: incoming:: ChannelCreate ( Channel {
333+ application_id : None ,
334+ bitrate : None ,
335+ default_auto_archive_duration : None ,
336+ guild_id : Some ( Id :: new ( 1 ) ) ,
337+ icon : None ,
338+ id : Id :: new ( 1234 ) ,
339+ invitable : None ,
340+ kind : ChannelType :: GuildText ,
341+ last_message_id : None ,
342+ last_pin_timestamp : None ,
343+ member : None ,
344+ member_count : None ,
345+ message_count : None ,
346+ name : Some ( "test-channel" . into ( ) ) ,
347+ newly_created : None ,
348+ nsfw : None ,
349+ owner_id : None ,
350+ parent_id : None ,
351+ permission_overwrites : None ,
352+ position : None ,
353+ rate_limit_per_user : None ,
354+ recipients : None ,
355+ rtc_region : None ,
356+ thread_metadata : None ,
357+ topic : None ,
358+ user_limit : None ,
359+ video_quality_mode : None ,
360+ } ) ) )
343361 }
344362
345363 fn make_role ( ) -> Event {
0 commit comments