Reputation:
Im using TLSharp API Client for sending messages to groups, TLSharp is C#, but im trying to use it for VB.NET
C# Code:
//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");
My VB.NET Code:
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")
The error i get:
Could not find public member 'GetAwaiter' in type 'TLDialogs'.'
I know it's not practical to convert it to vb.net, but I need it to integrate it into a project written in vb
Upvotes: 0
Views: 364
Reputation: 62
I don't think that the client.GetUserDialogsAsync()
method returns anything that is awaitable, so you should probably only have one Await
in the line Dim dialogs = Await ((Await client.GetUserDialogsAsync()))
, and it may also require a cast:
Dim dialogs = DirectCast(Await client.GetUserDialogsAsync(), TLDialogsSlice)
Upvotes: 1