使用TLSharp测试连接

时间:2017-06-27 15:18:07

标签: c# telegram

我正在尝试使用TLSharp发送消息但不能,我不会收到错误,只是执行代码而什么都不做;

这是我的方法。

public virtual async Task SendMessageTest()
        {
            string NumberToSendMessage = "+55199999999";
            if (string.IsNullOrWhiteSpace(NumberToSendMessage))
                throw new Exception("TESTE");

            // this is because the contacts in the address come without the "+" prefix
            var normalizedNumber = NumberToSendMessage.StartsWith("+") ?
                NumberToSendMessage.Substring(1, NumberToSendMessage.Length - 1) :
                NumberToSendMessage;

            var client = NewClient();
            var tsk = client.ConnectAsync();
            await client.ConnectAsync();


            var result = await client.GetContactsAsync();

            var user = result.users.lists
                .OfType<TLUser>()
                .FirstOrDefault(x => x.phone == normalizedNumber);

            if (user == null)
            {
                throw new System.Exception("Number was not found in Contacts List of user: " + NumberToSendMessage);
            }

            await client.SendTypingAsync(new TLInputPeerUser() { user_id = user.id });
            Thread.Sleep(3000);
            await client.SendMessageAsync(new TLInputPeerUser() { user_id = user.id }, "TEST");
        }

这是我的代码,是说等待激活,我该怎么办?

enter image description here

我也试图使用这种方法,但它也没有返回任何东西。 我是TelegramApi的新手,我做错了什么?

await client.ConnectAsync();

1 个答案:

答案 0 :(得分:0)

你应该先授权!只有在那之后你才能调用其他方法。看at the examples here

一般来说,你应该写这样的东西:

public static void main(String[] args) {
    double avg = Arrays.stream(new int[]{1,3,2,5,8}).average().getAsDouble();

    System.out.println("avg: " + avg);
}