2016-03-03 91 views
3

我有一个问题,请;TLSharp - 有人有例子吗?

我怎么可以使类或方法与电报API如:https://core.telegram.org/methods从TLSharp类? 在TLSharpTest.cs我有一些例子,但我不明白我怎么能在C#:(

,如果我想收到的消息,我做什么?

课教法新探我从尝试写电报API例如,在https://github.com/sochix/TLSharp#contributing 但这种方法:

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

说:?方法必须有一个返回类型,

为什么

+1

他们的榜样是错误的。构造函数应该是'public ExampleRequest(int someParameter)'。 – piedar

+0

是的,坦克你; –

+0

API通常是一个与.exe文件非常相似的dll可执行文件。这两个dll都有相同的库文件集合,但组织方式稍有不同。在某些情况下,您使用.exe文件而不是dll,具体取决于构建选项。你甚至可以将exe文件转换为dll文件。微软编译器创建对象,然后将.obj合并到可执行文件/库。 DLL是一个库,而EXE是一个包含相同编译对象的可执行文件。 – jdweng

回答

0

您可以在我的项目中找到实际示例:https://github.com/UnoSD/TgMsgSharp

我已经使用TLSharp来备份电报消息。你应该创建一个TelegramClient的实例,连接,请求认证码,创建一个包含代码的认证,然后你可以调用TelegramClient上的所有方法。

请注意,并非您的电报中的所有方法(您链接)都受支持,只有少数可用。

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安装更新? –

相关问题