TLSharp - 有人有例子吗?

时间:2016-03-03 16:42:38

标签: c# telegram

我有一个问题;

如何使用来自TLSharp Class的电话API(https://core.telegram.org/methods)制作类或方法? 在TLSharpTest.cs我有一些例子,但我无法理解我如何在C#中编写Telegram API :(

如果我想收到消息,我该怎么办?

我试过https://github.com/sochix/TLSharp#contributing中的示例 但是在这种方法中:

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

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

为什么?

2 个答案:

答案 0 :(得分:2)

Agha Mehdi,

这个例子非常有用:

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);
                }
            }
        }

    }
 }}

答案 1 :(得分:0)

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

我使用TLSharp来备份Telegram消息。您应该创建TelegramClient的实例,连接,请求auth代码,使用代码创建auth,然后您可以调用TelegramClient上的所有方法。

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