2017-03-08 82 views

回答

-1
var dialogs = (TLDialogs) await client.GetUserDialogsAsync(); 

     var channel = dialogs.chats.lists 
      .OfType<TLChannel>() 
      .FirstOrDefault(c => c.title == "channelName"); 

      long access_hash = (long) channel.access_hash; 
+0

虽然这段代码可以解决这个问题,但是[包括解释](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)确实有助于提高你的帖子的质量。请记住,您将来会为读者回答问题,而这些人可能不知道您的代码建议的原因。也请尽量不要用解释性注释来挤占代码,这会降低代码和解释的可读性! – kayess

+0

嗨Amirhossein和谢谢你的回答,但正如我描述的问题,我只是有一个channel_id,我没有渠道名称 顺便说一句,如果你描述什么是你的代码中的chatsingle? –

0

此代码的工作100%:-)

 var channelInfo = (await client.SendRequestAsync<TeleSharp.TL.Contacts.TLResolvedPeer>(
      new TeleSharp.TL.Contacts.TLRequestResolveUsername 
       { 
       username = "ChannelID" 
       }).ConfigureAwait(false)).chats.lists[0] as TeleSharp.TL.TLChannel; 

      var Request = new TeleSharp.TL.Channels.TLRequestJoinChannel() 
      { 
       channel = new TLInputChannel 
       { 
        channel_id = channelInfo.id, 
        access_hash = (long) channelInfo.access_hash 
       } 
      }; 
      try 
      { 
       var Respons = await client.SendRequestAsync<Boolean>(Request); 
      } 
      catch (exception ex) 
      { 

      } 
+0

你的代码和频道的用户名一起工作,但我只有channel_id。你知道我想加入他们的消息转发到特定频道的频道。在这种情况下,我只有整数变量,它是channel_id。感谢您的回答。 : - / –

相关问题