2016-03-03 6 views
3

У меня есть один вопрос, пожалуйста;TLSharp - у кого-нибудь есть пример?

Как я могу сделать класс или метод с помощью API Telegram: https://core.telegram.org/methods от TLSharp Class? в TLSharpTest.cs я есть несколько примеров, но я не могу понять, как я могу писать Телеграмма API в C# :(

, если я хочу получить сообщение, что мне делать?

из curce я стараюсь от Пример в https://github.com/sochix/TLSharp#contributing , но в этом методе:

public InitConnectionRequest(int someParameter) 
{ 
_someParameter = someParameter; 
} 

говорят: метод должен иметь тип возвращаемого,

почему

+1

Их пример неправильно. Конструктор должен быть «public ExampleRequest (int someParameter)». – piedar

+0

да, танк вас; –

+0

API обычно является исполняемым DLL-файлом, который очень похож на файл .exe. Обе библиотеки DLL имеют один и тот же набор библиотечных файлов, но они немного отличаются друг от друга. И в некоторых случаях вы используете файл .exe вместо dll в зависимости от параметров сборки. Вы даже можете преобразовать exe в dll. Компилятор microsoft создает объекты, а затем объединяет .obj в исполняемые файлы/библиотеки. Dll - это библиотека, а exe - исполняемый файл, содержащий одни и те же скомпилированные объекты. – jdweng

ответ

0

Практические примеры в моем проекте: https://github.com/UnoSD/TgMsgSharp

Я использовал TLSharp для резервного копирования сообщений Telegram. Вы должны создать экземпляр TelegramClient, подключиться, запросить код auth, создать auth с кодом, а затем вы можете вызвать все методы в TelegramClient.

Остерегайтесь того, что не все методы из вашей Telegram (вы ссылаетесь) поддерживаются, их доступно всего несколько.

1

Ага Мехди,

Этот пример очень полезен:

using TeleSharp.TL; 
using TLSharp; 
using TLSharp.Core; 

namespace TelegramSend 
{ 

    public partial class Form1 : Form 
    { 
     public Form1() 
    { 
     InitializeComponent(); 
    } 


    TelegramClient client; 

    private async void button1_Click(object sender, EventArgs e) 
    { 
     client = new TelegramClient(<your api_id>, <your api_key>); 
     await client.ConnectAsync(); 
    } 

    string hash; 

    private async void button2_Click(object sender, EventArgs e) 
    { 
     hash = await client.SendCodeRequestAsync(textBox1.Text); 
     //var code = "<code_from_telegram>"; // you can change code in debugger 


    } 

    private async void button3_Click(object sender, EventArgs e) 
    { 
     var user = await client.MakeAuthAsync(textBox1.Text, hash, textBox2.Text); 
    } 

    private async void button4_Click(object sender, EventArgs e) 
    { 

     //get available contacts 
     var result = await client.GetContactsAsync(); 

     //find recipient in contacts 
     var user = result.users.lists 
      .Where(x => x.GetType() == typeof(TLUser)) 
      .Cast<TLUser>() 
      .Where(x => x.first_name == "ZRX"); 
     if (user.ToList().Count != 0) 
     { 
      foreach (var u in user) 
      { 
       if (u.phone.Contains("3965604")) 
       { 
        //send message 
        await client.SendMessageAsync(new TLInputPeerUser() { user_id = u.id }, textBox3.Text); 
       } 
      } 
     } 

    } 
}} 
+0

Вы когда-либо настраивали обновления с помощью tlsharp? –