电报API客户端找不到组/发送消息



我使用TLSharp API客户端向组发送消息,TLSharp是C#,但我试图使用它来 VB.NET

C# 代码:

//get user dialogs
var dialogs = (TLDialogsSlice) await client.GetUserDialogsAsync();
//find channel by title
var chat = dialogs.Chats
.Where(c => c.GetType() == typeof(TLChannel))
.Cast<TLChannel>()
.FirstOrDefault(c => c.Title == "<channel_title>");
//send message
await client.SendMessageAsync(new TLInputPeerChannel() { ChannelId = chat.Id, AccessHash = chat.AccessHash.Value }, "OUR_MESSAGE");

我的 VB.NET 代码:

Dim dialogs = Await ((Await client.GetUserDialogsAsync()))
Dim chat = dialogs.Chats.lists.Where(Function(c) c.[GetType]() = GetType(TLChat)).Cast(Of TLChat)().FirstOrDefault(Function(c) c.title = "Group1")
Dim ChatId
Await client.SendMessageAsync(New TLInputPeerChat() {ChatId = chat.Id}, "TEST MSG")

我得到的错误:

在类型"TLDialogs"中找不到公共成员"GetAwaiter"。

我知道将其转换为 vb.net 是不切实际的,但我需要它将其集成到用 vb 编写的项目中

我不认为client.GetUserDialogsAsync()方法返回任何可等待的内容,因此您可能应该在行中只有一个AwaitDim dialogs = Await ((Await client.GetUserDialogsAsync())),并且可能还需要强制转换:

Dim dialogs = DirectCast(Await client.GetUserDialogsAsync(), TLDialogsSlice)

最新更新