2017-03-11 40 views
5

łączę do Telegram API z tym C# biblioteki: TLSharpwiadomość Forwarding z biblioteką TLSharp (C#)

zasobów dla tej biblioteki nie jest wystarczająca, staram się przekazać wiadomość do kanału.

Nie jestem pewien cichy jak uzyskać kanał pocztowy peer ID (w przód parametrów wejściowych funkcji)

var store = new FileSessionStore(); 
      var client = new TelegramClient(Properties.Settings.Default.apiID, Properties.Settings.Default.apiHash, store, "session"); 
      await client.ConnectAsync(); 
      var dialogs = (TLDialogs)await client.GetUserDialogsAsync(); 
      var chat = dialogs.chats.lists 
       .OfType<TLChannel>() 
       .SingleOrDefault(a=>a.title=="test"); 
      await client.SendRequestAsync<TLAbsUpdates>(
           new TLRequestForwardMessage() 
           { 
            id = 2, 
            peer = new TLInputPeerChannel() { channel_id = chat.id, access_hash = chat.access_hash.Value }, 
            random_id = Helpers.GenerateRandomLong() 
           }); 

otrzymuję komunikat o błędzie:

{ "PEER_ID_INVALID"}

Proszę mi pomóc, jaki jest ten identyfikator peer i jak mogę uzyskać do niego dostęp i użyć go do przekazania wiadomości za pomocą TLSharp. Dzięki.

+0

Czy jesteś właścicielem tego kanału? –

+0

@CharlesOkwuagwu Tak, mamy ten kanał i grupa – Farzad

Odpowiedz

2

Kod ten może być stosowany do przodu

**

await client.SendRequestAsync<TLAbsUpdates>(new TLRequestForwardMessage() { id = item2.Id, peer = new TLInputPeerChat() { chat_id = item.id }, random_id = Helpers.GenerateRandomLong(), }); 
--------------------------------------- 

** ---------------------------------

+0

przepraszam, jaki typ są item i item2? (TLMessage lub TLChannel lub TLChat) –

3

można zrobić z tym miłym podstęp, który jest zabawne: Ten kod jest poniżej:

new TLInputPeerChannel { channel_id = chat.id, access_hash = cha.access_hash.Value }, offset, 
       maxId, limit);